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实现socket客户端和服务端简单示例
Feb 24 Python
Python入门篇之对象类型
Oct 17 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
Python正则抓取新闻标题和链接的方法示例
Apr 24 Python
浅谈Python中的可变对象和不可变对象
Jul 07 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
使用python3+xlrd解析Excel的实例
May 04 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
Python中实现输入一个整数的案例
May 03 Python
PyQt5实现登录页面
May 30 Python
Python学习笔记之装饰器
Aug 06 Python
用python爬虫批量下载pdf的实现
Dec 01 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
PHP5函数小全(分享)
2013/06/06 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
JS代码判断IE6,IE7,IE8,IE9的函数代码
2013/08/02 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
Python标准异常和异常处理详解
2015/02/02 Python
Python二分法搜索算法实例分析
2015/05/11 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
使用python编写监听端
2018/04/12 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
Django中create和save方法的不同
2019/08/13 Python
什么是Python中的匿名函数
2020/06/02 Python
python map比for循环快在哪
2020/09/21 Python
python两个list[]相加的实现方法
2020/09/23 Python
python 实现百度网盘非会员上传超过500个文件的方法
2021/01/07 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
师范生自荐信范文
2013/10/06 职场文书
《晏子使楚》教学反思
2014/02/08 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
会计学专业自荐信
2014/06/25 职场文书
个人工作表现评价材料
2014/09/21 职场文书
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL