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 16 Python
Python标准库urllib2的一些使用细节总结
Mar 16 Python
详细讲解Python中的文件I/O操作
May 24 Python
Python连接PostgreSQL数据库的方法
Nov 28 Python
由浅入深讲解python中的yield与generator
Apr 05 Python
Python实现的递归神经网络简单示例
Aug 11 Python
Django实现快速分页的方法实例
Oct 22 Python
《与孩子一起学编程》python自测题
May 27 Python
Django 多语言教程的实现(i18n)
Jul 07 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
python正则过滤字母、中文、数字及特殊字符方法详解
Feb 11 Python
一行Python命令实现批量加水印
Apr 07 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执行速度全攻略(下)
2006/10/09 PHP
如何在PHP中使用Oracle数据库(6)
2006/10/09 PHP
给初学PHP的5个入手程序
2006/11/23 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
2011/01/07 PHP
PHP编码转换
2012/11/05 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
php实现微信发红包功能
2018/07/13 PHP
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
javascript打印输出json实例
2013/11/11 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
2014/11/19 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
Python实现基于权重的随机数2种方法
2015/04/28 Python
EM算法的python实现的方法步骤
2018/01/02 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
利用python修改json文件的value方法
2018/12/31 Python
Python代码生成视频的缩略图的实例讲解
2019/12/22 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
建筑施工员岗位职责
2013/11/26 职场文书
优秀毕业生自我鉴定
2014/01/19 职场文书
《乡愁》教学反思
2014/02/18 职场文书
银行自荐信范文
2015/03/25 职场文书
2015年专项整治工作总结
2015/04/03 职场文书
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
动画电影《擅长捉弄人的高木同学》6月10日上映!
2022/03/20 日漫
R9700摩机记
2022/04/05 无线电