int main(int argc,char **argv)
{
string image_path = "D:/vs2019Proj/conapp/timg.jpg";
Mat src_image = imread(image_path);
if(!src_image.data)
{
cout<<"could not load image..."<<endl;
return -1;
}
int height = src_image.rows;
int width = src_image.cols;
//第一种指针遍历
for (int row = 0; row < height; row++)
{
uchar* ptr = src_image.ptr<uchar>(row);
//每一次跳跃三列,也就是跳跃一个像素,三列也就是B,G,R
for (int col = 0; col < width*3; col+=3)
{
ptr[col+0] = 255 - ptr[col+0];
ptr[col+1] = 255 - ptr[col+1];
ptr[col+2] = 255 - ptr[col+2];
}
}
//第二种指针遍历
for (int row = 0; row < height; row++)
{
Vec3b* ptr = src_image.ptr<Vec3b>(row);
for (int col = 0; col < width; col++)
{
ptr[col][0] = 255 - ptr[col][0];
ptr[col][1] = 255 - ptr[col][1];
ptr[col][2]
Opencv之三通道图像的三种指针遍历
最新推荐文章于 2025-07-01 14:50:09 发布