1.learn_ndim_norm(Foreground, Background, Image : : Metric, Distance, MinNumberPercent : Radius, Center, Quality)
learn_ndim_norm从多通道图像Image 的Foreground区域和相应的灰度值生成分类簇,
可以在class_ndim_norm中使用。
Background确定在class_ndim_norm中找不到的像素类。此参数可以为空(空对象)。
参数Distance决定簇的最大距离半径Radius。
它描述了两个集群中心之间的最小距离。
当参数Distance较小时,超立方体或超球体可以较好地逼近特征空间。
同时,分类期间的运行时间增加。
集群中的像素数与总像素数的比值(以百分比为单位)必须大于MinNumberPercent的值,
否则不会返回集群。MinNumberPercent用于消除训练集中的异常值。
如果选择的异常值太大,则会抑制许多集群。
可以选择两种不同的聚类过程:
最小欧氏距离算法(n维超球)和描述要在n维直方图中分类的图像像素的最大算法(n维超立方体) (参数Metric)。
欧几里得度量通常产生更好的结果,但需要更长的时间来计算。
参数Quality返回聚类的质量。
它是拒绝类和分类器类之间重叠的度量。
大于0的值表示相应的重叠比。
如果没有拒绝区域,则将其值设置为1。
Background区域对聚类没有影响。
它们只是用来检查预期的结果。
从用户的角度来看,
learn_ndim_norm和learn_ndim_box之间的关键区别在于,
在后者中,拒绝类会影响分类过程本身。
这里生成了一个超平面,它将Foreground类和Background类分隔开来,
这样就不会对特征空间中的点进行错误分类。
但是,对于learn_ndim_norm,Foreground类和Background类之间允许有重叠。
这对返回值质量有影响。
重叠越大,这个值就越小。
参数:
Foreground,Background,Image 要训练的前景,背景像素及多通道图像。
Metric 要使用的度 量。 有euclid', 'maximum'
Distance最大的簇半径。
MinNumberPercent 集群中的像素数与总像素数的比值(以百分比为单位)必须大于MinNumberPercent(否则集群将不输出)。
Radius,Center,Quality 输出的簇半径或半边长度,中心的坐标及拒绝类与分类对象的重叠(1:无重叠)。
2.class_ndim_norm(MultiChannelImage : Regions : Metric, SingleMultiple, Radius, Center : )class_ndim_norm对多通道图像MultiChannelImage 中的像素进行分类。
结果在区域Regions 中作为每个分类对象的一个区域返回。
使用的度量(“欧几里得”或“最大值”)是由Metric决定的。
此参数必须设置为learn_ndim_norm中使用的相同值。
参数SingleMultiple确定是否为每个集群生成一个区域(“single”)或多个区域(“multiple”)。
Radius决定了簇的半径或半边缘长度。
Center 决定它们的中心。
例程:
read_image (Image, 'ic')
get_image_size (Image, Width, Height)
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowID)
dev_display (Image)
dev_set_color ('red')
gen_rectangle1 (Region, 360, 198, 369, 226)
gen_empty_region (EmptyRegion)
learn_ndim_norm (Region, EmptyRegion, Image, 'euclid', 10, 0.01, Radius, Center, Quality)
dev_set_color ('blue')
class_ndim_norm (Image, Regions, 'euclid', 'multiple', Radius, Center)
dev_display (Image)
dev_display (Regions)
|