ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

opencv第4讲--遍历图像中的每一个像素

2021-12-21 08:31:07  阅读:144  来源: 互联网

标签:-- image 像素 current opencv int 255 col row


void QuickDemo::pixel_visit_demo(Mat& image)
{
	int w = image.cols;      //获得图像的宽
	int h = image.rows;      //获得图像的高

	int dims = image.channels();  //获得图像通道的数量

	//for (int row = 0; row < h; row++)
	//{
	//	for (int col = 0; col < w; col++)
	//	{
	//		if (dims == 1)   //灰度图像
	//		{
	//			int pv = image.at<uchar>(row, col);   //获得像素数值

	//			image.at<uchar>(row, col) = 255 - pv;  //重新赋值
	//		}
	//		else             //彩色图像
	//		{
	//			Vec3b bgr = image.at<Vec3b>(row, col);
	//			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];
	//		}
	//	}
	//}

	for (int row = 0; row < h; row++)
	{
		uchar* current_row = image.ptr<uchar>(row);    //获取当前行的指针
		for (int col = 0; col < w; col++)
		{
			if (dims == 1)   //灰度图像,一个通道
			{
				int pv = *current_row;   //获得像素数值

				*current_row++ = 255 - pv;  //重新赋值
			}
			else             //彩色图像, 三个通道
			{
				*current_row++ = 255 - *current_row;
				*current_row++ = 255 - *current_row;
				*current_row++ = 255 - *current_row;
			}
		}
	}



	imshow("像素读写演示", image);
}

  

标签:--,image,像素,current,opencv,int,255,col,row
来源: https://www.cnblogs.com/xcxfury001blogs/p/15713683.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有