今天在项目中遇到一个问题,可恶的需求是扫描二维码或者条码的时候不设置自动对焦,直接给相机设置一个距离,问是否可以实现,其目的是为了提高效率,经过调查,发现不自动对焦扫码可以实现,但是给相机设置一个距离是不好实现的,因为在android相机中自动对焦与相机的自动对焦不同,它不能对感光元件进行调整。因此手机上所谓的自动对焦功能,本质上是集成在手机ISP(图像信号处理器)中的一套数据计算方法。当取景器捕捉到最原始的图像后,这些图像数据会被当作原始资料传送至ISP中,此时ISP便会对原始数据进行分析,检查图像中毗邻像素之间的密度差异。如果原始图像的对焦是不准确的,那么毗邻的像素密度将十分接近。而此时ISP会有一套单独的算法对这些像素进行调整——这一过程反映在手机使用者眼中的,便是自动对焦过程。不同的拍照模块采用的算法也不同,自动对焦的质量当然也不尽相同。(引自百度百科,手机自动对焦) 所以除了少数几个可以伸缩镜头的手机之外,其他的手机,包括iPhone的摄像头都是定焦的。
查看手机是否支持变焦:第一:调用mCamera.getParameters().isSmoothZoomSupported()返回为false,则不支持变焦,设置zoom出错
第二:调用mCamera.getParameters().isZoomSupported()返回为true,mCamera.getParameters().isSmoothZoomSupported()返回为false,可能手机自带的摄像应用支持zoom,变焦,但是我们自己的程序不支持。
关于相机焦距问题
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- public classCamera.Parametersextends Objectjava.lang.Obje...