Jetson Nano: Python OpenCVからMIPIカメラへアクセスする方法

参考にさせていただきました。

https://qiita.com/tsutof/items/2d2248ec098c1b8d3e32

 

今回で画面が緑色になってしまう問題を解決できるか!

試運転:shellからでは映像が出力できています。

 

Python3から nano_cam_test.py を実行してみるとエラーが出ます。

エラー:

たぶん、カメラが対応している解像度と違うからでしょう。

直してみましょう。

Jetson Nano: OpenCV 4.1.0をインストールする

やっていきましょう。

参考にさせていただきました。

  1. https://qiita.com/daisuzu_/items/8cc8de8ea8dc557a2aad
  2. https://qiita.com/wawoon/items/f61338d6e11a8e9521a4
  3. https://pysource.com/2019/08/26/install-opencv-4-1-on-nvidia-jetson-nano
  4. https://qiita.com/tsutof/items/2d2248ec098c1b8d3e32

自動インストールのシェルスクリプトを保存

下記、シェルスクリプトをファイル名 install_opencv4.1.0_Nano.shとしてホームディレクトリに保存します。まだ保存するだけです。

メモリ領域の確保

メモリ領域を確保するために下記4つを、順番にやりますが、一つ一つに時間がかかりますので、進まないからといってターミナルを4つ開かないように!(やって失敗したのは私だけで十分です。)

で、この4つではOpenCV4.1.2もOpenCV4.1.1もうまくいかなかったので、気を取り直して下記の3つをやりました。

おそらく、上記4つは必要ないと思いますので試しに飛ばしてみてください。(リブートしなかったのが良くなかったのか?したかどうかも覚えてませんw)

目的は同様にメモリの確保で、4GBでよいっぽい。デフォルトが2GBなので 式中の割る2を削除すればOKです。

リブートできたら、コンパイル~インストールしましょう。

Pythonでインポートして確認

import cv2してprint(cv.__version__)で

4.1.0と出力されたらOKです。

課題:MIPIカメラが使えない

・pythonからvideoCapture(0)したところ、MIPIカメラでは緑一色の画面しか出力されない。numpy.arrayなのでRGBを確認すると、きれいにすべての画素でR, G, B =[0, 255, 0] ですw 助けてくださいw

・安物のwebカメラではvideoCapture(1)したところ、問題なく映像が出力されています。ついでに顔認識などやってみましたが問題なし。

うーん、このままUVCカメラしか使えないのも尺ですしねえ。せっかくの800万画素のソニーIMX219センサが無駄になってしまう・・・

解決法ありましたら、コメントお願いします🙏

いつか4.1.2を入れられるようになりたいです。