opencv C++ 三重for循环遍历RGB图像像素(逐像素操作、操作像素值、遍历像素遍历)at<typename>(i,j)、灰度图at<uchar>、at<Vec3b>、at<Vec3F>
示例:数组遍历法at<typename>(i,j)
—— 其中一种方法(速度可能并不是很快),如果对速度有要求可查看参考文章2里的其他方法
#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;int main(int argc, const char* argv[]) {Mat src, dst;src = imread("./test.jpg");//if (src.empty()) {if (!src.data){printf("could not load image...\n");return -1;}namedWindow("input img"); //默认自动窗口大小imshow("input img", src);dst = Mat::zeros(src.size(), src.type()); //拷贝src的大小和像素数值类型(第二个参数是位深度,目前值为16)//三个for循环,执行运算 g_dstImage(i,j) =a*g_srcImage(i,j) + bfor (int y = 0; y < src.rows; y++){for (int x = 0; x < src.cols; x++){for (int c = 0; c < 3; c++) //三个通道{//g_dstImage.at<Vec3b>(y, x)[c] = saturate_cast<uchar>((g_nContrastValue*0.01)*(g_srcImage.at<Vec3b>(y, x)[c]) + g_nBrightValue);if (c == 2) {dst.at<Vec3b>(y, x)[c] = 255 - src.at<Vec3b>(y, x)[c];}else{dst.at<Vec3b>(y, x)[c] = src.at<Vec3b>(y, x)[c];}}}}namedWindow("output img"); //默认自动窗口大小imshow("output img", dst);waitKey(0);return 0;
}
vs编译运行结果:
参考文章1:opencv遍历像素的方式
参考文章2:opencv 几种不同遍历图像像素的方法详解
opencv C++ 三重for循环遍历RGB图像像素(逐像素操作、操作像素值、遍历像素遍历)at<typename>(i,j)、灰度图at<uchar>、at<Vec3b>、at<Vec3F>相关推荐
- 根据RGB图像中颜色值生成标签灰度图,
1.前言: 代码目的:将RGB图像中不同的颜色生成标签灰度图,cyan[青蓝色]映射为0,red[红色]映射为1,yellow[黄色]映射为2 2.代码 # -*- coding: utf-8 -*- ...
- BMP格式图像知识点总结并转灰度图
24位彩图转换为灰度图练习 练习目的 位图知识点 BMP图像存储结构 位图文件头 位图信息头 调色板 位图数据 转灰度图重点 代码例程 练习目的 BMP格式图片灰度化 位图知识点 刚拿到任务时觉得图像 ...
- python用numpy和pil处理图像成灰度图_「火炉炼AI」机器学习047-图像的直方图均衡化操作...
[火炉炼AI]机器学习047-图像的直方图均衡化操作 [火炉炼AI]机器学习047-图像的直方图均衡化操作 (本文所使用的Python库和版本号: Python 3.6, Numpy 1.14, sc ...
- RGB 转换为灰度图、二值化图
from PIL import Image I = Image.open('lena.png') I.show() L = I.convert('L') #转化为灰度图 L = I.convert(' ...
- opencv学习5:cvtColor RGB图像转灰度图像原理
简介 将彩色图像转化成为灰度图像的过程成为图像的灰度化处理.彩色图像中的每个像素的颜色有R.G.B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的 ...
- 事实证明,OpenCV中对RGB图像数据的存储顺序是BGR,而且Scalar()的顺序也是B,G,R
验证程序的源码如下(用到的图像下载链接为Red_pic.jpg_免费高速下载|百度网盘-分享无限制): 图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料 ...
- OpenCV系列 | BGR图像转换为RGB图像
目录 方法一 方法二 使用OpenCV加载图像时,默认使用BGR的格式,而使用matplotlib显示图像时又采用RGB的格式,因此显示图像时,会显得非常奇怪. 如以一张船的照片为例,原图如下: 使用 ...
- 【C++ Opencv】读写灰度图像,RGB图像的某个像素、修改像素值、图像取反(源码+API)
1. 读写像素 (1)读一个灰度图像的某点像素值 Scalar intensity=img.at<uchar>(y,x); 或者Scalar intensity =img.at<uc ...
- OpenCV 创建黑白图像和RGB图像
OpenCV 创建图像 # -*- coding: utf-8 -*- # @Time : 2021/7/20 # @Author : ZYh """ Introduct ...
最新文章
- 【数据安全案例】交警计算机系统再遭***,交通违法记录随意删除
- 以获客为目标 ,首席增长官从0到1实现用户增长
- vsftp配置文件详解
- linux常用网络命令
- 【Cinemachine智能相机教程】VirtualCamera(三):Aim属性
- graphviz安装以及入门
- Since WWDC released the first developer
- JavaScript基本类型值和引用类型值的复制问题
- IMX8基于FFT的GPU和CPU的性能测试
- word参考文献格式设置(国标下载)
- 非系统盘根目录出现Msdia80.dll文件如何处理
- 【Project】基于LD3320 的智能语音控制系统
- Windows平台的网速监控悬浮窗软件
- JavaWeb-16 (E家园项目案例1)
- Ar大屏幕互动,面向非专业领域的体验
- linux下的ip tunnel workflow
- 【贪心】(雾)小Y的炮
- 主机升级rsyslog后服务异常分析,rsyslog服务重启报错
- winform停车场收费管理系统VS开发sqlserver数据库CS结构c#编程源码程序
- python基础实例