halcon 模板匹配

*开启异常处理
dev_set_check('give_error')
*错误代码,非0表示异常,0表示ok
ErrorCode:=0
*设置填充模式
dev_set_draw('margin')
* Image Acquisition 01: Code generated by Image Acquisition 01
open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, 'progressive', -1, 'default', -1, 'false', 'default', 'GQ127000001', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
grab_image_async (Image, AcqHandle, -1)
* Image Acquisition 01: Do something
*绘制模板区域
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width/10, Height/10, 'black', WindowHandle)
dev_display (Image)
draw_circle (WindowHandle, Row, Column, Radius)
gen_circle (Circle, Row, Column, Radius)
area_center (Circle, Area, Row1, Column1)
*获取ROI边框
boundary (Circle, RegionBorder, 'inner')
*threshold(Image,ROI_0,0,200)
*减少定义域
reduce_domain(Image, RegionBorder, ImageReduced1)

inspect_shape_model (ImageReduced1, ModelImages, ModelRegions, 4, 30)
*创建模板
create_shape_model (ImageReduced1, 'auto', 0, rad(360), 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID1)
*保存模板
write_shape_model (ModelID1, 'C:/Users/Administrator/Desktop/modle1.shm')

*获取模板轮廓
get_shape_model_contours(ModelContours, ModelID1, 1)


*看看生成的轮廓
dev_set_color ('red')
dev_set_line_width (2)
vector_angle_to_rigid (0, 0, 0, Row1, Column1, 0, HomMat2D)
affine_trans_contour_xld (ModelContours, ContoursAffinTrans, HomMat2D)

stop()

clear_shape_model(ModelID1)

close_framegrabber (AcqHandle)


*读取模板
read_shape_model('C:/Users/Administrator/Desktop/modle1.shm',ModelID2)
* Image Acquisition 02: Code generated by Image Acquisition 02
open_framegrabber ('GigEVision2', 0, 0, 0, 0, 0, 0, 'progressive', -1, 'default', -1, 'false', 'default', 'GQ127000001', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
while (true)
    grab_image_async (Image, AcqHandle, -1)
    * Image Acquisition 02: Do something
    *模板匹配
find_shape_model (Image, ModelID2, 0, rad(360), 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score1)


endwhile
close_framegrabber (AcqHandle)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值