Deep Learning/Computer Vision

파이썬으로 카메라 연결하기

해파리냉채무침 2023. 7. 23. 15:22

반드시 한개의 셀로 실행하야함 주의 

import cv2

cap = cv2.VideoCapture(0) #비디오로 돌아오는 것을 일련의 이미지로 인식, 모든 프레임은 개별 이미지,
#비디오는 계속해서 이미지를 업데이트

width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) #프레임 폭
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) #프레임 길이
#int안은 float 반환 1080을 캡처하면 1080.0같은것으로 돌려줌, 비디오 중간지점을 계산할때, opencv 상
#사용할때는 정수를 써야함 그래서 int로 받음


while True:
    
    # 프레임별 캡쳐 
    ret, frame = cap.read() #튜플로 반환, 프레임을 포착함

    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) #프레임을 흑백으로 반환, 주석처리하면 컬러

    # 결과 프레임 보여주기 
    cv2.imshow('frame',gray)
    
    # 닫기로는 창이 닫아지지 않음 q를 눌러서 빠져나와야함.
    if cv2.waitKey(1) & 0xFF == ord('q'): #escape q를 누르면 빠져나옴
        break

#다 실행하게 되면 윈도우창 닫기 
cap.release()
cv2.destroyAllWindows()

결과물로 이렇게 흑백으로 나옴

 

만약 컬러로 보고싶으면?

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 코드를 주석처리 해주고,

cv2.imshow('frame',frame)으로 바꿔주면 됨