初学opencv小记-对像素的操作

来源:互联网 发布:mysql 32位 64位 编辑:程序博客网 时间:2024/05/21 05:42

opencv现在主要用两种语言,一个是C语言和C++语言

1c语言直接访问像素的方法是

1)IplImage img;

uchar* pdata;  //声明一个指针

img=cvLoadImage(...);

pdata=(uchar *)img->imageData;  //这就获得指向第一个像素的指针

pdata+row*img->widthStep+col即为你想要指向的行数和列数的像素

2)pixval32f( img, r, c )

r为行,c为列

这个函数其实就是上面取得的那个指针


2c++版本的

有好几个方法

1)

Mat image;

image.at<Vec3b>(x,y)[c]即为像素值

x为行,y为列,c为通道  (rgb依次通道)

2)

uchar* data= image.ptr<uchar>(j);//可以先获得每一行的第一个像素的指针下面你懂的,就跟指针操作一样

3)其实第一种和第二种可以归为一类

下面这种是纯指针了,我觉得这种方便

下面指向坐标为(j,i)的像素的指针

data= image.data+j*image.step+i*image.elemSize();  



原创粉丝点击