- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须在 Google Vision API 的 CameraSource 中实现来构建相机并在捕获图像之前进行面部检测。现在我遇到了一些问题,所以我需要从 CameraSource 访问相机对象。
这是我的 CameraSource Builder
mCameraSource = new CameraSource.Builder(context, detector)
.setRequestedPreviewSize(640, 480)
.setFacing(CameraSource.CAMERA_FACING_FRONT)
.setRequestedFps(30.0f)
.build();
这里我必须尝试从 mCameraSource 对象访问/获取相机。
Field[] declaredFields = CameraSource.class.getDeclaredFields();
for (Field field : declaredFields) {
if (field.getType() == Camera.class) {
field.setAccessible(true);
try {
Camera camera = (Camera) field.get(mCameraSource);
if (camera != null) {
Camera.Parameters params = camera.getParameters();
params.setExposureCompensation(1500);
camera.setParameters(params);
}
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
但相机
仅返回null,我的第二个问题是如何进行亮度选项...
if (camera != null) {
Camera.Parameters params = camera.getParameters();
params.setExposureCompensation(1500);
camera.setParameters(params);
}
最佳答案
我必须这样实现我的目标,
相机亮度级别为 -12 到 12。因此最小亮度级别为 -12,最大亮度级别为 12。
现在我必须自定义 CameraSourcePreview 构造函数,例如
private int defaultBrightness = 12;
public CameraSourcePreview(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
mStartRequested = false;
mSurfaceAvailable = false;
mSurfaceView = new SurfaceView(context);
mSurfaceView.getHolder().addCallback(new SurfaceCallback());
addView(mSurfaceView);
mSurfaceView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
cameraFocus(mCameraSource, brightness);
}
});
}
private static boolean cameraFocus(@NonNull CameraSource cameraSource, int brightness) {
Field[] declaredFields = CameraSource.class.getDeclaredFields();
for (Field field : declaredFields) {
if (field.getType() == Camera.class) {
field.setAccessible(true);
try {
Camera camera = (Camera) field.get(cameraSource);
if (camera != null) {
Camera.Parameters params = camera.getParameters();
params.setExposureCompensation(brightness);
camera.setParameters(params);
return true;
}
return false;
} catch (IllegalAccessException e) {
e.printStackTrace();
}
break;
}
}
return false;
}
然后我必须通过seekbar来实现动态亮度调节。
喜欢
seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
cameraFocus(mCameraSource,i-12);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
seekbar xml代码
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="24"
android:layout_gravity="center_vertical"/>
终于,我找到了解决方案......:)
关于java - 从 com.google.android.gms.vision.CameraSource 访问相机并增加/减少预览亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49752955/
我有两个安卓设备。 CameraSource 对他们的工作方式不同。对于一台设备,照片的方向在保存后没有旋转是正确的。但是对于另一台设备,保存的照片方向错误。 我已经创建了 CameraSource:
当我想使用相机拍照时,CameraSource 出现了一些问题。我想要的只是用我在 xml 文件上制作的按钮拍照并使用“CameraSource”拍照,因为我也在使用“TextRecognizer”。
我正在实现 google-vision face tracker 中给出的示例.MyFaceDetector 类: public class MyFaceDetector extends Detect
我正在使用视觉 API 来跟踪人脸。我根据面部位置应用了一个蒙版。当我从前置摄像头拍照时,我调用 camerasource.takePicture() 来保存图像。我在某些设备(如三星)中面临图像旋转
我一直在关注以下tutorial ,它使用移动视觉 api 创建条形码/二维码扫描仪。虽然我已经输入了它所说的确切代码(至少我认为),但来自 cameraSource 的摄像头馈送。 我在这个过程中添
我正在使用 google vision api 构建一个具有二维码扫描仪的应用程序。读取二维码后我无法停止相机。流程是 MainActivity -> QrActivity一旦二维码收到检测,应用程序
我使用 Vision API 扫描条码。几乎完成了,除了自动对焦。我遵循此链接中的指南:https://developers.google.com/android/reference/com/goog
背景:我正在实现一个 mask 来帮助人们聚焦他们的相机并在每张照片上产生统一的结果。可悲的是, mask 需要在前后摄像头之间切换时调整其大小,以便为人们提供很好的指导。 问题:我一直在尝试检测相机
我正在开发一个 android 应用程序,它允许用户检查 QR 码内容并根据读取结果执行某些操作。 为了提高性能,我想实现两种方法: onClickFocus(允许用户在点击屏幕时对焦相机) 打开/关
我有一个初始化条形码检测的 Activity 。然后我转到另一个 Activity ,当我按下后退按钮时,它会触发此异常的循环: com.example.myapp E/CameraSource: E
我正在尝试开发一个带有人脸检测功能的简单相机应用程序,我正在使用这里的 android-vision 示例 https://github.com/googlesamples/android-visio
现在,我们的应用程序正在成功运行 Snapdragon SDK。我们正在尝试在我们的项目中实现 Vision 8.3.0 中的 FaceDetector,以增加兼容设备的数量。我们不能使用 Camer
我已从此处查看最新的 Google Vision API: https://github.com/googlesamples/android-vision 我在带有 KitKat 的 LG G2 设备
基于 Google Vision Face Tracker 的面部追踪器应用程序.默认情况下,Face Tracker 使用后置/后置摄像头,但我想使用前置摄像头检测人脸。 这是google visi
移动视觉API中的setRequestedFps是什么意思。 相机代码: mCameraSource = new CameraSource.Builder(getApplica
这个问题是关于使用 Google's Mobile Vision Face API在 Android 上。 故事(背景)和我想做的事 我正在尝试实现一个功能,该功能可以检测相机 View 中的人脸,并
我必须在 Google Vision API 的 CameraSource 中实现来构建相机并在捕获图像之前进行面部检测。现在我遇到了一些问题,所以我需要从 CameraSource 访问相机对象。
我正在尝试抓取相机捕获的帧,对它们进行编码,最后使用 RTP/RTSP 发送它们。 为了进行捕捉,我使用了 stagefright 的 CameraSource 类。屏幕上的预览(从 Java 传递的
下面是我的条形码扫描器 Activity ,除了 setAutoFocusEnabled(true) 之外一切正常。它在运行时返回一条消息,指出我的设备不支持自动对焦,尽管 Samsung Tab E
我是一名优秀的程序员,十分优秀!