こんにちは,HAVRMです.
低照度カメラIMX327を買ったのでRaspberry Pi Zeroで試してみました.使い方自体は他のRaspberry Piと同じだと思うので参考にしてもらえると嬉しいです.さらに前回のブログでやったDisplay HAT Miniと合わせて使ったときの話も載せます.
注意:この作業は2023/6/1に作業した内容です.バージョンアップ等で変わる可能性があります.
- IMX327とは
- 実際に使ってみる
- 実際の写真
- 実際に取った動画
- Pimoroni Display HAT Miniと合わせて使う場合(「clock-frequency=74250000」について)
- 最後に
IMX327とは
「IMX327」はSonyが出している低照度カメラ「STARVIS」の一種です.Arducamというメーカが「STARVIS」のカメラモジュールをいくつか出している中で,感度が高く,安いものを選びました.ほかには「IMX290」や「IMX462」が売られています.「IMX462」が一番性能がいいですがその分高く(¥9,944@Switch Science),フレームレートやわずかに画素数が低い以外同じ性能の「IMX327」がほぼ半額(¥4,972)なのでこちらを選びました.買ったものは以下のものです.なお同じページに各センサの比較表があります.
実際に使ってみる
カメラとの通信ケーブルについて
モジュールのコネクタは22pinであり,あらかじめRaspberry PiのModel AやB用に15pinへの変換ケーブルが付属していますが,Raspberry Pi Zero等の22pin用のケーブルは付属していませんでした.手持ちでもなかったので,ケーブル長が短いものの中で,Amazonですぐ届くケーブル(10本入り)を購入しました.
「/boot/config.txt」の編集
最新のRaspberry Pi OSでは「libcamera」系のコマンドを使うことでいろいろなセンサの画像が撮れます.そうするためにあらかじめ「/boot/config.txt」にセンサ情報を入力する必要がありますが,Arducamの公式サイトでは「dtoverlay=imx327」と追記するように書いてありますが,それでは動きませんでした(泣).
いろいろケーブルの接触やRaspberry Piを変えてみたりした結果,この記述内容が間違っていることがわかりました.公式サイトでは「IMX290とIMX327は同じドライバーなので"dtoverlay=imx290"と記載する」と書いてありました orz
ということで「dtoverlay=imx290, clock-frequency=74250000」と記入し,再起動するときちんとカメラを認識しました.
なお念のため「gpu_mem=128」も記入しておいた方がいいと思います(どっかのサイトを見てやったのですが,覚えてないです...).
実際のコマンド
ただ,プレビュー画面はエラーになってそのままだと表示できなかったので,「—qt-preview」オプションをつけた次のコマンドで実行しています.
$ libcamera-hello --qt-preview -t 0 #プレビュー表示をするだけ
なお撮影対象は「ホビーガチャ バック・トゥ・ザ・フューチャー デロリアン【タイムマシン】」の「デロリアン(バック・トゥ・ザ・フューチャー Part.2)」です.
www.takaratomy-arts.co.jp
実際の写真
次のコマンドで撮影しています.このとき,「/boot/config.txt」に「clock-frequency=74250000」は記入していません.これは後述します.
$ libcamera-jpeg --qt-preview -o test.jpeg
ライトの元(オリジナルです)
(切り抜き画像)
比較対象(iPhone 13 Proの超広角レンズ,いつも通り切り抜き後画質を落としています.)
ライトなし(ノートPCディスプレイの明かりのみ,オリジナル)
比較対象(iPhone 13 Proの超広角レンズ,いつも通り切り抜き後画質を落としています.)
カメラの性能がいいiPhoneと比較してもそん色ない画像が撮れています.まだ露光時間等設定していないのでそれ次第ではもっと撮れると思います.
実際に取った動画
次のコマンドで撮影しています.カメラの向きのせいで動画の向きがおかしくなってます…
$ libcamera-vid --qt-preview -t 5000 -o test.h264
Pimoroni Display HAT Miniと合わせて使う場合(「clock-frequency=74250000」について)
Raspberry Pi Zero + IMX327のみでは「clock-frequency=74250000」の設定をした状態でうまく通信できていました.この時プレビュー画面は15FPSで安定して更新できていました.ただ,Display HAT Miniと一緒に使ったところ次のように画像が荒れました.
どうも処理能力か通信能力が足らず,うまくいかなかったようです.そのため,上記のサイトにあった遅いほうの「clock-frequency=37125000」に変更したところ荒れずに写真が取れましたが,プレビュー画面は5FPS~15FPSで不安定になりました.なお「clock-frequency=37125000」を記入しない場合でも同じ状態なので,初期設定は「clock-frequency=37125000」になるようです.上記の写真等はこの「clock-frequency」の設定をしない状態で,Display HAT Miniで確認しながら撮影しました.
最後に
いかがでしたか.ネットでもあまり使っている人のいない(中途半端だからでしょうか...)IMX327を実際に使ったレビューになります.これで月とかが撮れないかいろいろ試していきたいと思います.