[파이썬] opencv-python 카메라 스트리밍 및 IP 카메라 연결

소개

OpenCV-Python은 영상 및 이미지 처리에 사용되는 강력한 라이브러리입니다. 이번 블로그 포스트에서는 OpenCV-Python을 사용하여 카메라 스트리밍 및 IP 카메라 연결을 하는 방법에 대해 알아보겠습니다.

IP 카메라 연결

IP 카메라는 네트워크를 통해 이미지를 스트리밍하는 디바이스입니다. 이를 사용하여 원격 위치의 카메라 이미지를 가져올 수 있습니다.

먼저, OpenCV를 사용하기 위해 아래와 같이 패키지를 설치합니다.

pip install opencv-python

아래의 코드를 사용하여 IP 카메라에 연결할 수 있습니다.

import cv2

# IP 카메라 URL 설정
url = "http://192.168.0.100:8080/video"

# 비디오 캡처 객체 생성
cap = cv2.VideoCapture(url)

# 영상 재생
while True:
    ret, frame = cap.read()
    
    cv2.imshow('IP Camera', frame)
    
    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) == ord('q'):
        break

# 객체 해제
cap.release()
cv2.destroyAllWindows()

위 코드에서 url은 IP 카메라의 URL 주소입니다. 해당 URL은 해당하는 카메라의 IP 주소와 포트 번호로 설정되어야 합니다. cv2.VideoCapture(url)로 비디오 캡처 객체를 생성하고, cap.read() 메소드를 통해 영상을 읽어옵니다. 마지막으로, cv2.imshow()를 사용하여 영상을 출력합니다.

카메라 스트리밍

웹캠 또는 기타 연결된 카메라를 사용하여 스트리밍할 수도 있습니다. 아래의 코드는 기본 카메라에 연결하여 스트리밍하는 예제입니다.

import cv2

# 비디오 캡처 객체 생성
cap = cv2.VideoCapture(0)

# 영상 재생
while True:
    ret, frame = cap.read()
    
    cv2.imshow('Camera Streaming', frame)
    
    # 'q' 키를 누르면 종료
    if cv2.waitKey(1) == ord('q'):
        break

# 객체 해제
cap.release()
cv2.destroyAllWindows()

위 코드에서 cv2.VideoCapture(0)으로 비디오 캡처 객체를 생성하고, cap.read() 메소드를 통해 웹캠에서 영상을 읽어옵니다. 마지막으로, cv2.imshow()를 사용하여 영상을 출력합니다.

결론

OpenCV-Python을 사용하면 IP 카메라와 카메라 스트리밍을 쉽게 처리할 수 있습니다. 위의 예제 코드를 사용하여 자신의 프로젝트에서 카메라 스트리밍 및 IP 카메라 연결을 구현해보세요. OpenCV-Python의 다양한 기능을 활용하여 원하는 영상 처리를 진행할 수 있습니다.