사용하지않는공간/openCV
[openCV] 동영상(캠) 다루기
반나무
2021. 5. 5. 15:40
videoCapture.py : 영상에서 한장을 캡쳐해서 화면에 보여줌 -> 사진찍기
import cv2
# videocapture객체를 생성
cap = cv2.VideoCapture(0)
# 카메라로부터 이미지 한장 가져옴
ret,img_color = cap.read()
# 캡처된 이미지를 화면에 보여줌
cv2.imshow("Color", img_color)
# 아무키나 누르기 전까지 대기
cv2.waitKey(0)
# 메모리해제
cap.release()
cv2.destroyAllWindows()
color_movie.py : 컬러 영상 찍기
import cv2
# videocapture객체를 생성
cap = cv2.VideoCapture(0)
# 영상은 이미지의 반복이다
while True :
# 카메라로부터 이미지 한장 가져옴
ret,img_color = cap.read()
# 캡처가 되지않은경우 루프가 다시 처음부터 돌 수 있게 처리
if ret == False:
continue
# 캡처된 이미지를 화면에 보여줌
cv2.imshow("Color", img_color)
# 아무키나 누르면 break
if cv2.waitKey(1)&0xff == 27:
break
# 메모리해제
cap.release()
cv2.destroyAllWindows()
gray_movie.py : 그레이 컬러 영상 찍기
import cv2
# videocapture객체를 생성
cap = cv2.VideoCapture(0)
# 영상은 이미지의 반복
while True :
# 카메라로부터 이미지 한장 가져옴
ret,img_color = cap.read()
# 캡처가 되지않은경우 루프가 다시 처음부터 돌 수 있게 처리
if ret == False:
continue
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
# 컬러영상과 그레이영상을 보여준다.
cv2.imshow("Color", img_color)
cv2.imshow("Gray", img_gray)
# 아무키나 누르면 종료
if cv2.waitKey(1)&0xff == 27:
break
# 메모리해제
cap.release()
cv2.destroyAllWindows()
open_movie.py : 영상파일 실행
import cv2
# videocapture객체를 생성
# 재생할 파일명 입력
cap = cv2.VideoCapture('./movie/outout.avi')
# 영상은 이미지의 반복
while True :
# 카메라로부터 이미지 한장 가져옴
ret,img_color = cap.read()
# 영상이 끝까지 돌면 종료
if ret == False:
break
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
# 캡처된 이미지를 화면에 보여줌
cv2.imshow("Color", img_color)
cv2.imshow("Gray", img_gray)
# 아무키나 누르면 break
if cv2.waitKey(1)&0xff == 27:
break
# 메모리해제
cap.release()
cv2.destroyAllWindows()
save_movie.py : 영상파일 저장
import cv2
#print(cv2.__version__)
# videocapture객체를 생성
cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 코덱 만들어줌
# VideoWrite(이름,코덱,프레임,사이즈)
writer = cv2.VideoWriter('outout.avi', fourcc, 30.0, (640,480))
# 영상은 이미지의 반복
while True :
# 카메라로부터 이미지 한장 가져옴
ret,img_color = cap.read()
# 캡처가 되지않은경우 루프가 다시 처음부터 돌 수 있게 처리
if ret == False:
continue
img_gray = cv2.cvtColor(img_color, cv2.COLOR_BGR2GRAY)
# 캡처된 이미지를 화면에 보여줌
cv2.imshow("Color", img_color)
cv2.imshow("Gray", img_gray)
# 사진을 영상으로 저장
writer.write(img_color)
# 아무키나 누르면 종료
if cv2.waitKey(1)&0xff == 27:
break
# 메모리해제
cap.release()
writer.release()
cv2.destroyAllWindows()
반응형