勇哥的实验:halcon阈值分割算子细谈(十)基于二维直方图聚类图片分割(class_2dim_unsup)

阈值分割引言

C#
阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方图无双峰,
那么基于图像直方图的所有法都是不甚理想的
只能在此基础上进行一定的变换,例如nbl算法等,这些都属于局部算法。

任何算法,都会基于假设空间的。没有假设空间,所有算法性能一致。包括经典算法和深度学习算法。

本系列的贴子勇哥通过实验来细品它们之间的差别,以求以后可以精准应用。


这个例子是基于算子class_2dim_unsup做图片分割。

原型如下:

class_2dim_unsup(Image1Image2 : Classes : ThresholdNumClasses : )


前两个参数是输入图像;第三个参数是输出的类别;

第四个参数是到聚类中心的最大允许距离;第五个参数是分成多少个类别。


class_2dim_unsup使用两个单通道图像执行分类。
首先,计算两个图像的二维直方图( histo_2dim)。
在此直方图中,提取出第一个最大值;它是第一个集群中心。
使用两个图像的域的交集计算直方图(请参见reduce_domain)。
此后,图像中所有阈值最大的像素 确定最大范数中距聚类中心的像素。
这些像素形成一个输出区域。接下来,将如此分类的像素从直方图中删除,以便在下一类中不考虑它们。
在此修改后的直方图中,再次提取最大值;它再次充当集群中心。
以上步骤重复NumClasses次;因此,将得出NumClasses输出区域。
仅返回两个图像中定义的像素。



image.png

演示代码:

read_image (Image, 'patras')
dev_close_window ()
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'white', WindowID)
decompose3 (Image, Red, Green, Blue)
dev_display (Red)
dev_set_draw ('fill')
dev_set_colored (6)
dev_display (Red)
*square表示正方形掩膜;5表示正方形边长;mirrored表示镜像,也就是边界区域,
*掩膜会超出图像区域的像素值使用镜像给与补充。
median_image (Red, RedMedian, 'square', 5, 'mirrored')
median_image (Blue, BlueMedian, 'square', 5, 'mirrored')
*第四个参数是到聚类中心的最大允许距离;第五个参数是分成多少个类别。
class_2dim_unsup (RedMedian, BlueMedian, Classes, 30, 3)


目前这个分割方式还没找到适合的应用。如果有好例子勇哥会在这里跟贴介绍。



--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864