65620


SpresenseでSpresenseカメラから1枚の高解像度RBG画像データを取得し、その後に画像処理を行うことが目的です。  
「Spresense Arduino Library 開発ガイド」にて  
3.2. Camera ライブラリ  
第一、第二引数で画像の縦横サイズを指定します。第三引数で画像のピクセルフォーマットを指定します。  
現在、画像のピクセルフォーマットはJPEGのみサポートしています。

3.2.6. 取得した画像を変換する。  
convertPixformat()は、YUV422からRGB、YUV422からGLAY、の2つのみ対応しています。

つまり、Arduino Libraryでは高解像度RBG画像データは取得できない、と理解しました。  
Spresense SDKを使うとできるのでしょうか？ サンプルコード参照場所を知りたいです。


CC BY-SA 4.0
2020-04-01T02:06:41.983
65268
2020-04-14T23:22:29.347
39454
question
spresense
Spresenseで高解像度RBG画像データを取得する方法


Spresense SDKでcameraのサンプルはexamples/cameraにありますが、  
このサンプルだと、STILL_CAMTURE場合の設定はJPEGになってますね。  
5５１行目あたりのcamera_prepare()というスタティック関数でフォーマットを指定しているので、これをV4L2_PIX_FMT_RGB565に変更すれば行けるかもしれません。  
ただ、そもそもメモリが足りなそうです。
フルHDでさえ1920*1080*2(Byte)=約4MByteなので、Spresenseのメモリサイズ1.5MByteを超えてます。

やりようとしては、  
JPEGデコードのライブラリ（libjpegのようです)とサンプル：examples/jpeg_decodeがあるので、  
JPEGで高精細で取って、保存しつつ、libjpegでライン毎にデコードして表示したり加工したりする、  
というところでしょうか。

<https://developer.sony.com/develop/spresense/docs/sdk_developer_guide_ja.html#_jpeg_decoder>

参考になれば幸いです。


CC BY-SA 4.0
2020-04-14T23:22:29.347
65620
2020-04-14T23:22:29.347
34651
65268
answer