Halcon——颜色识别提取


前言

【Halcon】颜色识别提取
这里以嘉庚建筑风格为例~
在这里插入图片描述


一、颜色识别原理

载入图像后,将其转换至HSV颜色空间,通过判断每个像素是否在所选取的范围内(根据所需的颜色而定),并将其标识出来即可。

二、颜色识别为什么将其转换至HSV颜色空间

目前在计算机视觉领域存在着较多类型的颜色空间。HSL作为最常见的圆柱坐标所表示的颜色模型,它重新影射了RGB模型,从而能够视觉上比RGB模型更具有视觉直观性。
简单地说HSV可以用更加直观的数据描述我们需要的颜色,H代表色彩,S代表深浅,V代表明暗,通过阈值的划分,颜色即可被区分出来。(H代表的色调基本上可以确定某种颜色,再结合饱和度S和亮度V信息判断大于某一个阈值即可。)
以下给出颜色参考范围:HSV基本颜色分量范围 - 百度文库 (baidu.com)
在这里插入图片描述
至于对RGB、HSV等颜色空间的理解,可自行寻找相应博客,这里不做较多的讲解。

三、源代码

这里以嘉庚建筑风格为例 采用Halcon进行颜色识别提取(具体代码如下)

dev_close_window ()
dev_open_window (0, 0, 640, 480, 'black', WindowHandle)
* 读取嘉庚建筑风格的图像
read_image (Image,'D:/USER/Desktop/tkkc.jpg')
* 进行图像R、G、B分量分离
decompose3 (Image, Red, Green, Blue)
* 将R、G、B分量转为H、S、V分量
trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')
* 令S分量图像进行阈值处理
threshold (Saturation, HighSaturation, 100, 255)
* 提取H分量图像
reduce_domain (Hue, HighSaturation, HueHighSaturation)
* 针对提取的H分量进行阈值处理
threshold (HueHighSaturation, Result, 0, 18)
* 再将其从原始图像中提取出来
reduce_domain (Image, Result, ImageReduced)
* 最后显示读取图片
dev_display (ImageReduced)
write_image (ImageReduced, 'jpg', 0, 'D:/USER/Desktop/tkkc_result.jpg')
stop ()

以下是给出各个步骤所得图像帮助理解。
在这里插入图片描述

写在最后

由于作者知识和写作能力有限,难免有缺点,欢迎专家和读者批评指正。

  • 6
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值