https://www.learnopencv.com/read-write-and-display-a-video-using-opencv-cpp-python/
위 링크에서 내가 필요한 부분만 찾아서 아래에 기술했는데,
우분투 콘솔서버를 사용중이라서
아래 코드중에서
cv2.imshow(
'frame'
,frame)
부분은 주석처리해서 사용했다.
이렇게하면 웹캠을 실시간 캡쳐해서 avi 로 만들기만하는 코드가된다.
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import cv2
import numpy as np
cap = cv2.VideoCapture( 0 )
if (cap.isOpened() = = False ):
print ( "Unable to read camera feed" )
frame_width = int (cap.get( 3 ))
frame_height = int (cap.get( 4 ))
out = cv2.VideoWriter( 'outpy.avi' ,cv2.VideoWriter_fourcc( 'M' , 'J' , 'P' , 'G' ), 10 , (frame_width,frame_height))
while ( True ):
ret, frame = cap.read()
if ret = = True :
out.write(frame)
cv2.imshow( 'frame' ,frame)
if cv2.waitKey( 1 ) & 0xFF = = ord ( 'q' ):
break
else :
break
cap.release()
out.release()
cv2.destroyAllWindows()
|
캠쳐를 실패했을때
웹캠 디바이스를 확인하고 사용가능 모드로 바꿔줘야한다.
결과
crw-r----- 1 root video 81, 0 1월 25 01:15 /dev/video0
뭐 이런경우라면,
root 사용자나 video 사용자만 웹캠을 사용할 수 있다는 말이된다.
sudo chmod 666 /dev/video0
이런식으로 해서 다른 사용자에게 권한을 부여해준다.