Halcon 颜色处理

彩色处理的思想是利用彩色或多光谱图像长牛股编码的附加信息。处理彩色图像可以简化许多机器视觉任务,并为灰度值图像中不可能解决的某些问题提供解决方案。在Halcon中颜色处理方法可分为以下几个方法:可以使用blob分析等标准方法处理彩色图像的各个通道。在这种方法中,首先要对原始图像的通道进行分解。以下是一个简单的颜色分割图像示例。
在这里插入图片描述

一 基本概念

在许多情况下,彩色图像的处理将比上面的例子更复杂。根据实际应用,以下步骤顺序可以会有所不同,或者可以完全省略某些步骤。
在这里插入图片描述

1 Demosaick Bayer 类型

如果获取的图像是Bayer图像,则可以使用cfa_to_rgb操作符将其转换为RGB。必须知道Bayer图像的编码类型。简单的Bayer类型及编码方式。
在这里插入图片描述

2 颜色空间转换

RGB色彩空间并不总是处理彩色图像的最合适的起点。针对这种情况,转换到不同的颜色空间可能会有用。Halcon支持许多重要的色彩空间。即,HSV和HSI色彩空间有利于选择独立于其强度的不同颜色。因此,在不同的光照条件下,这些色彩空间的色彩分割是很稳定的。

3 颜色分类

为进行颜色分类,需要区分的颜色必须经过训练。有不同的方法进行全彩色分类。包括:高斯混合模型(GMM),多层感知器(MLP)和支持向量机(SVM)分类。

4 感兴趣区域

使用感兴趣的区域可以加快颜色处理。分割的区域越受限制,分割速度越快,鲁棒性越强。

5 颜色分类

在前一步中训练的颜色将用于后续图像中进行实际分类。

6 通道组合

使用compose2到compose7或append_channel操作符,可以将任意数量的通道连接到多通道图像。这样,单独处理的通道可以重新组合成彩色图像,以实现可视化目的。

7 实例化结果

显示图像、区域和特征。

* color_simple.hdev: segment yellow cable in HSV color space
dev_close_window ()
dev_open_window (0, 0, 640, 480, 'black', WindowHandle)
for i := 1 to 2 by 1
    read_image (Image, 'cable' + i)
    decompose3 (Image, Red, Green, Blue)
    trans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, 'hsv')
    threshold (Saturation, HighSaturation, 100, 255)
    reduce_domain (Hue, HighSaturation, HueHighSaturation)
    threshold (HueHighSaturation, Yellow, 20, 50)
    connection (Yellow, ConnectedRegions)
    select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 0)
    closing_circle (SelectedRegions, Yellow, 3.5)
    reduce_domain (Image, Yellow, ImageReduced)
    dev_display (HueHighSaturation)
    dev_display (ImageReduced)
    stop ()
endfor

猜你喜欢

转载自blog.csdn.net/weixin_42291376/article/details/142602451