基于形状的模板匹配,手工绘制ROI
来源:互联网 发布:域名被抢注怎么办 编辑:程序博客网 时间:2024/05/18 00:15
halcon中基于形状的模板匹配,受灰度影响不大,识别较为稳定,在此介绍一种简单的基于形状匹配的方法,模板匹配基本的流程如下:
1.提取图像模板,可以通过ROI绘制,绘制图像分割的方法提取,作为模板的图像尽可能的清晰
2.创建匹配模型
3.进行匹配
4.利用仿射变换用于显示,同时获取匹配位置的坐标,角度
本文采用的是手工绘制ROI来创建模板,代码中进行了详细的注释,把相机参数改为自己的相机即可运行,具体代码如下:
set_system ('border_shape_models', 'false')dev_close_window ()*打开相机open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[1] USB2.0 UVC PC Camera', 0, -1, AcqHandle)grab_image (Image, AcqHandle)get_image_size (Image, Width, Height)dev_open_window (0, 0, Width, Height, 'black', WindowHandle)dev_display (Image)*绘制ROI区域draw_circle (3600, Row, Column, Radius)gen_circle (Circle, Row, Column, Radius)*抠图reduce_domain (Image, Circle, TemplateImage)*创建模型create_shape_model (TemplateImage, 5, rad(0), rad(360), rad(2.0192), ['none','no_pregeneration'], 'use_polarity', [30,57,4], 'auto', ModelId)*保存模板write_shape_model (ModelId, 'shapeTemplate.shm')*读取模板read_shape_model ('shapeTemplate.shm', ModelID)*获取模型轮廓位于原点get_shape_model_contours (ModelContours, ModelID, 1)while (true) grab_image (Image, AcqHandle) *匹配 find_shape_model (Image, ModelID, rad(0), rad(360), 0.6, 0, 0.5, 'least_squares', [5,1], 0.75, ModelRow, ModelColumn, ModelAngle, ModelScore) *仿射变换用于显示识别位置 for MatchingObjIdx := 0 to |ModelScore| - 1 by 1 *创建矩阵 hom_mat2d_identity (HomMat) *计算旋转矩阵 hom_mat2d_rotate (HomMat, ModelAngle[MatchingObjIdx], 0, 0, HomMat) *计算平移矩阵 hom_mat2d_translate (HomMat, ModelRow[MatchingObjIdx], ModelColumn[MatchingObjIdx], HomMat) affine_trans_contour_xld (ModelContours, TransContours, HomMat) *显示中心点 gen_cross_contour_xld (Cross,ModelRow[MatchingObjIdx], ModelColumn[MatchingObjIdx], 10, ModelAngle) dev_set_color ('green') dev_set_line_width (3) dev_display (TransContours) dev_display (Cross) endforendwhileclear_shape_model (ModelId)close_framegrabber (AcqHandle)匹配圆形药片:
阅读全文
0 0
- 基于形状的模板匹配,手工绘制ROI
- 基于形状的模板匹配
- Halcon中基于形状模板的匹配
- 【Halcon】基于形状的模板匹配
- Halcon中基于形状模板的匹配
- HALCON基于形状的模板匹配
- halcon 基于形状模板匹配的定位与测定
- Halcon学习之基于形状的模板匹配(一)
- 模板匹配(基于形状分析)
- 模板匹配(基于形状)inspect_shampoo_label例程
- 模板匹配(基于形状模板)check_soft_cheese例程
- halcon模板匹配(基于形状)——笔记
- 机器视觉Halcon:颗粒计数(基于形状模板匹配)
- 向量匹配、移动匹配、模板匹配的关系与区别、不规则物体形状的匹配方法
- 【OpenCV+Python】轮廓检测及绘制,可用以生成对应于不规则形状ROI区域的mask
- 基于边缘的模板匹配
- halcon模板匹配之形状匹配法
- halcon模板匹配之形状匹配法
- hdu1505 City game(最大子矩阵)
- redis使用心得,连接不上解决方法
- Wannafly挑战赛1 B.Xorto 两区间异或和
- 1.1Java语言发展史和平台概述
- vuejs开发音乐播放器(二):单歌手歌单列表界面
- 基于形状的模板匹配,手工绘制ROI
- VS远程调试方法总结
- oracle禁用外键关联约束
- redis(1)——Ubuntu下安装redis
- Mac下SSH使用与配置
- NKOJ 3804 机器人M号(递推+欧拉函数)
- Mybatis入门基础
- Android Bitmap加载内存占用彻底分析
- javaUI之卡片布局管理器