1

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 カメラ アプリで取得した画像よりもかなり品質が劣っています。以下に 2 つの写真の例を示します。どちらも解像度 640x480 で拡大したものです。ご覧のとおり、ネイティブ アプリで撮影した左の写真は、独自のアプリケーションで撮影した右の写真よりも「きれい」に見えます。

ここに画像の説明を入力

何か案は?

4

1 に答える 1

0

画像を撮影する前にカメラを設定し、画像を撮影した後に後処理するという点で、ネイティブアプリが何をしているのかわかりません。

十分に文書化されており、調査する必要があるカメラで利用可能な多くの設定があります。

また、同じ方法を使用しても、光と焦点のわずかな違いで、大きく異なる結果が存在することに注意する必要があります。

オートフォーカスの設定を調べて、オートフォーカスのコールバックで何かをしてみてください。

2つの方法を比較するときは、カメラがハンドヘルドではなく何かでバランスが取れていることを確認し、距離と光のレベルが同じであることを確認してください。

于 2011-08-02T17:19:33.190 に答える