Halcon获取匹配到的模板区域

更新时间:2023-07-30 13:52:44 阅读: 评论:0

Halcon获取匹配到的模板区域
网店运营与推广在使⽤Halcon进⾏模板匹配的时候,我们使⽤find_shape_model、find_scaled_shape_model等算⼦找到模板后返回的是实例,得到的
数据是模板中⼼的⾏列坐标、⾓度和缩放⽐例等数据,不是具体的区域,下⾯介绍怎么得到具体区域。
解决思路:
参考书⼀:先获取模板的轮廓,此时获取的轮廓位置在(0,0)的位置;
⼆:求出模板到匹配实例的旋转矩阵;
三:利⽤仿射变换得到匹配实例的轮廓;
期末评语高中
四:将轮廓转成区域;
代码及注释讲解:
//获取初始模板轮廓
get_shape_model_contours (ModelContours1, ModelID, 1)
肛肠科实习小结//进⾏模板匹配找模板
find_scaled_shape_model (Image0, ModelID, -3.14, 6.29, 0.95, 1.1, 0.90, 6, 0.5, 'least_squares', 8, 0.9, RowModel3, ColumnModel3, AngleModel3, Scale, Score if(|RowModel3|>0)//如果找到的模板数量⼤于0
//显⽰找到的模板轮廓
dev_display_shape_matching_results (ModelID, 'red', RowModel3, ColumnModel3, AngleModel3, 1, 1, 0)
//循环遍历每个找到的实例
for I := 0 to |Score1| - 1 by 1
//求出初始模板到实例中间的旋转矩阵--注:初始模板的⾏列坐标和⾓度都是0
vector_angle_to_rigid (0, 0, 0, RowModel3[I], ColumnModel3[I], AngleModel3[I], HomMat2DRotate)皱鳃鲨
//给旋转矩阵添加缩放信息
hom_mat2d_scale (HomMat2DRotate, Scale[I], Scale[I], RowModel3[I], ColumnModel3[I], HomMat2DScale)
//通过初始模板和旋转矩阵运算得到模板实例的轮廓
分道扬镳的意思自以为是意思是什么意思affine_trans_contour_xld (ModelContours1, ModelTrans, HomMat2DScale)
//轮廓转区域
我和同事gen_region_contour_xld (ModelTrans, Region, 'filled')
endif

本文发布于:2023-07-30 13:52:44,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1102017.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模板   实例   轮廓
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图