0
点赞
收藏
分享

微信扫一扫

遍历图像的像素

大柚子top 2022-05-26 阅读 49

1 方法

遍历图像像素

  • 方一:

at<typename>(i,j)

  • 方二:

指针来遍历图像

取出图像中第i行数据的指针:

image.ptr<uchar>(i)

  • 方三:
    Mat提供了一个检测图像是否连续的函数isContinuous()。当图像连通时,我们就可以把图像完全展开,看成是一行。
    image.step返回图像一行像素元素的个数(包括空白元素),image.elemSize()返回一个图像像素的大小。

&image.at<uchar>(i,j)=image.data+i*image.step+j*image.elemSize();

  • 方四:
    下面的方法可以让我们来为图像中的像素声明一个迭代器:

MatIterator_<Vec3b> it;

Mat_<Vec3b>::iterator it;

如果迭代器指向一个const图像,则可以用下面的声明:

MatConstIterator<Vec3b> it; //或者

Mat_<Vec3b>::const_iterator it;

如果你想从第二行开始,则可以从image.begin()+image.rows开始。

举报

相关推荐

0 条评论