Halcon学习--凹痕检测

 

 

read_image (Image002, 'G:/learning_halcon_file/img/001.png')


decompose3(Image002, R, G, B)

trans_from_rgb(R, G, B, H, S, V, 'hsv')

binary_threshold(H, Region1, 'max_separability', 'light', UsedThreshold)
connection(Region1, ConnectedRegions1)
select_shape(ConnectedRegions1, SelectedRegions1, 'area', 'and', 100000, 999999)


binary_threshold(V, Region2, 'max_separability', 'light', UsedThreshold)
connection(Region2, ConnectedRegions2)
select_shape(ConnectedRegions2, SelectedRegions2, 'area', 'and', 250000, 999999)

intersection(SelectedRegions1, SelectedRegions2, RegionIntersection)

reduce_domain(S, RegionIntersection, ImageReduced)

fill_up(RegionIntersection, RegionFillUp)

opening_circle(RegionFillUp, RegionOpening, 5.5)

shape_trans(RegionOpening, RegionTrans, 'convex')

reduce_domain(S, RegionTrans, ImageReduced1)


* emphasize(ImageReduced1, ImageEmphasize, 7, 7, 20)
median_image(ImageReduced1, ImageMedian, 'circle', 3, 'mirrored')
scale_image_max(ImageMedian, ImageScaleMax)
threshold (ImageScaleMax, Regions, 97, 211)

fill_up(Regions, RegionFillUp1)

opening_circle(RegionFillUp1, RegionOpening1, 5.5)

clip_region_rel(RegionOpening1, RegionClipped, 2, 2, 8, 25)
reduce_domain(B, RegionClipped, ImageReduced2)

median_image(ImageReduced2, ImageMedian2, 'circle', 3, 'mirrored')
emphasize(ImageMedian2, ImageEmphasize1, 5, 5, 10)

median_image(ImageEmphasize1, ImageMedian1, 'circle', 2, 'mirrored')
emphasize(ImageMedian1, ImageEmphasize2, 7, 7, 1)

edges_sub_pix(ImageReduced2, Edges, 'canny', 1, 8, 15)
* union_collinear_contours_xld(Edges, UnionContours1, 20, 1, 2, 0.1, 'attr_keep')

union_adjacent_contours_xld(Edges, UnionContours, 20, 5, 'attr_keep')

select_contours_xld(Edges, SelectedContours, 'contour_length', 10, 200, -0.5, 0.5)

union_adjacent_contours_xld(SelectedContours, UnionContours2, 10, 1, 'attr_keep')

select_contours_xld(UnionContours2, SelectedContours1, 'contour_length', 15, 200, -0.5, 0.5)

close_contours_xld(SelectedContours1, ClosedContours)

shape_trans_xld(ClosedContours, XLDTrans, 'rectangle1')
gen_region_contour_xld(XLDTrans, Region, 'filled')
erosion_rectangle1(Region, RegionErosion, 3, 3)



dev_set_draw ('margin')
dev_display(Image002)
dev_display(RegionErosion)

 

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枫呱呱

如果这篇博文对你有用,求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值