用几何定位实现平移
2016-04-19 22:02
134 查看
*******图像不变,平移ROI
dev_set_draw('margin')
**读取图像(模板图像)
read_image(Image,'D:/halcon学习/image/模组/模组/1.bmp')
**产生检测ROI
gen_rectangle1(Rectangle,848,237,1001,941)
**产生模板区域
gen_circle(Circle,544,564,241)
**减少定义域
reduce_domain(Image, Circle, ImageReduced)
**创建模板。平移变换,把角度设置为0
create_shape_model (ImageReduced, 'auto', 0, 0, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
**获取模板轮廓
get_shape_model_contours(ModelContours, ModelID, 1)
****读取另外一副图像(实时图像)
read_image(Image2,'D:/halcon学习/image/模组/模组/2.bmp')
****几何定位
find_shape_model (Image2, ModelID, 0, 0, 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)
***判断是否定位到。如果定位到,进入if
if(|Score|>0)
**显示模板轮廓
dev_display_shape_matching_results(ModelID, 'red', Row, Column, Angle, 1, 1, 0)
***求模板区域中心
area_center(Circle, Area, Row2, Column2)
***计算仿射变换:从模板图像变换到实时图像。平移变换,目的角度设为0
vector_angle_to_rigid(Row2,Column2,0,Row,Column,Angle,HomMat2D)
**对齐检测ROI到实时图像
affine_trans_region(Rectangle,RegionAffineTrans, HomMat2D, 'false')
***显示图像
dev_display(Image2)
***计算仿射变换:从实时图像变换到模板图像
vector_angle_to_rigid(Row,Column,0,Row2,Column2,0,HomMat2D)
**把实时图像变换到模板图像
affine_trans_image(Image2,ImageAffinTrans1,HomMat2D, 'constant', 'false')
*****显示检测ROI
dev_display(Rectangle)
endif
dev_set_draw('margin')
**读取图像(模板图像)
read_image(Image,'D:/halcon学习/image/模组/模组/1.bmp')
**产生检测ROI
gen_rectangle1(Rectangle,848,237,1001,941)
**产生模板区域
gen_circle(Circle,544,564,241)
**减少定义域
reduce_domain(Image, Circle, ImageReduced)
**创建模板。平移变换,把角度设置为0
create_shape_model (ImageReduced, 'auto', 0, 0, 'auto', 'auto', 'use_polarity', 'auto', 'auto', ModelID)
**获取模板轮廓
get_shape_model_contours(ModelContours, ModelID, 1)
****读取另外一副图像(实时图像)
read_image(Image2,'D:/halcon学习/image/模组/模组/2.bmp')
****几何定位
find_shape_model (Image2, ModelID, 0, 0, 0.5, 1, 0.5, 'least_squares', 0, 0.9, Row, Column, Angle, Score)
***判断是否定位到。如果定位到,进入if
if(|Score|>0)
**显示模板轮廓
dev_display_shape_matching_results(ModelID, 'red', Row, Column, Angle, 1, 1, 0)
***求模板区域中心
area_center(Circle, Area, Row2, Column2)
***计算仿射变换:从模板图像变换到实时图像。平移变换,目的角度设为0
vector_angle_to_rigid(Row2,Column2,0,Row,Column,Angle,HomMat2D)
**对齐检测ROI到实时图像
affine_trans_region(Rectangle,RegionAffineTrans, HomMat2D, 'false')
***显示图像
dev_display(Image2)
***计算仿射变换:从实时图像变换到模板图像
vector_angle_to_rigid(Row,Column,0,Row2,Column2,0,HomMat2D)
**把实时图像变换到模板图像
affine_trans_image(Image2,ImageAffinTrans1,HomMat2D, 'constant', 'false')
*****显示检测ROI
dev_display(Rectangle)
endif
相关文章推荐
- Redis与Memcached的区别
- 二叉树的先序、中序、后序、层序递归及非递归遍历
- Vue+webpack+node.js实现价格监测应用Ponitor
- 数据库实验2
- 如何删除购物流程中的商品包装和祝福贺卡
- java基本语法
- Java中的初始化顺序
- Android开发Widget之提高篇
- POJ-3292 Semi-prime H-numbers
- editplus与notepad++写python乱码
- 文章标题
- elastic search 配置文件
- 正则表达式简明教程
- 一个神奇的POS -扫描 现场销售 开单打印票据 安卓物联网POS机 手持开单终端机 省时省力 高效准确!!
- 属性动画 示例 总结
- svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法
- 静态链表
- FZU 2144 Shooting Game
- 每日Scrum(1)
- 团队项目-个人博客-4.19