Jetson TX2のカメラモジュールをPython+OpenCVで使う方法
内容
前提:
* Jetson TX2
* Jetpack 4.2.2
* OpenCV 3.3.1
OpenCVでJetson TX2のカメラ使おうと思ったら、また一苦労したので。。。
下記コードで使えるようになりました。
import sys import cv2 def read_cam(): cap = cv2.VideoCapture("nvarguscamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720,format=(string)NV12, framerate=(fraction)24/1 ! nvvidconv flip-method=0 ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink") if cap.isOpened(): cv2.namedWindow("demo", cv2.WINDOW_AUTOSIZE) while True: ret_val, img = cap.read(); cv2.imshow('demo',img) cv2.waitKey(10) else: print("camera open failed")\ cv2.destroyAllWindows() if __name__ == '__main__': read_cam()
あと、なんか変なFaild↓でたので一行打って完了です。
Gtk-Message: 16:49:30.680: Failed to load module "canberra-gtk-module"
sudo apt install libcanberra-gtk-module libcanberra-gtk3-module
これでOK.
【参考】
https://devtalk.nvidia.com/default/topic/1049024/jetson-agx-xavier/what-is-the-defaulat-output-format-of-the-jetson-board-camera/post/5326267/#5326267
https://askubuntu.com/questions/342202/failed-to-load-module-canberra-gtk-module-but-already-installed]
最後に
カメラ使うのも一苦労。
フルサイズのLinuxなのは嬉しいけど、ちょっと癖が強いんじゃ。。。
以上