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中操作文件之seek()方法的使用教程
May 24 Python
各个系统下的Python解释器相关安装方法
Oct 12 Python
python编程开发之日期操作实例分析
Nov 13 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
使用Python实现简单的服务器功能
Aug 25 Python
python添加模块搜索路径和包的导入方法
Jan 19 Python
Python缓存技术实现过程详解
Sep 25 Python
python3实现绘制二维点图
Dec 04 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
python如何读取.mtx文件
Apr 22 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懒人函数 自动添加数据
2011/06/28 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
PHP单链表的实现代码
2016/07/05 PHP
Zend Framework入门应用实例详解
2016/12/11 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
一个原生的用户等级的进度条
2010/07/03 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
js实现一个简易计算器
2020/03/30 Javascript
深入理解Antd-Select组件的用法
2020/02/25 Javascript
python发送邮件实例分享
2017/07/28 Python
Python单例模式的两种实现方法
2017/08/14 Python
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
python用opencv完成图像分割并进行目标物的提取
2020/05/25 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
秘书专业自荐信范文
2013/12/26 职场文书
创新比赛获奖感言
2014/02/13 职场文书
护士个人自我鉴定
2014/03/24 职场文书
我爱我校演讲稿
2014/05/21 职场文书
三好学生个人总结
2015/02/15 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书