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之集成开发环境(IDE)
Sep 12 Python
Python简单读取json文件功能示例
Nov 30 Python
Python解决两个整数相除只得到整数部分的实例
Nov 10 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
python儿童学游戏编程知识点总结
Jun 03 Python
python递归法解决棋盘分割问题
Jul 17 Python
python实现桌面气泡提示功能
Jul 29 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
python 爬取马蜂窝景点翻页文字评论的实现
Jan 20 Python
Python基于staticmethod装饰器标示静态方法
Oct 17 Python
python 实现德洛内三角剖分的操作
Apr 22 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 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下保存远程图片到本地的办法
2010/08/08 PHP
基于PHP一些十分严重的缺陷详解
2013/06/03 PHP
浅谈php7的重大新特性
2015/10/23 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP chr()函数讲解
2019/02/11 PHP
深入分析PHP设计模式
2020/06/15 PHP
用于table内容排序
2006/07/21 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2015/04/01 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
Python实现统计单词出现的个数
2015/05/28 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
python 绘制国旗的示例
2020/09/27 Python
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
毕业生自我鉴定范文
2013/11/08 职场文书
高中军训广播稿
2014/01/14 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
股权收购意向书
2014/04/01 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python