java mjpeg_逐帧下载MJPEG流

我有一个IP摄像头设置,我可以浏览到它的IP并获得一个MJPEG流,我正在尝试逐帧下载,以便我可以分析另一台服务器上的图像 . 但是我在阅读流时遇到了麻烦 . 我的代码是:

import cv2

import urllib.request

import numpy as np

import ssl

ctx = ssl.create_default_context()

ctx.check_hostname = False

ctx.verify_mode = ssl.CERT_NONE

stream = urllib.request.urlopen('https://x.x.x.x:8602/Interface/Cameras/GetJPEGStream?Camera=Bosch%20NBE6502AL%20Bullet&ResponseFormat=XML&AuthUser=username&AuthPass=password',context=ctx)

bytes = ''

while True:

bytes += stream.read(1024)

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.CV_LOAD_IMAGE_COLOR)

cv2.imshow('i', i)

if cv2.waitKey(1) == 27:

exit(0)

它给我以下错误:

Traceback (most recent call last):

File "mjpeg.py", line 15, in

bytes += stream.read(1024)

TypeError: can only concatenate str (not "bytes") to str

我认为流输出字符串,但我如何将流转换为字节并保存文件?

亲切的问候,

Ellens

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值