2

組み込みのカメラをインテントとして使用して、カメラを使用するAndroidアプリケーションを作成しています。写真をピクセル単位で分析しています。私の山火事は、通常の写真で 79000 ピクセルを返します。これにより、分析が少し遅くなります。

インテントの使用時に返されるカメラまたは画像の品質/解像度を設定する方法はありますか? Google と API を調べてみましたが、あまり思いつきませんでした。これが可能かどうか、または画像の解像度を低下させる他の方法を知っている人はいますか?

どんな助けでも大歓迎です。

4

1 に答える 1

3

API を使用して自分で作成するアプリケーションではなく、組み込みのアプリケーションを使用するのはなぜですか? この方法でカメラを使用すると、さまざまな問題が発生します。結局のところ、完全な制御が必要な場合は、インテントを使用しないでください。API を介して写真を撮るための実用的な例がたくさんあります。

そのため、API を介してカメラを使用する場合、Camera クラスの setParameters メソッドを使用して CameraParameters オブジェクトをカメラ オブジェクトに渡し、さまざまなパラメーターを変更できます。

CameraParametersクラスには、画像のサイズを変更するために使用できるsetPictureSize (int , int) メソッドが含まれています。CameraParameters の getSupportedPictureSizes() メソッドを使用して、デバイスがサポートしている画像サイズを確認し、自分に合ったサイズを使用できます。

List<Size> sizes = mCamera.getParameters().getSupportedPictureSizes();

for (Size size : sizes) {
    // Do something, e.g. :
    menu.add(0, 1, 1, size.width + "x" + size.height);       
}

また、画像のフォーマットをNV21に設定できるようです。これは未加工の形式であり、返された画像のピクセルを自分で簡単にサブサンプリングできます (4 ピクセルごとの平均として 1 ピクセルを取ると、画像の幅と高さの両方が 2 分の 1 になります)。

于 2011-03-25T00:20:08.653 に答える