アンドロイドアプリでカメラの最大解像度のデータを取得する方法がわかりません。
andoroidアプリを開発中です。
Galaxyを使用して6400万画素の画像を取得したいと考えています。
解像度を高解像度(既存のカメラアプリで作成される6936x9248)を指定しても
JPEGファイルで出力される解像度は2448x3264となってしまいます。
カメラのレンズ自体は6400万画素のカメラを指で遮るとその通りの画像が保存されますので
撮影自体は高解像度のカメラを使用しているようです。
例)
以下の様にImageCapture.builderで
.setResolutionで解像度を指定しています。
エラー等は発生していません。
// ImageCapture
imageCapture = ImageCapture.Builder()
// 最大品質に設定
.setCaptureMode(ImageCapture.CAPTURE_MODE_MAXIMIZE_QUALITY )
// 解像度指定
.setTargetResolution( CameraResolution )
.setTargetRotation(rotation)
.build()
CameraResolutionは以下の様に設定しています。
val width = 6936
val height = 9248
val CameraResolution = Size( width, height )
自分で試したこと
JPEGファイルで保存する際の解像度を指定する方法があるのかも知れませんが分かっておりません。
逆に低い解像度を指定したときに指定より高い解像度になる場合があります。
※幅、高さの指定が逆ですが以下の場合は(3024x1701)という解像度の画像が出力されます。
val width = 1920
val height = 1080
近似した解像度を自動選択しているとのことなのでそれの影響かもしれませんが
よろしくお願いいたします。
0 likes