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 for Informatics 第11章之正则表达式(四)
Apr 21 Python
Python全局变量用法实例分析
Jul 19 Python
Python随机生成数据后插入到PostgreSQL
Jul 28 Python
Python生成密码库功能示例
May 23 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
Apr 26 Python
python 重定向获取真实url的方法
May 11 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
python如何统计代码运行的时长
Jul 24 Python
Python加密模块的hashlib,hmac模块使用解析
Jan 02 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
怎么快速自学python
Jun 22 Python
python 如何引入协程和原理分析
Nov 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中使用excel的简单介绍
2013/08/02 PHP
使用php-timeit估计php函数的执行时间
2015/09/06 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python numpy 常用函数总结
2017/12/07 Python
python机器学习之神经网络实现
2018/10/13 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
对python中Json与object转化的方法详解
2018/12/31 Python
Django models.py应用实现过程详解
2019/07/29 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
在keras中对单一输入图像进行预测并返回预测结果操作
2020/07/09 Python
Python如何急速下载第三方库详解
2020/11/02 Python
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
任意存:BOXFUL
2018/05/21 全球购物
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
幼儿园教师奖惩制度
2014/02/01 职场文书
班主任新年寄语
2014/04/04 职场文书
校长竞聘演讲稿
2014/05/16 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
家庭暴力离婚起诉书
2015/05/18 职场文书
行政二审代理词
2015/05/25 职场文书
2016年大学生社会实践心得体会
2015/10/09 职场文书
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server