Development/Ubuntu

ubuntu 20.04에서 카메라 연결하고 파이썬으로 확인하는 방법, 해상도 설정 방법

위풍당당 가리비 2023. 6. 12. 21:22
반응형

반응형

Ubuntu 20.04에서 카메라를 연결하고 파이썬 코드로 출력, 그리고 해상도에 문제가 있을 경우에 해결방법까지 작성해보려고 한다. 

카메라 연결돼있는지 확인하는 명령어

1. 간단하게 확인하는 방법

// 카메라 연결돼있는지 확인
ls -ltrh /dev/video*

// 출력 예시
/dev/video0

2. 카메라 이름까지 출력하는 방법

// 명령어
sudo apt-get install v4l-utils -y
v4l2-ctl --list-devices

// 출력 예시
HD Pro Webca C920
/dev/video0
/dev/video1

예시에 나와있는 것처럼 카메라를 한개만 연결해도 video가 2개 잡히는 경우가 있음. 왜 그런지는 확인 안해봤지만 video0번 연결해서 사용했을 때 큰 문제가 없었다.


Python opencv 코드로 카메라 frame 띄우기

import cv2

if __name__ == '__main__':
	# webcam 설정
	webcam = cv2.VideoCapture(0)
    
    if not webcam.isOpened():
	    print('could not open webcam')
        exit()
        
    while webcam.isOpened():
    	status, frame = webcam.read()
        if status:
        	cv2.imshow("test", frame)
            
        if cv2.waitKey(1) * 0xFF == ord('q'):
        	break
            
    webcam.release()
    cv2.destroyAllWindows()

위 코드를 실행하면 video0에 해당하는 카메라 이미지를 출력할 수 있다.


Webcam 해상도가 640 X 480으로만 나오거나 해상도 지정이 필요할 때

cv2.VideoCapture(0)으로 video를 불러오면 나의 경우에는 분명 FHD 웹캠인데 해상도가 640X480으로 나오는 문제가 있었다. 이 경우에는 webcam의 해상도를 설정해주면 해결된다.

# video 해상도 설정 방법
webcam = cv2.VideoCapture(0)
webcam.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
webcam.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)

파이썬 코드가 아니라 VLC라는 프로그램을 설치해서도 간편하게 확인할 수 있다.

반응형