2013-07-16 2 views
4

파이썬을 사용하여 브라우저에 웹캠 이미지를 보내려고합니다. 이제 다음 코드를 사용하여 보내 드리겠습니다.브라우저에 cv2.frames를 보내려면 어떻게해야합니까?

def send_a_frame(): 
capture = cv2.VideoCapture(0) 
frame = capture.read()[1] 
cv2.imwrite("im1.png",frame) 
cnt = open("im1.png","rb").read() 
b64 = base64.encodestring(cnt) 
html = "<html><img src='data:image/png;base64,"+base64 +"'></html" 
send(html) 

어떻게 이미지를 저장하고 이미지를 다시 열고 단일 명령문으로 base64로 변환 할 수 있습니까?

답변

10

필자도 동일한 문제가 있었는데, 제 경우에는 비디오 파일을 읽었지만 작동해야합니다. cv2.imencode() 메소드를 사용하십시오. 다음 코드를 참조하십시오.

def send_a_frame(): 
    capture = cv2.VideoCapture(0) 
    frame = capture.read()[1] 
    cnt = cv2.imencode('.png',frame)[1] 
    b64 = base64.encodestring(cnt) 
    html = "<html><img src='data:image/png;base64,"+b64 +"'></html" 
    send(html) 
+1

고맙습니다. 문제가 해결되었습니다 :-) –

+1

cStringIO – karnaf

관련 문제