Python 3 IP Webcamera字节错误

时间:2015-12-29 18:58:01

标签: python python-2.7 opencv python-3.x ip-camera

我正在使用Python 3来获取IP网络摄像头的流并将其显示在我的计算机上。以下代码仅适用于python 2.7

import cv2
import urllib.request
import numpy as np

stream=urllib.request.urlopen('http://192.168.0.90/mjpg/video.mjpg')
bytes=''
while True:
    bytes+=stream.read(16384)
    a = bytes.find('\xff\xd8')
    b = bytes.find('\xff\xd9')
    if a!=-1 and b!=-1:
        jpg = bytes[a:b+2]
        bytes= bytes[b+2:]
        i = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),cv2.IMREAD_COLOR)
        cv2.imshow('i',i)
        if cv2.waitKey(1) ==27:
            exit(0)

然而,当我在Python 3上尝试时,我收到以下错误

  

bytes + = stream.read(16384)

     

TypeError:无法将'bytes'对象隐式转换为str

这在2.7完美无缺,但我找不到让它在3中工作的方法,任何想法?

1 个答案:

答案 0 :(得分:1)

python3 str中的

不是单字节

将其更改为

public static double sum1(int n){
    double sum = 0;
    for (int i=1;i<=n;i++){
        sum+=1.00/((2*n-1)*(2*n+1));
    }
    return sum;
}

也是字节是内置的......你可能不应该将它用作变量名