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 修改文件指定行的方法
May 15 Python
在Python的setuptools框架下生成egg的教程
Apr 13 Python
Python实现对比不同字体中的同一字符的显示效果
Apr 23 Python
python 实现批量xls文件转csv文件的方法
Oct 23 Python
Python操作json的方法实例分析
Dec 06 Python
Django框架 查询Extra功能实现解析
Sep 04 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
Jan 13 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
Jul 21 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
Dec 05 Python
Python中的 No Module named ***问题及解决
Jul 23 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
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
Backbone.js的Hello World程序实例
2015/06/19 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
2018/11/22 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
[34:41]夜魇凡尔赛茶话会 第二期02:你画我猜
2021/03/11 DOTA
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
python实现按长宽比缩放图片
2018/06/07 Python
简单了解django orm中介模型
2019/07/30 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
Python求凸包及多边形面积教程
2020/04/12 Python
python判断是空的实例分享
2020/07/06 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
机电一体化毕业生求职信
2013/11/02 职场文书
生产副总岗位职责
2013/11/28 职场文书
计划生育证明书写要求
2014/09/17 职场文书
2014年党小组工作总结
2014/12/20 职场文书
奖学金感谢信
2015/01/21 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
Spring mvc是如何实现与数据库的前后端的连接操作的?
2021/06/30 Java/Android
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server