我们正在使用LG Optimus速度,并试图通过我们自己的活动从相机获取图像。我们使用的代码是:
GetImage(new PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera) {
camera.startPreview();
bmp = BitmapConversion.convertBmp(data));
}
});
...
public static void GetImage(final PictureCallback jpgCallback) {
GetCamera().autoFocus(new AutoFocusCallback(){
@Override
public void onAutoFocus(boolean success, Camera camera) {
if(success)
GetCamera().takePicture(null, null, jpgCallback);
else
GetImage(jpgCallback);
}
});
}
这些图像的质量远远低于使用原生Android相机应用程序获取的图像。这是两张示例图片,均以640x480的分辨率放大。正如您所看到的,使用本机应用程序拍摄的左侧照片看起来比使用我们自己的应用程序拍摄的照片更“干净”。
任何想法?
答案 0 :(得分:0)
在拍摄图像和拍摄图像后进行后处理之前,您不知道原生应用在配置相机方面做了什么。
相机上有许多设置,这些设置都有详细记录,应该进行调查。
你还应该意识到,使用相同的方法存在截然不同的结果,但光线和焦点的变化最小。
尝试查看自动对焦设置,也许可以对自动对焦回调执行某些操作。
比较这两种方法时,请确保您的相机在某些东西上而不是手持设备上保持平衡,并确保距离和光线水平相同。