扩视机器视觉—Halcon机器视觉48个实战项目五(检测光伏板破损)

项目需求:

此项目halcon检测光伏行业的破损烂片等缺角问题,并显示。

素材如下:
在这里插入图片描述

检测后的效果如下:

在这里插入图片描述

Halcon代码如下:

read_image (Image, '扩视_1')
dev_close_window ()
dev_open_window (0, 0, 900, 512, 'black', WindowHandle)
dev_display (Image)
binary_threshold (Image, Region, 'max_separability', 'light', UsedThreshold)
fill_up (Region, RegionFillUp)
closing_circle (RegionFillUp, RegionClosing, 23.5)
fill_up (RegionClosing, RegionFillUp1)
connection (RegionFillUp1, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 691667, 995370)
shape_trans (SelectedRegions, RegionTrans, 'inner_circle')
reduce_domain (Image, RegionTrans, ImageReduced)
mean_image (ImageReduced, ImageMean, 9, 9)
threshold (ImageMean, Region2, 0, 100)
connection (Region2, ConnectedRegions2)
select_shape (ConnectedRegions2, SelectedRegions2, 'area', 'and', 11388.9, 43240.7)
opening_rectangle1 (SelectedRegions2, RegionOpening, 25, 25)
connection (RegionOpening, ConnectedRegions3)
select_shape (ConnectedRegions3, SelectedRegions3, 'area', 'and', 7203.7, 20000)
smallest_rectangle2 (SelectedRegions3, Row1, Column1, Phi, Length1, Length2)
gen_rectangle2 (Rectangle, Row1, Column1, Phi, Length1, Length2)

boundary (SelectedRegions2, RegionBorder, 'inner')

binary_threshold (ImageReduced, Region1, 'max_separability', 'dark', UsedThreshold1)
fill_up (Region1, RegionFillUp2)
connection (RegionFillUp2, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions1, ['area','circularity'], 'and', [45092.6,0.725], [100000,1])
smallest_circle (SelectedRegions1, Row, Column, Radius)
gen_region_points (Region3, Row, Column)
gen_cross_contour_xld (Cross, Row, Column, 100, 0)

gen_rectangle2 (Rectangle1, Row, Column, Phi, Radius/2, Length2*1000)

intersection (Rectangle1, RegionBorder, RegionIntersection)
distance_rr_min (RegionIntersection, Region3, MinDistance, Row11, Column11, Row2, Column2)
gen_region_line (RegionLines, Row11, Column11, Row2, Column2)
dev_display (Image)
dev_display (RegionLines)
dev_display (Cross)
dev_display (RegionBorder)
tuple_string (MinDistance, '.2f', String)

dd:=6.25/MinDistance
set_tposition (WindowHandle, 10, 10)
d2:=MinDistance*dd
tuple_string (d2, '.2f', String1)
disp_message (WindowHandle,String1 , 'Image', Row11, Column11, 'black', 'true')

扩视项目详细视频如下:

点击》》》》》观看此项目详细视频,学习快速项目开发思想套路。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

扩视机器视觉

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值