如何使用OpenCV操作像Matrix的图像?

时间:2012-07-20 03:12:45

标签: image-processing opencv

我需要开发一种方法来找到红线和图像底部的距离。 我已经使用一些例子来隔离hsv中的红线...... 我知道如何使用MatLab做到这一点,但现在我必须使用opencv:s 有人可以告诉我怎么做吗?

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式访问图像的每个像素值。

IplImage* img=cvLoadImage("your_image.jpg");
int pixelVal;
for(int x=0;x<img->height;x++){
for(int y=0;y<img->width;y++){
    pixelVal=((uchar*)(img->imageData + img->widthStep*x))[y];
}
}

在这里,

  

img-&gt; imageData返回指向图像

的起始内存位置的指针      

img-&gt; widthStep是图像行中的字节数

我们访问每个像素值并使用unsigned char指针进行转换以获取int值。