ラズパイのコマンドでraspistill--raw -o sample.jpgを使うとraw情報を含むjpeg画像がとれると思うのですが、それをpythonで行いたいです。
ネット上の様々なサイトを見ましたがいまいちわからず、困っています。
またrawデータから各pixelの輝度情報を読み取りたいのですが、おすすめのやり方などありましたら教えていただけると幸いです。
> ネット上の様々なサイトを見ましたがいまいちわからず、困っています。
見たサイトのURLと、それぞれの内容について、どこがいまいちわからなかったのかを記載ください。
質問がわからりずらく、すいません。
raw画像とあるものを片っ端から見てみたので一例ですが、、、
https://www.scivision.dev/raspberry-pi-camera-raw-image-acquisition-with-python/
https://techoverflow.net/2019/11/21/how-to-capture-raspberrypi-camera-10-bit-raw-image-in-python/
raw画像を取得するプログラム自体はこれらからなんとなくわかるのですが、実行したところその保存先やどのような形式で保存されたのかよくわからない状態です。
また、picamera.array.PiBayerArray(camera)がいまいちつかめません。
こんな記事がありました
https://www.cqpub.co.jp/toragi/2008-2020/Portals/0/backnumber/2017/02/p119.pdf
この号は持ってないので、質問者さんの要望と合うか分かりませんが、一応紹介しておきます
そちらの記事は、raw画像がどんなものかってことですかね?
本文ではpythonでのプログラムを公開しているようですが、出版社のサイトに飛んでみましたがもう販売していないみたいで残念です。
https://shop.cqpub.co.jp/hanbai/books/47/47021.html
に記事が再掲されてるようです
「第11章 徹底評価! Pi Cameraの生800万画素の画像データの取り出し方と評価」
https://picamera.readthedocs.io/en/release-1.13/recipes2.html#raw-bayer-data-captures
の「4.16. Raw Bayer data captures」の二つ目の短い方のコードで、下記を変更すると、「output」はuint16のnumpy配列になり、その中に10bitのRAWデータが格納されます
output = (stream.demosaic() >> 2).astype(np.uint8)
↓ 変更
output = stream.array