加载图像(用cv::imread)
imread功能是加载图像文件成为一个Mat对象 其中第一个参数表示图像文件名称
第二个参数 表示加载的图像是什么类型 支持常见的三个参数值
IMREAD_UNCHANGE(<0)表示加载原图 不做任何改变
IMREAD_GRAYSCALE(0)表示把原图作为灰度图像加载进来
IMREAD_COLOR(>0)表示把原图作为RGB图像加载进来
注意:OpenCV支持jpg png tiff等常见格式图像文件加载

显示图像(cv::namedWindow与cv::imshow)
namedWindow功能是创建一个OpenCV窗口 它是由OpenCV自动创建与释放 你无需去销毁它
常见用法:nameWindow("Window Title",WINDOW_AUTOSIZE)
WINDOW_AUTOSIZE会自动根据图像大小 显示窗口大小 不能人为的改变窗口大小
WINDOW_NORMAL跟QT集成的时候会使用 允许修改窗口大小
imshow根据窗口名称显示图像到指定的窗口上去,第一个参数是窗口名称,第二个参数是Mat对象

修改图像(cv::cvtColor)
cvtColor的功能是把图像从一个彩色空间转换到另外一个色彩空间 有三个参数
第一个参数表示源图像 第二个参数表示色彩空间转换之后的图像
第三个参数表示源和目标色彩空间 如:COLOR_BGR2HLS COLOR_BGR2GRAY等
cvColor(image,gray_image,COLOR_BGR2GRAY)

保存图像(cv::imwrite)
保存图像文件到指定目录路径
只有8位 16位的png jpg tiff文件格式而且是单通道或者三通道的BRG的图像才可以通过这种方式保存
保存png格式的时候 可以保存透明通道的图片
可以指定压缩参数

参考程序如下:

#include <opencv2\opencv.hpp>
#include <math.h>
#include <iostream>
using namespace cv;
int main(int argc, char const *argv[])
{Mat src = imread("../1.png");if(src.empty()){printf("Could not load image\n");return -1;}namedWindow("opencv setup demo",CV_WINDOW_AUTOSIZE);imshow("opencv setup demo",src);namedWindow("output windows",CV_WINDOW_AUTOSIZE);Mat output_image;cvtColor(src,output_image,CV_BGR2HSV);imshow("output windows",output_image);imwrite("D:/xxx.jpg",output_image);waitKey(0);return 0;
}

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/8590985.html

【OpenCV学习笔记之一】图像加载,修改及保存相关推荐

  1. OpenCV学习2--图片的加载,修改与保存

    OpenCV学习2--图片的加载,修改与保存 转自https://blog.csdn.net/qq_16481211/article/details/79553335 之前安装配置好OpenCV的环境 ...

  2. Opencv学习笔记(八) -- 图像色彩空间转换

    1.常见图像色彩空间 RGB RGB色彩模式是工业界的一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通道 ...

  3. 【EF学习笔记07】----------加载关联表的数据 贪婪加载

    [EF学习笔记07]----------加载关联表的数据 贪婪加载 讲解之前,先来看一下我们的数据库结构:班级表 学生表 贪婪加载 //贪婪加载 using (var db = new Entitie ...

  4. C++下opencv学习笔记(一)(图像的简单读取丶显示与存储)

    C++下opencv学习笔记(一)(图像的简单读取丶显示与存储) 前言 学习C++ OpenCV,第一需要具备面向对象语言的基础,第二要对图像处理机器学习有基础了解,容易入门.觉得自己基础已经有了可以 ...

  5. OpenCV学习笔记(九)——图像轮廓(下)

    <OpenCV轻松入门:面向Python>学习笔记(九) 1-3 查找并绘制轮廓.矩特性及Hu矩 4-5 轮廓拟合及凸包 6. 利用形状场景算法比较轮廓 6.1 计算形状场景距离 6.2 ...

  6. OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移、缩放和旋转操作

    OpenCasCade学习笔记(三):加载显示STEP格式图片,并实现平移.缩放和旋转操作 C3DWidget.h #pragma once#include <QtWidgets/QApplic ...

  7. [OpenCV学习笔记3][图像的加载+修改+显示+保存]

    正式进入OpenCV学习了,前面开始的都是一些环境搭建和准备工作,对一些数据结构的认识主要是Mat类的认识: [1.学习目标] 图像的加载:imread() 图像的修改:cvtColor() 图像的显 ...

  8. OpenCV学习笔记(七)——图像梯度及边缘检测

    图像梯度计算的是图像变化的速度.对于图像的边缘部分,其灰度值变化较大,梯度值也较大:相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小.一般情况下,图像梯度计算的是图像的边缘信息. ...

  9. Android-入门学习笔记-使用 CursorLoader 加载数据

    3 使用这个代码片段开始练习 也可以参考 Codepath 教程 高级内容补充: 你是否在思考ArrayAdapter's 的 getView() 方法和CursorAdapter 的 newView ...

最新文章

  1. 什么是块元素?什么是行内元素?
  2. 关于TableLayoutPanel里放入控件无法将Dock设为Fill的解决办法
  3. python3 xpath_Python3使用Xpath解析网易云音乐歌手页面
  4. 三十九、SPSS神器界面功能介绍,计算变量和个案计数和加权
  5. c++如何输入数组_从一个数组中找出 N 个数,其和为 M 的所有可能最 nice 的解法...
  6. mysql中datetime比较大小问题 (转的)
  7. 上海交大张拳石:神经网络的变量交互可解释性研究
  8. springboot请求处理
  9. 谷歌浏览器打开链接,如何不是覆盖当前页面而自动跳转到新标签页?
  10. Linux 内核 链表 的简单模拟(1)
  11. 从蒙到入门——JavaEE完整体系架构
  12. linux 黑苹果 win7双系统,学习笔记:安装黑苹果和win双系统(基础篇)
  13. 个人主页,引导页,导航网站源码三分钟下载安装【美观大气】
  14. 如何开启计算机cpu虚拟化,如何开启cpu虚拟化_VMware Workstation 中如何开启CPU 的虚拟化支持?...
  15. 什么是Express框架
  16. 跨越OpenGL和D3D的鸿沟
  17. 2014校园招聘之一(8月华为机试题)
  18. 中国石油大学《微观经济学》在线考试
  19. hbase命令集(shell 命令,如建表,清空表,增删改查)
  20. 算法四:跳楼梯问题2

热门文章

  1. python手机版怎么弄-手把手教你如何使用Python向手机发送通知
  2. python处理3000个excel-Python处理Excel数据的坑,一文让你不用重复犯错
  3. python基础代码事例-菜鸟世界 -python基础---set
  4. python爬虫图片-Python图片爬取方法总结
  5. 学python对学习有帮助吗-自学python有用吗?
  6. 以python入门教程新世界-Python打开新世界的大门-入门篇1
  7. python语音播报-使用pyttsx3实现python语音播报
  8. 自学python要下载什么软件-想自学Python,如何才能坚持下来?
  9. python进阶书籍的推荐-Python 入门到进阶书籍推荐
  10. python爬虫教程pdf-Python 爬虫:把廖雪峰教程转换成 PDF 电子书