思ったより、Qtを使ったアプリに移植するのに時間がかかりました。が、何とかUbuntu上で動くアプリが出来上がりました。(バーティノフマスクの補助機能はとりあえずおあずけ)
RP4のおかげで、Qt5 Creatorもサクサクでコンパイルも動作も問題なかったのですが、カメラから取得した画像を表示するのには苦労しました。
いろいろ試行錯誤の結果、
- OpenCVのMatオブジェクトをCV_8UC1で準備
- カメラはRAW8もしくはY8で動かして、取得した画像をMatオブジェクトにコピー
- MatオブジェクトをQImageにRGB888のフォーマットでコピー
- QGraphicsViewオブジェクトの描画エリアサイズに合わせて、アスペクト比を固定したままQImageをリサイズ
- QGraphicsViewオブジェクトのDrawImageメソッドで描画
これで何とか無事に画像が表示されました。タイマーオブジェクトで定期的に表示され、それなりの速度で更新されるので、ピント合わせも結構楽です。
もちろん、カメラが複数あっても選択可能です。
アプリは面倒なんでサイズ変更不可にしてます。フルHD画面でないとはみ出ます。
趣味でLinuxアプリは初めてだったんですが、何とか無事出来上がりました。これで、ピント合わせの時にタブレットにつなぎなおす手間が省けます。
さて、実践投入はいつになることやら。
0 コメント