初心者です。
NVIDIAのJetson nanoでopencvを使用して自前の動画を読み込んで再生させたいのですが、errorが出てしまうので質問させていただきました。
下記コードでカメラ映像の再生を試みました。
jetson nanoでopencvを使ってカメラを動かすには、よくわからなったのですがGStreamerを使うことでカメラを起動することができたため使っています。
python
1import cv2 2 3GST_STR = 'nvarguscamerasrc \ 4 ! video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1 \ 5 ! nvvidconv ! video/x-raw, width=(int)1920, height=(int)1080, format=(string)BGRx \ 6 ! videoconvert \ 7 ! appsink' 8WINDOW_NAME = 'Camera Test' 9filepath = "./IMG_8403.mov" 10 11def main(): 12 cap = cv2.VideoCapture(GST_STR, cv2.CAP_GSTREAMER,filepath) 13 14 while True: 15 ret, img = cap.read() 16 img_180 = cv2.rotate(img, cv2.ROTATE_180) 17 if ret != True: 18 break 19 20 cv2.imshow(WINDOW_NAME, img_180) 21 22 key = cv2.waitKey(10) 23 if key == 27: # ESC 24 break 25 26if __name__ == "__main__": 27 main() 28~
出てきたエラーは以下のとおりです
Traceback (most recent call last):
File "nano_cam.py", line 27, in <module>
main()
File "nano_cam.py", line 12, in main
cap = cv2.VideoCapture(GST_STR, cv2.CAP_GSTREAMER,filepath)
TypeError: VideoCapture() takes at most 2 arguments (3 given)
cv2.VideoCapture()の引数は2つにしてくださいということだと解釈していますが、GST_STR,cv2.CAP_GSTREAMERのどちらか一方、または両方を消した場合、カメラ自体の読み込みができなくなります。
このエラーの解消法をしている方、GStreamerについて知っている方、ご助言をいただけないでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/17 12:40 編集
2020/05/17 12:41
2020/05/17 13:43