高斯混合模型是将多个服从高斯分布的模型进行线性组合,几乎能拟合成任何一条曲线。比如在生活中男生身高普遍在175左右,女生身高普遍在165左右,并且都服从高斯分布,就可通过中间交叉点进行分类。
上面只用到一种特征,下面的例子为halcon例程—》方法—》特征提取—》classify cirtrus_fruits.hdev ,这里的水果分类用到的是圆度和面积两种特征,其模型将是二维高斯分布曲面。
*基于高斯混合模型的水果分类
*采集图像
read_image (Image, 'citrus_fruits_01.png')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
Circulity:=[]
Area:=[]
class:=['orange','lemon']
*创建高斯混合模型
create_class_gmm (2, 2, 1, 'spherical', 'normalization', 10, 42, GMMHandle)
dev_set_draw ('margin')
dev_set_line_width (2)
*提取特征并添加样本
for i:=1 to 4 by 1
read_image (Image1, 'citrus_fruits_'+i$'.2d')
decompose3 (Image1, Red, Green, Blue)
dev_display (