opencv图像像素的读写操作

cpp 复制代码
void QuickDemo::pixel_visit_demo(Mat & image)
{
	int w = image.cols;//宽度
	int h = image.rows;//高度
	int dims = image.channels();//通道数   图像为灰度dims等于一   图像为彩色时dims等于三  
	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类型  转型
	/*对其进行改变*/image.at<uchar>(row, col)=255-pv;//pv原来就是0->255  减去也没有改变范围
			}
			if (dims = 3)//如果是彩色图像 
			{
				//读取
			Vec3b bgr=image.at<Vec3b>(row, col);//获取回来是三个值   Vec3b系统设定的

			/*对其进行改变*/   //对图像颜色取反
			image.at<Vec3b>(row, col)[0] = 255 - bgr[0];//第0个通道
			image.at<Vec3b>(row, col)[1] = 255 - bgr[1];
			image.at<Vec3b>(row, col)[2] = 255 - bgr[2];
			}
		}
	}
	imshow("像素读写演示", image);
}

把图片改为灰度

Mat src = imread("E:/download/images/test.png", IMREAD_GRAYSCALE);

把后面那删了

成功

相关推荐
phoenix@Capricornus3 分钟前
频域滤波是线性运算的证明
图像处理
埃科光电2 小时前
埃科光电2.5D成像系统,破解精密制造微缺陷检测难题
图像处理·计算机视觉·制造·相机·机器视觉
ComputerInBook2 小时前
OpenCV图像处理——透视变换
图像处理·人工智能·opencv·透视变换
_李小白3 小时前
【android opencv学习笔记】Day 23: 分水岭图像分割
android·opencv·学习
君为先-bey3 小时前
LeMiCa——基于扩散的高效视频生成的词典序最小最大路径缓存
人工智能·深度学习·计算机视觉·扩散模型
热心不起来的市民小周4 小时前
100种动物矩形框和分割数据集
人工智能·计算机视觉·目标跟踪
weixin_468466854 小时前
目标识别算法落地实战:从选型到部署的全流程指南
图像处理·人工智能·python·算法·目标检测·机器视觉·目标识别
盼小辉丶4 小时前
OpenCV-Python实战(24)——打造实时图像滤镜系统
人工智能·python·opencv·计算机视觉
yugi9878384 小时前
基于Qt的图像处理系统
开发语言·图像处理·qt
白日做梦Q14 小时前
Label Studio 安装与使用完整文档(可直接复制部署)
深度学习·yolo·计算机视觉