분명 학교에서 영상처리를 배운 적이 있지만 기억이 많이 휘발된 관계로 기초부터 빠르게 훑고 넘어가보도록 하겠습니다.
import cv2
img_color = cv2.imread('img.jpg',cv2.IMREAD_COLOR)
img_gray = cv2.imread('img.jpg',cv2.IMREAD_GRAYSCALE)
img_unchanged= cv2.imread('img.jpg',cv2.IMREAD_UNCHANGED)
print(img_color.shape) # 세로 가로 채널 정보 볼 수 있음
print(img_gray.shape)
print(img_unchanged.shape)
#채널이 3이란 의미는 BGR을 가짐
cv2.imshow('img_color',img_color)
cv2.imshow('img_gray',img_gray)
cv2.imshow('img_unchanged',img_unchanged)
cv2.waitKey(0) # 지정된 시간동안 사용자 키 입력 대기 0은 무한
cv2.destroyAllWindows() # 모든 창 닫기
cv2.IMREAD_GRAYSCALE에선 channel이 나오지 않는 것을 확인할 수 있음
import cv2
cap = cv2.VideoCapture('video.mp4')
while cap.isOpened(): #동영상이 열려있는 동안 작동
ret,frame = cap.read() #ret는 성공여부, frame은 받아온 이미지(프레임)
if not ret: # 받아오는 정보가 없다면
print('영상 종료')
break #종료
cv2.imshow('video',frame) #영상 출력
if cv2.waitKey(60) == ord('q'): #waitKey() 안에 숫자를 조정하면 영상 재생 속도가 달라짐
print('사용자 입력에 의해 종료')
break
cap.release() #해제
cv2.destroyAllWindows() #종료
import cv2
cap = cv2.VideoCapture(0) #0번 째 카메라 장치
if not cap.isOpened(): #카메라가 켜진지 확인
exit() # 프로그램 종료
while True:
ret, frame = cap.read()
if not ret:
break
flip_horizontal = cv2.flip(frame,1)
cv2.imshow('camera',flip_horizontal)
if cv2.waitKey(10) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()