Applications/Completeness-Check/inspect_solar_fingers.hdev
read_image (Image, ImageName + Index$'02')
decompose3 (Image, ImageR, ImageG, ImageB)
* Segment dark regions (everything except the fingers)
threshold (ImageR, Region, 0, 159)
connection (Region, ConnectedRegions)
* Select good parts and clutter regions
select_shape (ConnectedRegions, GoodSmallParts, ['area','width'], 'and', [3500,130], [5000,300])
select_shape (ConnectedRegions, GoodLongParts, ['area','width'], 'and', [6000,350], [10000,550])
select_shape (ConnectedRegions, Clutter, ['width','height','area'], 'or', [900,900,0], [1000,1000,100])
* Regions that are neither good parts nor clutter contain broken fingers
difference (ConnectedRegions, GoodSmallParts, Difference)
difference (Difference, GoodLongParts, Difference)
difference (Difference, Clutter, BrokenParts)
shape_trans (BrokenParts, BrokenPartsTrans, 'rectangle1')
这个例程思路很简单,就是select然后difference
但后面有一个算子没太见过,感觉以后能用上。
* Isolate the break for visualization
erosion_rectangle1 (BrokenParts, RegionErosion, 1, 25)
*腐蚀掉边缘,消除边界干扰,缩小ROI
*其实这个参数设置我现在也没明白,反正就两个,宽和高,随便试总能试出来吧。
看了豆丁的文档明白了,可惜没有账号没下载,懒得费劲了,应用非常简单。
connection (RegionErosion, ConnectedBreaks)
shape_trans (ConnectedBreaks, Breaks, 'outer_circle')
dilation_circle (Breaks, Breaks, 6)
后面不用说,看图就明白了。