阈值分割引言
阈值分割有非常多的算法,大体上分为全局和局部算法。 全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。 基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。 但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。 如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方图无双峰, 那么基于图像直方图的所有法都是不甚理想的 只能在此基础上进行一定的变换,例如nbl算法等,这些都属于局部算法。 任何算法,都会基于假设空间的。没有假设空间,所有算法性能一致。包括经典算法和深度学习算法。 本系列的贴子勇哥通过实验来细品它们之间的差别,以求以后可以精准应用。
超球体分类像素
代码:
read_image (Image, 'ic') gen_rectangle1 (Region, 360, 264, 371, 301) 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)
核心算子:
learn_ndim_norm(Foreground, Background, Image : : Metric, Distance, MinNumberPercent : Radius, Center, Quality) — 从区域前景和多通道图像中对应的灰度值生成分类聚类
参数Distance决定了簇的最大距离半径。它描述了两个集群中心之间的最小距离。在参数距离较小的情况下,超立方体或超球体可以很好地逼近特征空间。
class_ndim_norm(MultiChannelImage : Regions : Metric, SingleMultiple, Radius, Center : ) — 使用超球体或超立方体分类像素。
class_ndim_norm对MultiChannelImage中给出的多通道图像的像素进行分类。结果以区域的形式返回,每个分类对象返回一个区域。参数Radius, Center必须设置为与learn_ndim_norm中使用的值相同。参数SingleMultiple确定为每个集群生成一个区域(‘single’)还是多个区域(‘multiple’)。半径分别决定了簇的半径或半边长。中心决定了它们的中心。
结果显示:
首先生成一个感兴趣区域
找到测试图中相似区域
采用区域网格方式对图像进行分割
这种分割方法只是一种比较好的思路。
勇哥有一篇相似思路的贴子见:《车道标志的快速检测》
代码:
read_image (Image1, 'C:/Users/Administrator/Desktop/1.jpg') decompose3 (Image1, R, G, B) trans_from_rgb (R, G, B, H, S, V, 'hsv') dev_display (G) get_image_size (G, Width, Height) *生成网格区域 gen_grid_region (RegionGrid, 10, 10, 'lines', Width, Width) reduce_domain (G, RegionGrid, ImageReduced) threshold (ImageReduced, Region, 0, 150) *blob分析提取硬币 closing_circle (Region, RegionClosing1, 10) connection (RegionClosing1, ConnectedRegions3) select_shape (ConnectedRegions3, SelectedRegions2, ['roundness','area'], 'and', [0.5822,2634.23], [1,20000]) closing_circle (SelectedRegions2, RegionClosing, 10) opening_circle (RegionClosing, RegionOpening1, 20) shape_trans (RegionOpening1, RegionTrans, 'outer_circle') union1 (RegionTrans, RegionUnion) reduce_domain (G, RegionUnion, ImageReduced1) dev_display (ImageReduced1)
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

