2

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

4

1 回答 1

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->imageData 返回一个指向图像起始内存位置的指针

img->widthStep 是图像行中的字节数

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

于 2012-07-20T17:49:10.523 回答