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);

把后面那删了

成功

相关推荐
扫地僧98523 分钟前
Tyche :医学图像分割中的随机上下文学习
人工智能·机器学习·计算机视觉
C++ 老炮儿的技术栈1 小时前
如何利用 OpenCV 将图像显示在对话框窗口上
c语言·c++·人工智能·qt·opencv·计算机视觉·github
大江东去浪淘尽千古风流人物2 小时前
【OpenCV parallel_for_】并行框架源码深度解析:7种后端调度、线程池自旋等待、工作窃取与跨平台CPU Yield指令全拆解
人工智能·opencv·计算机视觉·多线程·parallel_for_·tbb
还是叫明3 小时前
指针式仪表读数(机器视觉、OpenCV)
人工智能·opencv·计算机视觉
Angelina_Jolie3 小时前
CVPR 2026 Highlight | VideoCUPS:利用运动与深度线索,首个无监督视频全景分割框架,性能刷新 SOTA
计算机视觉
LabVIEW开发3 小时前
LabVIEW 做双目视觉测距?精度不输激光雷达!
人工智能·数码相机·计算机视觉·labview·labview知识·labview功能·labview程序
深度学习lover3 小时前
<数据集>yolo月球陨石坑识别<目标检测>
人工智能·yolo·目标检测·计算机视觉·数据集·月球陨石坑识别
❀抽抽4 小时前
[特殊字符] 证件照制作+检测一体化API:一次调用,过审无忧!
图像处理·人工智能·计算机视觉
奔袭的算法工程师4 小时前
论文解读--BEV-radar:: bidirectional radar-camera fusion for 3D object detection
人工智能·算法·目标检测·计算机视觉·自动驾驶·信号处理
勤自省4 小时前
OpenCV 30 讲学习总结:从零基础到机器人视觉
人工智能·opencv·计算机视觉·机器人