方法一:
IplImage *img=cvLoadImage("c://fruitfs.bmp",1);
CvScalar s;
for(int i=0;i<img->height;i++)...{
for(int j=0;j<img->width;j++)...{
s=cvGet2D(img,i,j); // get the (i,j) pixel value
printf("B=%f, G=%f, R=%f ",s.val[0],s.val[1],s.val[2]);
s.val[0]=111;
s.val[1]=111;
s.val[2]=111;
cvSet2D(img,i,j,s);//set the (i,j) pixel value
}
}
方法二
for (int row = 0; row < mat->rows; row++){
const float* ptr = (cosnt float*) (mat->data.ptr + row * mat->step);
for (int col = 0; col < mat->cols; col++){
}
}
const float* ptr = (cosnt float*) (mat->data.ptr + row * mat->step);
for (int col = 0; col < mat->cols; col++){
}
}
本文介绍了两种不同的图像处理方法,一种使用IplImage结构体通过cvGet2D和cvSet2D函数读取和设置像素值;另一种使用Mat结构体通过直接访问数据指针的方式进行像素操作。这两种方法都是OpenCV中常见的图像处理手段。
7442

被折叠的 条评论
为什么被折叠?



