Python 烧瓶-图像问题-无法str和numpy.ndarray

Python 烧瓶-图像问题-无法str和numpy.ndarray,python,flask,raspberry-pi,Python,Flask,Raspberry Pi,我试图从picamera(RaspberryPi)捕获图像,并使用Flask(在web上)进行显示,但我面临这个问题: b'Content-Type:image/jpeg\r\n\r\n'+frame+b'\r\n') TypeError:无法连接'str'和'numpy.ndarray'对象 代码如下: stream = io.BytesIO() with picamera.PiCamera() as camera2: camera2.start_preview() time.

我试图从picamera(RaspberryPi)捕获图像,并使用Flask(在web上)进行显示,但我面临这个问题:

b'Content-Type:image/jpeg\r\n\r\n'+frame+b'\r\n')

TypeError:无法连接'str'和'numpy.ndarray'对象

代码如下:

stream = io.BytesIO()
with picamera.PiCamera() as camera2:
    camera2.start_preview()
    time.sleep(0.1)
    camera2.capture(stream, format='jpeg')

data = np.fromstring(stream.getvalue(), dtype=np.uint8)

frame = cv2.imdecode(data, 1)

yield (b'--frame\r\n'
       b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
虽然我读过这个链接,但它对我没有帮助:

产出:

data = np.fromstring(stream.getvalue(), dtype=np.uint8)
[255 216 255…,175 255 217]

而且

frame = cv2.imdecode(data, 1)
[120 125 104][120 125 104][120 124 105]

任何帮助都将不胜感激


谢谢

当您将字节字符串
b'Content-Type:image/jpeg\r\n\r\n'
与numpy array
frames
连接在一起时,您会遇到问题。例如,
frames
使用了字节字符串,它以二进制模式直接从jpeg文件读取。 我认为您不能对
stream.getvalue()
执行任何操作。它返回了可用于流式处理的数据结构(字节表示的jpeg文件)。因此,只需使用它即可

stream = io.BytesIO()
with picamera.PiCamera() as camera2:
    camera2.start_preview()
    time.sleep(0.1)
    camera2.capture(stream, format='jpeg')

yield (b'--frame\r\n'
   b'Content-Type: image/jpeg\r\n\r\n' + stream.getvalue() + b'\r\n')