边缘没法有效提取,那就简单试试Blob提取吧!
- read_image (Image, 'C:/Users/Admin/Desktop/1.bmp')
- binary_threshold (Image, Region, 'max_separability', 'dark', UsedThreshold)
- connection (Region, ConnectedRegions)
- select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 30, 99999)
- smallest_rectangle2 (SelectedRegions, Row, Column, Phi, Length1, Length2)
- gen_rectangle2 (Rectangle, Row, Column, Phi, Length1, Length2)
- dev_set_draw ('margin')
- dev_display (Image)
- dev_display (Rectangle)
复制代码
这个算法是有精度误差的,而且效果不是很好,但是可以给你一定思路,因为边缘一定要通过边缘提取出来才可以,你这个不规则有点难度!
初步得出来的长半轴和短半轴数据:
|