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实现倒计时的示例
Feb 14 Python
浅谈Python数据类型之间的转换
Jun 08 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
浅析PHP与Python进行数据交互
May 15 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
python批量下载网站马拉松照片的完整步骤
Dec 05 Python
Python Flask框架扩展操作示例
May 03 Python
Python学习笔记之For循环用法详解
Aug 14 Python
python多线程并发及测试框架案例
Oct 15 Python
为什么相对PHP黑python的更少
Jun 21 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
Sep 01 Python
用Python实现职工信息管理系统
Dec 30 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文本操作类
2006/11/25 PHP
php 不同编码下的字符串长度区分
2009/09/26 PHP
PHP将两个关联数组合并函数提高函数效率
2014/03/18 PHP
php 浮点数比较方法详解
2017/05/05 PHP
Yii2.0框架实现带分页的多条件搜索功能示例
2019/02/20 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
js TextArea的选中区域处理
2010/12/28 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
vue中路由验证和相应拦截的使用详解
2017/12/13 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
Python中的groupby分组功能的实例代码
2018/07/11 Python
python删除字符串中指定字符的方法
2018/08/13 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
Python socket实现多对多全双工通信的方法
2019/02/13 Python
python 模拟创建seafile 目录操作示例
2019/09/26 Python
Django连接数据库并实现读写分离过程解析
2019/11/13 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
铭宣海淘转运:美国、日本、英国转运等全球转运公司
2019/09/10 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
法学毕业生自我鉴定
2013/11/08 职场文书
家长写给老师的建议书
2014/03/13 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
建筑安全标语
2014/06/07 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
党支部意见范文
2015/06/02 职场文书
Mysql - 常用函数 每天积极向上
2021/04/05 MySQL