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 相关文章推荐
打开电脑上的QQ的python代码
Feb 10 Python
Python中字符串对齐方法介绍
May 21 Python
python学习之面向对象【入门初级篇】
Jan 21 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
解决Pycharm出现的部分快捷键无效问题
Oct 22 Python
如何基于Python实现电子邮件的发送
Dec 16 Python
python中的subprocess.Popen()使用详解
Dec 25 Python
python图形界面开发之wxPython树控件使用方法详解
Feb 24 Python
AUC计算方法与Python实现代码
Feb 28 Python
Python常用编译器原理及特点解析
Mar 23 Python
Softmax函数原理及Python实现过程解析
May 22 Python
Python生成九宫格图片的示例代码
Apr 14 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/12/13 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
2017/04/21 Javascript
Angular.js中ng-include用法及多标签页面的实现方式详解
2017/05/07 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
Vue DevTools调试工具的使用
2017/12/05 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
javascript实现拼图游戏
2021/01/29 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
python实现复制整个目录的方法
2015/05/12 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
python快速编写单行注释多行注释的方法
2019/07/31 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
python调用摄像头的示例代码
2020/09/28 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
最新销售员个人自荐信
2013/09/21 职场文书
年终晚会主持词
2014/03/25 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
大学生党员自我评价
2015/03/04 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
运动会新闻稿
2015/07/17 职场文书