본문 바로가기
소프트웨어/파이썬

[파이썬] ESP CAM의 스트리밍 영상 opencv로 불러오기

by 만들오 2021. 2. 3.
728x90

2021.06.29 - [파이썬] - [파이썬] ESP CAM의 스트리밍 영상 opencv로 불러오기(수정)

 

[파이썬] ESP CAM의 스트리밍 영상 opencv로 불러오기(수정)

2021.02.03 - [파이썬] - [파이썬] ESP CAM의 스트리밍 영상 opencv로 불러오기 [파이썬] ESP CAM의 스트리밍 영상 opencv로 불러오기 안녕하세요? 만들오 입니다. ESP CAM의 영상의 주소는 http://192.168.0.12/s..

mandloh.tistory.com

이 글의 업그레이드 버전이 있습니다.

 

위의 링크를 참고해 주세요

 

안녕하세요? 만들오 입니다.

 

ESP CAM의 영상의 주소는 http://192.168.0.12/stream 과 같은 스트리밍 주소입니다.

 

일반적인 cv2.imread("http://192.168.0.12/stream") 과 같은 방법으로 열 수가 없습니다.

 

imutils에서 url_to_image() 함수를 제공하지만, 이 방법도 스트리밍을 열수 없었습니다.

 

검색 결과, 다음과 같은 방법으로 ESP CAM의 영상을 불러올 수 있었습니다.

 

import cv2
import numpy as np
from urllib.request import urlopen

url = "http://192.168.0.12/stream" #ESP CAM의 영상 스트리밍 주소
stream = urlopen(url)
buffer = b''

while True:
    buffer += stream.read(4096)
    head = buffer.find(b'\xff\xd8')
    end = buffer.find(b'\xff\xd9')
    if head > -1 and end > -1:
        jpg = buffer[head:end+2]
        buffer = buffer[end+2:]
        img = cv2.imdecode(np.frombuffer(jpg, dtype=np.uint8), cv2.IMREAD_UNCHANGED)
        cv2.imshow("stream", img)
    key = cv2.waitKey(1)
    if key == ord('q'):
        break

cv2.destroyAllWindows()

 

url의 주소는 자신의 주소에 맞춰 수정해야 합니다.

 

감사합니다.

댓글