android - 捕获的相机图像看起来模糊

标签 android camera

我的问题是在我的应用程序中捕获的图像看起来很模糊,而使用设备相机组件捕获的图像看起来不错 - 一旦用户单击捕获按钮就会出现自动缩放效果。有人可以帮助我实现这种情况吗?我应该如何以及在哪里申请。

代码如下:

public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {
    // Now that the size is known, set up the camera parameters and begin
    // the preview.
    Camera.Parameters parameters = camera.getParameters();
    Integer version = Integer.parseInt(Build.VERSION.SDK);
    if(version > Build.VERSION_CODES.ECLAIR_MR1)
    {
        Log.d(TAG, "------> version greater than eclari 2.1");
        List<Size> sizes = parameters.getSupportedPreviewSizes();
        Size optimalSize = getOptimalPreviewSize(sizes, width, height);
        parameters.setPreviewSize(optimalSize.width, optimalSize.height);
    }
    else
    {
        Log.d(TAG, "------> version less than eclari 2.1");
        parameters.setPreviewSize(ApplicationInitiator.screenW,ApplicationInitiator.screenH); 
    }

    List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
    {
        parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
    }

    parameters.setJpegQuality(100);
    camera.setParameters(parameters);
    camera.startPreview();
}

最佳答案

好吧,在你的文字中你谈到捕捉图像,但我在你的代码中没有看到任何关于拍照的内容,无论如何,如果你想要获得聚焦的照片,你要做的就是注册一个 AutoFocusCallback获得焦点时拍照:

Camera.AutoFocusCallback mAutoFocusCallback = new Camera.AutoFocusCallback() {
    @Override
    public void onAutoFocus(boolean success, Camera camera) {
        camera.takePicture(null, null, mPictureCallbackRaw);
    }
};

Camera.PictureCallback mPictureCallbackRaw = new Camera.PictureCallback() {  
    public void onPictureTaken(byte[] data, Camera c) { 
        // (...)            
    }  
};

public void takeFocusedPicture() {
    mCamera.autoFocus(mAutoFocusCallback);
}

.

关于android - 捕获的相机图像看起来模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8838441/

相关文章:

android - 错误 : failed to connect to camera service @ Android marshmallow

Android Studio模拟器相机无法保存照片

java - Android 获取位置

android - 如何在android中通过彩信发送vcf文件

java - 使用相机 Intent 在没有 sd 卡的情况下拍照

html - iOS safari 移动浏览器的 navigator.getUserMedia 替代 API?

python - 使用 digicamcontrol 使用 Python 控制尼康相机?

android - 如何对长文本进行分页?

android - Espresso 在相当基本的测试中得出的结果不明确

php - 跨网络服务器和多个移动设备同步数据库数据