不多废话上代码~~
void pixl_visit(Mat &image)
{
int w= image.cols; //宽 也就是列
int h= image.rows; //高 也就是行
int dims = image.channels(); //通道 有单通道如:灰度图,三通道的如:RGB图
for(int row=0;row<h;row++){
for(int col=0;col<w;col++){
if(dims ==1){ //单通道
int pv=image.at<uchar>(row,col); //uchar 限定在8位以内
image.at<uchar>(row,col)=255-pv; //反向图
}
if(dims==3){ //三通道
Vec3b bgr= image.at<Vec3b>(row,col); //vec3b opencv专用的表示三通数组值
image.at<Vec3b>(row,col)[0]=255-bgr[0]; //
image.at<Vec3b>(row,col)[1]=255-bgr[1];
image.at<Vec3b>(row,col)[2]=255-bgr[2];
}
}
}
imshow("像素读写显示",image); //对每个像素都处里了,可以进行算术运算
}