新闻动态

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

发布日期:2022-03-19 15:27 | 文章来源:源码之家

彩色图像转换为灰度图像

第一种方式通过 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()


也看到了 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()

伪彩色图像

彩色图片可以变成灰度图,那相应的灰度图也可以变成彩色的,当然这里说的是伪彩色图像。

这部分内容由于目前应用场景不明确,给大家贴一下我学习过程中看到的博客吧。

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 彩色与灰度图像的转换实现的文章就介绍到这了,更多相关OpenCV彩色与灰度图像转换内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

香港快速服务器

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部