支持开源--破解envi代码发布--hierclust

Attention: The documentation and code and executables of this project has been moved to [here](https://github.com/JzHuai0108/ImageSegmentor). 

我恨有许多好的算法没有开源代码,恨很多人被迫浪费精力重走别人的路,于是我把envi里面的算法用vc++6和stl和mfc实现了。hierclust代码,可以对bmp和简单的tiff图像,进行处理,这个project 实现了《Implementation of a Fast Algorithm for Segmentating SAR Imagery》中的算法,并对其进行了修改,但是原来的算法有些问题。首先是,每个区域S[i].bestp中记录的相同t时最小的A的标号改成了记录t相同时最小的区域标号。这样基于一个我认为的命题:对于一个digraph,每个vertex va都有一个最近的点,命(va,vb)代表此边,或者说va指向vb,那么该图中必有环路,如果再加一个限制,如果最小边有多个,那么取标号最小的那个最小边,这种情况下,必存在mutually best pair。所以在程序实现时最小的A标号改成了最小的相等最小距离的S标号。
另外一个不同之处是,本程序用的距离是benz距离,就是ecognition中所用的距离公式,可以参见《2004_Multi-resolution, object-oriented fuzzy analysis of remote sensing data for GIS-ready information》,为了适应这个算式的需要,在每个区域中,添加了interdif variable,这个东西是该区域的内部异质性,是参照上面的论文得到的公式计算得到的。
算法的缺陷是:这也是envi所用的算法《Implementation of a Fast Algorithm for Segmentating SAR Imagery》的理论缺陷,但在envi中未见,就是很多区域会聚到一起,也就是没有benz所做到的,让merge 发生的尽量分散。于是这样的情形会产生不均匀区域生长,这需要dither matrix, 很深奥,不能figure out,所以就没有用。

这个代码在我上传的文件imagex image segmentation 中,如果需要请下载,如有赐教,我QQ:740792281。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值