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和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
Python实时获取cmd的输出
Dec 13 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
python 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
在Python文件中指定Python解释器的方法
Feb 18 Python
Python PIL图片添加字体的例子
Aug 22 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
如何使用repr调试python程序
Feb 28 Python
python GUI模拟实现计算器
Jun 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
MVC模式的PHP实现
2006/10/09 PHP
特详细的PHPMYADMIN简明安装教程
2008/08/01 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
javascript中join方法实例讲解
2019/02/21 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
[43:24]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.12
2020/12/17 DOTA
Python中的生成器和yield详细介绍
2015/01/09 Python
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
Django 再谈一谈json序列化
2020/03/16 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
Antonioli美国在线商店:时尚前卫奢华
2019/07/29 全球购物
乡领导班子四风问题对照检查材料
2014/09/25 职场文书
护理见习报告范文
2014/11/03 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
CPU不支持Windows11系统怎么办
2021/11/21 数码科技