PictureCallback在' onPictureTaken'中获取byte []数据。但它与我在CameraView中看到的图像不匹配。

时间:2014-07-09 21:33:05

标签: android image opencv android-camera face-detection

我在我的Android应用程序中使用opencv面部检测。我面临的问题如下。我的班级实施' PictureCallback'获取' onPictureTaken'中的byte []数据但它与我在CameraView中看到的图像不匹配。图像是从右侧切割而来的。

我在简单的ImageView中显示收到的位图。

注意:它与我的ImageView或XML布局无关。因为我可以用sdcard保存的图像验证问题。

如果有人能在这方面帮助我,我将非常感激。无法弄清楚我在这里做错了什么。

由于 问候

1 个答案:

答案 0 :(得分:1)

Android相机有两个独立设置: previewSize pictureSize 。它们也可能具有不同的宽高比。例如。

previewSize=1920x1080
pictureSize=4200x2800

相机不会扭曲图像,它会裁剪它。

如果要在拍摄的照片中保留与取景器屏幕上相同的视野,则应为两者选择相同的宽高比。即使这样也不能保证捕获将保持完全相同的视野(例如,由于焦点调整)。

请注意,您必须选择相机支持的预览尺寸和图片尺寸。 Android API包含 getSupportedPictureSizes() getSupportedPreviewSizes()