您现在的位置是:主页 > news > dede手机网站制作/南宁百度seo公司
dede手机网站制作/南宁百度seo公司
admin2025/6/19 21:55:53【news】
简介dede手机网站制作,南宁百度seo公司,个人可以备案几个网站,有没有专门做素食的美食网站我正在开发一个应用程序,可以从网络摄像头流中进行面部识别。我得到画布的base64编码的数据uri,并希望使用它执行如下操作:cv2.imshow(image,img)数据URI如下所示:https://img-blog.csdnimg.cn/2022010611371477926.gif所以&#…
我正在开发一个应用程序,可以从网络摄像头流中进行面部识别。我得到画布的base64编码的数据uri,并希望使用它执行如下操作:cv2.imshow('image',img)
数据URI如下所示:https://img-blog.csdnimg.cn/2022010611371477926.gif
所以,为了清楚起见,我已经展示了图像的外观,这样base64字符串就不会断开。
official doc表示,imread接受文件路径作为参数。从this回答,如果我做了如下事情:import base64
imgdata = base64.b64decode(imgstring) #I use imgdata as this variable itself in references below
filename = 'some_image.jpg'
with open(filename, 'wb') as f:
f.write(imgdata)
上面的代码片段可以正常工作,并正确生成图像文件。然而,我认为这么多的文件IO操作是不可行的,因为我会对流的每一帧都这样做。我希望能够将图像读入内存,直接创建img对象。
我试过两种方法,似乎对某些人有用。pilImage = Image.open(StringIO(imgdata))
npImage = np.array(pilImage)
matImage = cv.fromarray(npImage)
我得到的cv没有定义为我已经安装了openCV3,它作为cv2模块提供给我。我试过img = cv2.imdecode(npImage,0),但没有返回任何结果。
从解码字符串中获取字节并将其转换为一个numpy数组file_bytes = numpy.asarray(bytearray(imgdata), dtype=numpy.uint8)
img = cv2.imdecode(file_bytes, 0) #Here as well I get returned nothing
文档并没有真正提到imdecode函数返回什么。但是,根据我遇到的错误,我猜它应该是numpy array或scalar作为第一个参数。如何处理内存中的图像,以便我可以在此后处理cv2.imshow('image',img)和各种很酷的事情。
我希望我能说清楚。