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回调函数的使用方法
Jan 23 Python
Python实现数通设备端口使用情况监控实例
Jul 15 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
Python基于分水岭算法解决走迷宫游戏示例
Sep 26 Python
win10下Python3.6安装、配置以及pip安装包教程
Oct 01 Python
python判断一个数是否能被另一个整数整除的实例
Dec 12 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
使用django和vue进行数据交互的方法步骤
Nov 11 Python
Django中密码的加密、验密、解密操作
Dec 19 Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
Jan 26 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 curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
js opener的使用详解
2014/01/11 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
JavaScript中的call方法和apply方法使用对比
2015/08/12 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
微信小程序  TLS 版本必须大于等于1.2问题解决
2017/02/22 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
Python中的魔法方法深入理解
2014/07/09 Python
老生常谈python的私有公有属性(必看篇)
2017/06/09 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
python Opencv将图片转为字符画
2021/02/19 Python
对python3 Serial 串口助手的接收读取数据方法详解
2019/06/12 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
丝芙兰波兰:Sephora.pl
2018/03/25 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
毕业生物理教师求职信
2013/10/17 职场文书
总会计师岗位职责
2014/02/19 职场文书
公司建议书怎么写
2014/05/15 职场文书
超市店庆活动方案
2014/08/31 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电