python – Opencv …获取IPLImage或CvMat中的数据

我正在用python中的opencv做一些简单的程序.我想自己编写一些算法,因此需要获取图像中的“原始”图像数据.我不能只做图像[i,j],我怎么能得到数字?

谢谢

解决方法:

使用LoadImageM将图像文件直接加载到cvmat的快速示例:

import cv

path = 'stack.png'
mat = cv.LoadImageM(path, cv.CV_LOAD_IMAGE_UNCHANGED)
x, y = 42, 6
print type(mat)
print mat[y, x]

输出:

<type 'cv.cvmat'>
(21.0, 122.0, 254.0)

快速示例显示如何将一个或多个颜色通道复用0.5:

for x in xrange(mat.cols):
    for y in xrange(mat.rows):
        # multiply all 3 components by 0.5
        mat[y, x] = tuple(c*0.5 for c in mat[y, x])

        # or multiply only the red component by 0.5
        b, g, r = mat[y, x]
        mat[y, x] = (b, g, r * 0.5)
上一篇:OpenCV_一些基础但是不了解也不影响使用的知识


下一篇:Python / OpenCV:转换从捕获中获取的图像