Halcon 利用HSV来进行颜色识别

本文详细介绍使用Halcon进行颜色识别的过程,以绿色为例,通过RGB到HSV转换,实现色调、饱和度和明度的筛选,有效识别目标颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看原图的HSV的范围,现在以绿色为例:
在这里插入图片描述

上结果:
在这里插入图片描述
上原图:
在这里插入图片描述
最后贴上代码:

**颜色识别
read_image (Image, 'D:/HalconWorkplace/img/color.png')
*转换为三通道图片
decompose3 (Image, Red, Green,Blue)
*将解离好的三通道图片作为传入然后输出hsv色调
*hsv即 色调、饱和度、明度 trans_from_rgb算子输入三个通道颜色,按hsv排序输出色调、饱和度、明度
trans_from_rgb (Red, Green, Blue, H, S, V, 'hsv')
*色调筛选
threshold (H, Region, 70, 90)
reduce_domain (Image, Region, ImageReduced)
*饱和度筛选
threshold (S, Region2, 240, 255)
reduce_domain (ImageReduced, Region2, ImageReduced2)
*亮度筛选
threshold (V, Region3, 60, 255)
reduce_domain (ImageReduced2, Region3, ImageReduced3)
dev_clear_window()
dev_display (ImageReduced3)

### HalconHSV 颜色空间的使用方法及转换 #### RGB 至 HSV 的转换过程 在图像处理过程中,为了获得更理想的处理效果,常常需要将RGB颜色空间转换为HSV颜色空间。这种转换能够更好地分离色调、饱和度以及亮度信息,有助于特定的颜色识别和图像调整操作[^1]。 对于Halcon而言,执行从RGB至HSV颜色空间的转变主要涉及两个步骤: - **第一步:分解彩色图像** 使用`decompose3`算子可将原始的三通道彩色图片拆解成三个独立的灰度级图像,分别对应红色(Red)、绿色(Green)和蓝色(Blue)[^3]。 - **第二步:应用颜色变换** 接下来运用`trans_from_rgb`算子完成实际的空间转换工作。具体来说就是把前面获取到的R/G/B值映射成为对应的Hue(色调)、Saturation(饱和度)与Value(明度)。例如,在代码中这样写: ```cpp // 假设已经获得了 R, G 和 B 图像变量 trans_from_rgb (R, G, B, H, S, V, 'hsv'); ``` 上述命令会依据指定模式('hsv'参数),计算并返回新的H/S/V图像数据结构[^2]。 #### HSV 各成分的意义及其应用场景 - **色调(H)**: 表达了不同波长光的感觉差异,可用于区分各种基本色彩; - **饱和度(S)**: 描述了纯色相对于灰色的比例关系,帮助衡量颜色鲜艳与否的程度; - **亮度(V)**: 反映物体表面反射光线强弱的情况,便于控制整体画面亮暗对比度[^4]。 因此,在涉及到诸如目标检测、特征提取或是视觉特效制作等领域时,合理利用这些属性往往能取得更好的成效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kay880

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

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

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

打赏作者

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

抵扣说明:

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

余额充值