Python 烧瓶-图像问题-无法str和numpy.ndarray
我试图从picamera(RaspberryPi)捕获图像,并使用Flask(在web上)进行显示,但我面临这个问题: b'Content-Type:image/jpeg\r\n\r\n'+frame+b'\r\n') TypeError:无法连接'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.
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 arrayframes
连接在一起时,您会遇到问题。例如,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')