PictureCallback 在“onPictureTaken”中获取字节 [] 数据,但它与我在 CameraView 中看到的图像不匹配。
Posted
技术标签:
【中文标题】PictureCallback 在“onPictureTaken”中获取字节 [] 数据,但它与我在 CameraView 中看到的图像不匹配。【英文标题】:PictureCallback gets byte[] data in 'onPictureTaken' but it doesn't match the image I see in CameraView. 【发布时间】:2014-08-31 02:19:23 【问题描述】:我在我的 android 应用程序中使用 opencv 人脸检测。我面临的问题如下。我实现'PictureCallback'的类在'onPictureTaken'中获取字节[]数据,但它与我在CameraView中看到的图像不匹配。图片是从右边剪下来的。
我在简单的 ImageView 中显示接收到的位图。
注意:这与我的 ImageView 或 XML 布局无关。因为我可以用我保存在 sdcard 上的图像来验证问题。
如果有人能在这方面帮助我,我将不胜感激。无法弄清楚我在这里做错了什么。
谢谢 问候
【问题讨论】:
【参考方案1】:Android 相机有两个独立的设置:previewSize 和 pictureSize。它们也可能具有不同的纵横比。例如。
previewSize=1920x1080
pictureSize=4200x2800
相机不会扭曲图像,它会裁剪它。
如果您想在拍摄的照片中保持与取景器屏幕上相同的视野,您应该为两者选择相同的纵横比。即使这样也不能保证捕捉将保持完全相同的视野(例如,由于焦点调整)。
请注意,您必须选择相机支持的预览尺寸和图片尺寸。 Android API 包括 getSupportedPictureSizes() 和 getSupportedPreviewSizes()。
【讨论】:
以上是关于PictureCallback 在“onPictureTaken”中获取字节 [] 数据,但它与我在 CameraView 中看到的图像不匹配。的主要内容,如果未能解决你的问题,请参考以下文章
调用 takePicture() 时出现不同输入数据大小问题的 Android Camera JpegPictureCallback
NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2游记