OpenCV4,快速入门,第二讲:图像色彩空间转换

请添加图片描述


引言

在计算机视觉和图像处理领域,色彩空间转换是一项基础而重要的任务。通过合理选择色彩空间,我们可以更高效地实现目标检测、图像分割和特征提取等功能。本文将深入讲解OpenCV中HSV色彩空间的原理,并详细解析cvtColor和imwrite两个核心API的使用方法。


一、色彩空间概述

1.1 RGB与HSV的区别

  • RGB:通过红(Red)、绿(Green)、蓝(Blue)三个通道的组合表示颜色,适合显示系统,但对光照敏感。
  • HSV:由色相(Hue)、饱和度(Saturation)、明度(Value)三个维度构成,更贴近人类对颜色的感知,常用于颜色识别和分割。

1.2 HSV的详细含义

  • Hue(色相):表示颜色类型,范围是 0 ~ 180(OpenCV中8位图像将0~360缩放到此范围)。
  • Saturation(饱和度):颜色的纯度,0(灰色)~ 255(完全饱和)。
  • Value(明度):颜色亮度,0(黑色)~ 255(最亮)。

注意:HSV在OpenCV中的范围与理论值不同,需特别注意。

cvtColor


二、cvtColor函数详解

2.1 函数原型

void cv::cvtColor(
    InputArray src, 
    OutputArray dst, 
    int code, 
    int dstCn = 0
);

2.2 参数说明

  • src:输入图像(如BGR格式的Mat对象)。
  • dst:输出图像,保存转换后的结果。
  • code:颜色空间转换代码,常用值:
    • COLOR_BGR2HSV:BGR转HSV
    • COLOR_HSV2BGR:HSV转BGR
    • 其他选项(如COLOR_BGR2GRAY)
  • dstCn:输出图像的通道数,默认0表示自动推导。

2.3 使用示例

#include <opencv2/o
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智驾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值