读入一张RGB彩色图片,并将其转为灰度图

源码如下:

#include <opencv2\highgui\highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat srcImage = imread("E:\\matlab_file\\defocus\\set_database\\Ref_duoshizhen\\F_1_l.bmp");
imshow("轮盘",srcImage);
waitKey(0);
Mat dst;
cvtColor(srcImage, dst, CV_RGB2GRAY);
imshow("轮盘", dst);
waitKey(0);
return 1;

}

Mat 类:作为存储图像的数据结构,无论是彩色图像还是灰度图像,都存成二维的矩阵

waitKey(delay):不断刷新图像,频率时间为delay,单位为ms。在一个给定的时间内(单位ms)等待用户按键触发;如果用户没有按下键,则接续等待(循环)。如果设置waitKey(0),则表示程序会无限制的等待用户的按键事件。

cvtColor(srcImage, dst, code):

srcImage:输入图像

dst:输出图像

code:色彩空间转换的模式

CV_RGB2GRAY:<彩色图像——>灰度图像>
            CV_BGR2YCrCb, CV_RGB2YCrCb, CV_YCrCb2BGR, CV_YCrCb2RGB

CV_BGR2HSV, CV_RGB2HSV, CV_HSV2BGR, CV_HSV2RGB

CV_BGR2GRAY表示转换为灰度图,CV_BGR2HSV将图片从RGB空间转换为HSV空间。其中当code选用CV_BGR2GRAY时,dst需要是单通道图片。当code选用CV_BGR2HSV时,对于8位图,需要将RGB值归一化到0-1之间。这样得到HSV图中的H范围才是0-360,S和V的范围是0-1。

opencv 学习笔记——读入一张图片,并将其转为灰度图相关推荐

  1. opencv学习笔记1:图片读入,显示与保存(有代码)

    读入图像 cv2.imread(filepath,flags) 说明: filepath文件名 图片路径. 如原始路径为: D:\lesson\2345_image_file_copy_15.jpg ...

  2. opencv 手选roi区域_【opencv学习笔记六】图像的ROI区域选择与复制

    图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...

  3. OpenCV学习笔记02--图像像素处理--二值图像、灰度图像、彩色图像像素的处理、numpy.array中的对应的函数

    目录 (一)灰度图像像素处理 (二)彩色图像像素处理 (三)numpy.array库在图像处理中的应用 (四)查看图像的属性信息 接着笔记01继续总结,当我们读取一幅图像的时候,一般为二值图像.灰度图 ...

  4. opencv学习笔记(二):基于肤色的人手检测

    opencv学习笔记(二):基于肤色的人手检测 原文:http://blog.csdn.net/wzmsltw/article/details/50849810 先写了人手的检测程序,下一步基于检测程 ...

  5. 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版)

    经过几天的学习,opencv基础部分学习完啦.整理出来. OpenCV opencv学习笔记1:图片读入,显示与保存(有代码) opencv学习笔记2:图像处理基础 opencv学习笔记3:像素处理 ...

  6. opencv学习笔记7:图像加法与图像融合

    图像加法 1.使用Numpy加法 运算方式:结果=图像1+图像2 原理:图像数据格式为unit8 8位二进制表示范围是0到255. 二进制相加 1.不超过255的,如100+58=158 2.两数相加 ...

  7. OpenCV学习笔记之Mat

    一. Mat介绍 在2001年刚刚出现的时候,OpenCV基于 C 语言接口而建.为了在内存(memory)中存放图像,当时采用名为 IplImage 的C语言结构体,时至今日这仍出现在大多数的旧版教 ...

  8. OpenCV学习笔记(十一):阈值化:threshold(),adaptivethreshold()

    OpenCV学习笔记(十一):阈值化:threshold(),adaptivethreshold() 一.定义: 1)固定阈值操作 double threshold( InputArray src, ...

  9. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()

    OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize() 一.图像金字塔定义: 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是 ...

最新文章

  1. php将关联数组输出到前台,如何使用foreach从PHP中的关联数组输出特定数据
  2. javascrip python_Python之Javascript
  3. Django入门(二) 理解Django生命流程周期
  4. UILabel 的属性设置
  5. c++ 友元函数,友元类
  6. LeetCode 159. 至多包含两个不同字符的最长子串 (滑动窗口哈希表)
  7. 十四、View Port 2.0
  8. poythoncode-实战3--判断输入参数--过滤条件
  9. 编译器GCC的Windows版本 : MinGW-w64安装教程
  10. python练习集100题_Python练习集100题
  11. Doors软件安装以及DXL入门
  12. 易语言取CPU序列号特征字
  13. 苹果macOS 13 Ventura 5K原生动态壁纸
  14. 零基础搭建完全免费个人静态博客
  15. 适配器模式实战场景和本质
  16. xcode 快速生成代码块
  17. 什么软件可以剪辑音乐?
  18. 关于USB中文网的近况
  19. 国外导师对博士后申请简历的几点建议
  20. 爬虫第二弹之http协议和https协议

热门文章

  1. Java execl导出
  2. java怎么设置全局变量_浅谈Java开发中如何定义的全局变量
  3. 2020最新的新浪短网址(T.CN短链接)API接口分享
  4. Vue $refs 原理
  5. CSS网格教程:网格布局模块/网格容器/网格项目
  6. 377. 组合总和IV
  7. 为什么要最大化后验概率
  8. SpringBoot JPA 配置多个数据库
  9. 教你如何选择液晶显示器
  10. JavaEE基础第9章Java常用类