java - Camera2 api 将相机切换为正常和黑白

标签 java android java-native-interface android-camera2

我是开发这个模块的camera2 api新手,我有用c编码的jni文件,并且正在开发一个普通的黑白相机。当切换到黑白时相机是这样的有人在camera2 api中这样做过吗?

enter image description here

最佳答案

好的!所以你要寻找的是改变你的相机的模式

为了实现这一点,您可以使用Camera.Parameters,您可以使用颜色效果中的EFFECT_MONO(单色)来获取黑白图像...

要使相机参数生效,应用程序必须调用Camera#setParameters(Camera.Parameters)。 例如,在调用 Camera.Parameters#setWhiteBalance 后,白平衡实际上不会更改,直到使用更改后的参数对象调用 Camera#setParameters(Camera.Parameters) 为止。以下是示例代码供您引用

mCameraDevPara.setColorEffect(android.hardware.Camera.Parameters.EFFECT_MONO);
mCameraDev.setParameters(mCameraDevPara);

对于camera2api,您可以通过CaptureRequest实现这些,它有方法CONTROL_EFFECT_MODE应用特殊的颜色效果。

When this mode is set, a color effect will be applied to images produced by the camera device. The interpretation and implementation of these color effects is left to the implementor of the camera device, and should not be depended on to be consistent (or present) across all devices.

更多引用GO here.

提示: 不同的设备可能具有不同的相机功能,例如图片尺寸或闪光模式。应用程序应在设置参数之前查询相机功能。 例如,应用程序应该调用

Camera.Parameters#getSupportedColorEffects()

打电话之前

Camera.Parameters#setColorEffect(String)

。 如果相机不支持色彩效果,

Camera.Parameters#getSupportedColorEffects()

将返回 null。

关于java - Camera2 api 将相机切换为正常和黑白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40145500/

相关文章:

java - 比较器<Object> 可打包

使用 -h 选项时 javac "no source files"

java - 通过 JNI 在 C 中创建匿名 java 类?

java - 当我做任何事情时 JNI 崩溃 :S

java - 初学者对REST服务中POST方法的困惑

java - 存储应用程序设置的最佳方式是什么? (MVC)

java - 如何修复错误 : Plugin with id 'com.google.gms:google-services:4.2.0' not found

android - Codename One 中的按钮在 Android 实际设备上处于非 Activity 状态,但在模拟器下工作

java - Hibernate标准问题: could not resolve property:

java - 我想使用Java 7的FileVisitor来爬树