Python OpenCV 彩色与灰度图像的转换实现

作者:梦想橡皮擦 时间:2022-04-14 18:36:59 

彩 * 像转换为灰度图像

第一种方式通过 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 彩色与灰度图像的转换实现

感谢大佬方向性的指导

来源:https://blog.csdn.net/hihell/article/details/112060152

标签:OpenCV,彩 , 像,灰度图像
0
投稿

猜你喜欢

  • 详解python代码模块化

    2023-08-08 23:08:23
  • asp中的rs.open于conn.execute的区别

    2009-10-29 12:12:00
  • 文字解说Golang Goroutine和线程的区别

    2023-10-15 18:56:36
  • Python地理地图可视化folium标记点弹窗设置代码(推荐)

    2022-08-18 17:02:57
  • ASP生成XML文件

    2009-06-29 16:28:00
  • ORACLE 10g 安装教程[图文]

    2023-07-15 07:07:27
  • 手把手教你在Python里使用ChatGPT

    2023-11-10 02:55:58
  • python将视频转换为全字符视频

    2023-08-08 21:01:02
  • Python连接Hadoop数据中遇到的各种坑(汇总)

    2023-09-13 20:16:34
  • Python中的xlrd模块使用整理

    2023-03-30 17:35:04
  • 如何判断用户在某一页面逗留了多长时间?

    2010-01-18 20:48:00
  • python 中的@property的用法详解

    2023-03-03 16:57:57
  • Sql server中的char、varchar、text和nchar、nvarchar、ntext的区别

    2011-08-14 09:43:44
  • FrontPage XP设计教程3——网页的布局

    2008-10-11 12:20:00
  • Python寻找路径和查找文件路径的示例

    2023-05-01 10:36:37
  • 一个带采集远程文章内容,保存图片,生成文件等完整的采集功能

    2011-04-02 11:02:00
  • Python生成器(Generator)详解

    2022-10-05 01:14:43
  • 如何优雅地处理Django中的favicon.ico图标详解

    2023-12-03 09:41:36
  • Python第三方包之DingDingBot钉钉机器人

    2022-09-06 14:50:38
  • python实现代理服务功能实例

    2023-10-04 05:36:57
  • asp之家 网络编程 m.aspxhome.com