代码之家  ›  专栏  ›  技术社区  ›  PuercoPop

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

  •  3
  • PuercoPop  · 技术社区  · 14 年前

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

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

    img.to字符串()给了我奇怪的特征。

    4 回复  |  直到 14 年前
        1
  •  3
  •   FarisHijazi    5 年前

    我想这就是你想要的:

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

    无论如何,您应该检查opencv python cookbook 用于PIL和NUMPY软件包。

        2
  •  2
  •   meduz    14 年前

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

    opencv documentation 感谢你的帮助!

        3
  •  1
  •   karlphillip    14 年前

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

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

        4
  •  0
  •   Mark    14 年前

    根据文件, QueryFrame IplImage . IplImage可以作为 arbitrary array "Get" set of functions 访问数组元素。