用Python OpenCV将图像作为数组捕获

2024-10-01 19:29:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我从示例中了解了如何显示网络摄像头中的图像,但如何将图像捕获为数组?

import cv

capture = cv.CaptureFromCAM(0)
img = cv.QueryFrame(capture)

img.tostring()给了我奇怪的字符。 谢谢你的建议


Tags: 图像import网络示例img数组字符cv
3条回答

我认为您的问题可能是打印/显示数组内容的方式。

不过,this blog post演示了如何使用python从linux上的网络摄像头捕获帧。

我想这就是你要找的:

img=cv.LoadImage("asd.png")
mat=cv.GetMat(img)
mat[3,1]
(83.0, 88.0, 89.0)

无论如何,您应该检查opencv pythoncookbook是否与PIL和NUMPY包一起使用。

一定要得到一个包含numpy支持的opencv。我的工作顺序是捕获一个IPL,转换成cvMat,转换成numpy:

import cv, numpy, pylab
capture = cv.CaptureFromCAM(0)
img = cv.QueryFrame(capture)
mat=cv.GetMat(img)
a = numpy.asarray(mat)
pylab.imshow(a)

注意,颜色的表示不同于pylab的假设。但是有人来帮助你!

相关问题 更多 >

    热门问题