Python OpenCV 彩色与灰度图像的转换实现


Posted in Python onJune 05, 2021

彩色图像转换为灰度图像

第一种方式通过 imread 读取图像的时候直接设置参数为 0 ,自动转换彩色图像为灰度图像
第二种方式,可以通过 split 进行通道分离,或者叫做读取单个通道,也可以将一个彩色图像分离成 3 个单通道的灰度图像

今天要学习的方法,是通过一个叫做 cvtColor 的方法实现该操作。

cv2.cvtColor() 方法用于将图像从一种颜色空间转换为另一种颜色空间。
OpenCV 提供了 150 多种 color-space 转换方法。多到用不过来~

该方法的语法格式为:

cv2.cvtColor(src, code[, dst[, dstCn]])

参数:

  • src:它是要更改其色彩空间的图像。
  • code:它是色彩空间转换代码。
  • dst:它是与 src 图像大小和深度相同的输出图像,可选参数。
  • dstCn:它是目标图像中的频道数。如果参数为 0,则通道数自动从 src 和代码得出,可选参数。

参数翻译成中文,也找到了

cvtColor(src,dst,code,dstCn)  ===>  (原图像,color转化代码,输出图像,输出通道)

转换灰度图代码如下:

import cv2

# path
path = './7_1.jpg'

# 读取图片
src = cv2.imread(path)

# 图片展示窗口名称
window_name = 'Image'

# BGR 转换成灰度图
image = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)

cv2.imshow(window_name, image)

cv2.waitKey()

Python OpenCV 彩色与灰度图像的转换实现

也看到了 HSV 格式图片,转换结果如下,有点吓人,顺便转换了其他的一些格式:

import cv2
import matplotlib.pyplot as plt
# path
path = './7_1.jpg'

# 读取图片
src = cv2.imread(path)

# 图片展示窗口名称
window_name = 'Image'

# BGR 转换成 RGB
image1 = cv2.cvtColor(src, cv2.COLOR_BGR2RGB)

# BGR 转换成 Gray
image2 = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)

# BGR 转换成 HSV
image3 = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)

plt.subplot(1, 3, 1)
plt.imshow(image1)
plt.title("RGB")

plt.subplot(1, 3, 2)
plt.imshow(image2,"gray")
plt.title("GRAY")

plt.subplot(1, 3, 3)
plt.imshow(image3,"hsv")
plt.title("hsv")

plt.show()

Python OpenCV 彩色与灰度图像的转换实现

伪彩色图像

彩色图片可以变成灰度图,那相应的灰度图也可以变成彩色的,当然这里说的是伪彩色图像。

这部分内容由于目前应用场景不明确,给大家贴一下我学习过程中看到的博客吧。

https://blog.csdn.net/kingroc/article/details/101302997
https://blog.csdn.net/sns1991sns/article/details/102838303
https://blog.csdn.net/xiaxuesong666/article/details/79522904

关于伪彩色图像的说明,在百度百科可以直接查阅到。

Python OpenCV 彩色与灰度图像的转换实现

感谢大佬方向性的指导

到此这篇关于Python OpenCV 彩色与灰度图像的转换实现的文章就介绍到这了,更多相关OpenCV彩色与灰度图像转换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python编写检测数据库SA用户的方法
Jul 11 Python
Python编程之多态用法实例详解
May 19 Python
在Python中的Django框架中进行字符串翻译
Jul 27 Python
python中pylint使用方法(pylint代码检查)
Apr 06 Python
详解Django之admin组件的使用和源码剖析
May 04 Python
关于python写入文件自动换行的问题
Jun 23 Python
Python绘制并保存指定大小图像的方法
Jan 10 Python
Django基础知识 URL路由系统详解
Jul 18 Python
Python模块的制作方法实例分析
Dec 21 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
Python中and和or如何使用
May 28 Python
用Python进行栅格数据的分区统计和批量提取
May 27 Python
Python深度学习之实现卷积神经网络
python opencv通过4坐标剪裁图片
Jun 05 #Python
Python还能这么玩之只用30行代码从excel提取个人值班表
Jun 05 #Python
拒绝盗图!教你怎么用python给图片加水印
python四个坐标点对图片区域最小外接矩形进行裁剪
Python OpenCV 图像平移的实现示例
Python包argparse模块常用方法
Jun 04 #Python
You might like
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
xml在joomla表单中的应用详解分享
2012/07/19 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
PHP多进程编程实例详解
2017/07/19 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
基于jquery的分页控件(C#)
2011/01/06 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
js定时器(执行一次、重复执行)
2014/03/07 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
js实现自定义路由
2017/02/04 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
js正则取值的结果数组调试方法
2018/10/10 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
Python实现多属性排序的方法
2018/12/05 Python
python的继承知识点总结
2018/12/10 Python
用Pelican搭建一个极简静态博客系统过程解析
2019/08/22 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
python中翻译功能translate模块实现方法
2020/12/17 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
数控专业毕业生求职信范文
2013/09/21 职场文书
公司委托书范本
2014/04/04 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书