自己写了一个Camera的程序,只有主动调用autofous的时候才会进行自动对焦,我手机的Camera支持的对焦模式只有auto和macro, 但是我看我手机系统自带的相机在拍照移动时会进行自动对焦,想知道这是如何实现的?难道是判断手机的rotation吗?可是如果方向不变只是距离改变的时候系统相机也会进行自动对焦,这是如何做到的呢?因为从Camera支持的对焦模式里看应该没有支持连续对焦模式。
人生最曼妙的风景,竟是内心的淡定与从容!
摄像头变焦是光学变焦,程序只是做后期处理,系统相机依赖底层驱动,可以做到精细一点的处理,应用层开放的Camera API 不是全部的摄像头控制API,所以是有差别的。另外,Camera API没有手机移动相关的。
看过zxing的源代码(虽然是很旧的代码,但依然可以用),它是用AsyncTask不停循环对焦。API里面虽然有连续对焦的参数,但是要手机支持,试了之后效果不是很好。仅作参考,可以参考。https://github.com/zxing/zxing/blob/master/android/src/com/google/zxing/client/android/camera/AutoFocusManager.java
再附个camera2的demohttps://github.com/googlesamples/android-Camera2Basic
摄像头变焦是光学变焦,程序只是做后期处理,系统相机依赖底层驱动,可以做到精细一点的处理,应用层开放的Camera API 不是全部的摄像头控制API,所以是有差别的。另外,Camera API没有手机移动相关的。
看过zxing的源代码(虽然是很旧的代码,但依然可以用),它是用AsyncTask不停循环对焦。API里面虽然有连续对焦的参数,但是要手机支持,试了之后效果不是很好。仅作参考,可以参考。
https://github.com/zxing/zxing/blob/master/android/src/com/google/zxing/client/android/camera/AutoFocusManager.java
再附个camera2的demo
https://github.com/googlesamples/android-Camera2Basic