OpenCV-更改颜色空间-python

本文介绍了OpenCV库中两种常用的颜色空间转换方法:BGR到灰度(cv.COLOR_BGR2GRAY)和BGR到HSV(cv.COLOR_BGR2HSV),并提供了相应的函数cv.cvtColor的使用示例和代码解释。
摘要由CSDN通过智能技术生成

OpenCV提供了150多种色彩空间转换方法,但是我们只研究其中两个最常用的:BGR  Gray 和 BGR  HSV.

如果需要查看其他方法也可以运行以下代码

import cv2 as cv
flags = [i for i in dir(cv) if i.startswith('COLOR_')]
print( flags )

现在介绍学习的函数及其参数

cv.cvtColor(src, code, dst, dstCn)

src:输入图像,可以是8位无符号、16位无符号或单精度浮点类型的图像。

code:颜色空间转换代码,这个代码指定了要进行的颜色空间转换类型。OpenCV提供了多种颜色空间转换的选项,如COLOR_BGR2GRAY(BGR转灰度)、COLOR_BGR2HSV(BGR转HSV)等。

dst:(可选)输出图像,它将与输入图像src具有相同的大小和深度。如果未提供,则会创建一个新的图像用于存储转换结果。

dstCn:(可选)目标图像中的通道数。如果此参数设置为0,则通道数将从srccode自动推断得出。

示例代码

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

img = cv.imread('p.jpg')
hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100)
axes[0].imshow(img[:, :, ::-1])
axes[0].set_title('原图')
axes[1].imshow(hsv[:, :, ::-1])
axes[1].set_title('HSV')
axes[2].imshow(gray, cmap=plt.cm.gray)
axes[2].set_title('Gray')

输出

 

 ## 学习笔记,欢迎各位大佬指错! 

  • 21
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值