这里Vex3f 也可以是Vec3b

#include<opencv2\opencv.hpp>
#include<iostream>
#include<math.h>
using namespace cv;
using namespace std;//读写图像,
//读写像素,
//修改像素值
int main()
{Mat src = imread("E:\\vs2015\\opencvstudy\\2.jpg", 1);if (!src.data){cout << "could not load image!" << endl;return -1;}//imshow("inputImage", src);//单通道取反Mat gray_src;cvtColor(src, gray_src, CV_BGR2GRAY);//imshow("gray_src", gray_src);int rows = gray_src.rows;int cols = gray_src.cols;Mat gray_src_invert = Mat::zeros(gray_src.size(), gray_src.type());/*for (int row = 0; row < rows; row++){for (int col = 0; col < cols; col++){int gray_pixel = gray_src.at<uchar>(row, col);gray_src_invert.at<uchar>(row, col) = 255 - gray_pixel;}}imshow("gray_src_invert", gray_src_invert);*///3通道取反Mat dst,dst2;dst.create(src.size(), src.type());dst2.create(src.size(), src.type());int height = src.rows;int width = src.cols;int nc = src.channels();for (int row = 0; row < height; row++){for (int col = 0; col < width; col++){if (nc == 1){int gray_pixel = gray_src.at<uchar>(row, col);gray_src_invert.at<uchar>(row, col) = 255 - gray_pixel;}else if (nc == 3){int b = src.at<Vec3b>(row, col)[0];int g = src.at<Vec3b>(row, col)[1];int r = src.at<Vec3b>(row, col)[2];dst.at<Vec3b>(row, col)[0] = 255 - b;dst.at<Vec3b>(row, col)[1] = 255 - g;dst.at<Vec3b>(row, col)[2] = 255 - r;dst2.at<Vec3b>(row, col) = (r, max(g, b));}}}//imshow("3通道取反像素操作", dst);Mat bitwise_not_dst;bitwise_not(src, bitwise_not_dst);  //位操作取反。等价于上面的像素操作//imshow("3通道取反bitwise_not", bitwise_not_dst);imshow("dst2", dst2);//空白图像赋值Mat M3;M3.create(gray_src.size(), gray_src.type());M3 = Scalar(0);imshow("空白图像", M3);//ROI选择Rect r(300, 300, 1000, 400);  //左上角的横坐标,纵坐标,矩形高度,宽度cout << "gray_image height:" << gray_src.rows << endl;cout << "gray_image width:" << gray_src.cols << endl;Mat smallImg = gray_src(r);imshow("ROI截取图像", smallImg);waitKey(0);return 0;
}

opencv4-图像操作相关推荐

  1. 【Matlab 控制】矩阵、图像操作基础

    Matlab矩阵.图像操作基础 1. 矩阵操作 计算特征值和特征向量 计算矩阵指数 2. 图像操作 显示单条曲线 显示多条曲线 设置曲线线宽 添加图例 添加x轴y轴标签 添加图像标题 3. 显示结果 ...

  2. OpenCV图像操作的实例(附完整代码)

    OpenCV图像操作的实例 OpenCV图像操作的实例 OpenCV图像操作的实例 #include "opencv2/core.hpp" #include "openc ...

  3. OpenCV图像操作

    OpenCV图像操作 OpenCV图像操作 输入输出 图片 图像的基本操作 访问像素强度值 内存管理和引用计数 原始操作 可视化图像 OpenCV图像操作 输入输出 图片 C ++ 从文件加载图像: ...

  4. python计算机视觉编程——第一章(基本的图像操作和处理)

    第1章 基本的图像操作和处理 1.1 PIL:Python图像处理类库 1.1.1 转换图像格式--save()函数 1.1.2 创建缩略图 1.1.3 复制并粘贴图像区域 1.1.4 调整尺寸和旋转 ...

  5. HT for Web基于HTML5的图像操作(三)

    上篇采用了HTML5的Canvas的globalCompositeOperation属性达到了染色效果,其实CSS也提供了一些常规图像变化的设置参数,关于CSS的过滤器Filter设置可参考 http ...

  6. python计算机视觉编程——基本的图像操作和处理

    python计算机视觉编程--第一章(基本的图像操作和处理) 第1章 基本的图像操作和处理 1.1 PIL:Python图像处理类库 1.1.1 转换图像格式--save()函数 1.1.2 创建缩略 ...

  7. python-基本的图像操作和处理

    python-基本的图像操作和处理 本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Python 工具包,并介绍用于读取图像.图像转换和缩放.计算导数.画图和保存结果等的基本工具. ...

  8. 计算机视觉编程——基本的图像操作和处理

    文章目录 基本的图像操作和处理 1 Python图像处理类库 1.1 转换图像格式 1.2 创建缩略图 1.3 复制和粘贴图像区域 1.4 调整尺寸和旋转 2 Matplotlib 2.1 绘制图像. ...

  9. Python计算机视觉编程第1章基本的图像操作和处理

    目录 第 1 章 基本的图像操作和处理 1.1 PIL:Python图像处理类库 1.1.1 转换图像格式 1.1.2 创建缩略图 1.2 Matplotlib 1.2.1 绘制图像.点和线 1.2. ...

  10. Python计算机视觉编程第一章 基本的图像操作与处理

    基本的图像操作与处理 一.基本介绍 1.1PIL:Python图像处理类库 1.2Matplotlib 1.3Numpy 1.4Scipy 二.例子练习 2.1PIL基础操作 2.1.1 转换图像格式 ...

最新文章

  1. 第十、十一周项目五 - 摩托车继承自行车和机动车
  2. 澎思科技新出行人再识别(ReID)算法,刷新三大数据集最高记录
  3. linux SHELL下替代sed、ask的常用字符串处理(截取,判断、替换)
  4. 华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化...
  5. Multisim仿真—恒流源电路(二)
  6. 职称计算机cad考试 多少分通过,2017职称计算机考试AutoCAD知识之直线的绘制
  7. 2009 year English Inprovement for IT developments
  8. Red Hat linux9 初装配置
  9. 淘宝商品详情,1688商品详情滑块的解决方法和接口
  10. Redis基本使用|基本命令|redis事务|Jedis|持久化|订阅|集群|
  11. VERITA Netbackup日常巡检详细说明
  12. 数学笔记24——分部积分
  13. 如何使用 Django 进行分页
  14. Python统计分析基础操作
  15. vscode没法选python解释器interpreter
  16. python有哪两种表现形式小练笔_小练笔的各种形式
  17. python 识别图像主题并切割
  18. 发布.net core项目缺少‘Microsoft.NETCore.App‘
  19. Error response from daemon: conflict: unable to delete f6d0b4767a6c (must be forced) - image is refe
  20. Python-pandas批量读写操作Excel

热门文章

  1. js 二叉树图形_js数据结构和算法(三)二叉树
  2. jenkins使用哪个版本号_Linux下安装JDK及jenkins
  3. Git初学札记(八)————版本回退
  4. Java并发编程实战————可重入内置锁
  5. linux下tomcat部署java web项目_求助帖 linux服务器 tomcat部署javaweb项目问题
  6. rfc方式的集成 sap_转载: 与SAP集成的接口方式比较:IDOC BAPI RFC 之间的区别
  7. flex 固定一列_css实现两列固定与一列自适应的几种方法
  8. zigbee无线通信数码管实验、usbDongle抓包、发字符串
  9. 深度优先搜索重要模板
  10. 基于jsp+mysql+Spring+hibernate+的SSH在线学习交流论坛平台