经营性质的网站,公司软文怎么写,平台页面设计,好公司网站建设价格一、基于灰度值的模板匹配1. 基本原理基于灰度值的匹配通过衡量模板图像#xff08;T#xff09;与待匹配图像#xff08;S#xff09;子区域的灰度相似性实现定位#xff0c;核心是计算归一化积相关系数#xff08;NCC#xff09;#xff0c;公式如下#xff1a;(R(i…一、基于灰度值的模板匹配1. 基本原理基于灰度值的匹配通过衡量模板图像T与待匹配图像S子区域的灰度相似性实现定位核心是计算归一化积相关系数NCC公式如下(R(i,j) \frac{\sum{m1}^{M}\sum{n1}^{N} T(m,n) \cdot S{i,j}(m,n)}{\sqrt{\sum{m1}^{M}\sum{n1}^{N} T(m,n)^2 \cdot \sum{m1}^{M}\sum{n1}^{N} S{i,j}(m,n)^2}})(R(i,j) \in [-1,1])值越接近 1匹配度越高。原理模板在待匹配图像上滑动计算每个位置的 NCC 值最大值对应最佳匹配位置。2. 序贯相似性检测算法SSDA为提高效率SSDA 通过累加误差阈值判断提前终止非匹配区域的计算定义绝对误差(|S_{i,j}(m,n) - T(m,n)|)设定阈值(T_k)随机选取像素点累加误差若超过(T_k)则标记为非匹配区域记录累加次数rr越大匹配度越高匹配区域需更多计算才可能超过阈值。3. Halcon 灰度匹配算子及实例核心算子create_ncc_model(Template, NumLevels, AngleStart, AngleExtent, AngleStep, Metric, ModelID)创建 NCC 模板find_ncc_model(Image, ModelID, AngleStart, AngleExtent, MinScore, NumMatches, ..., Row, Column, Angle, Score)搜索最佳匹配实例SMD 芯片匹配dev_update_off () read_image (Image, smd/smd_on_chip_05) // 读取图像 get_image_size (Image, Width, Height) dev_open_window (0, 0, Width, Height, black, WindowHandle) dev_set_color (green) dev_set_draw (margin) // 定义模板区域ROI gen_rectangle1 (Rectangle, 175, 156, 440, 460) reduce_domain (Image, Rectangle, ImageReduced) // 裁剪模板区域 // 创建NCC模板支持旋转角度0~0自动金字塔层级 create_ncc_model (ImageReduced, auto, 0, 0, auto, use_polarity, ModelID) dev_display (Image) dev_display (Rectangle) stop () // 批量匹配多幅图像 for J : 1 to 11 by 1 read_image (Image, smd/smd_on_chip_ J$02) // 搜索匹配最小得分0.5最多1个匹配 find_ncc_model (Image, ModelID, 0, 0, 0.5, 1, 0.5, true, 0, Row, Column, Angle, Score) dev_display (Image) // 显示匹配结果 dev_display_ncc_matching_results (ModelID, green, Row, Column, Angle, 0) stop () endfor clear_ncc_model (ModelID) // 释放模板二、基于特征的模板匹配1. 基本原理通过提取图像的特征点 / 轮廓 / 矩等信息进行匹配解决灰度匹配对光照、旋转敏感的问题常见方法包括不变矩匹配利用图像矩的旋转 / 缩放不变性匹配距离变换匹配计算边缘点到模板边缘的最小欧式距离距离越小匹配度越高最小均方误差匹配通过仿射变换模型最小化对应点对的误差。2. Halcon 特征匹配算子及实例核心算子create_shape_model(Template, NumLevels, AngleStart, AngleExtent, AngleStep, ..., ModelID)创建形状模板find_shape_model(Image, ModelID, AngleStart, AngleExtent, MinScore, ..., Row, Column, Angle, Score)搜索形状匹配实例形状模板匹配dev_update_off () read_image (Image, part.png) // 读取包含目标的图像 dev_close_window () get_image_size (Image, Width, Height) dev_open_window (0, 0, Width, Height, black, WindowHandle) // 提取模板区域假设目标为矩形 threshold (Image, Region, 100, 255) connection (Region, ConnectedRegions) select_shape (ConnectedRegions, TemplateRegion, area, and, 500, 10000) // 检查模板可行性生成金字塔层级 inspect_shape_model (TemplateRegion, ModelImages, ModelRegions, 4, 30) // 创建形状模板支持旋转-30°~30°步长1° create_shape_model (TemplateRegion, 4, -0.52, 1.05, auto, none, use_polarity, 30, 10, ModelID) // 获取模板轮廓用于显示 get_shape_contours (ModelContours, ModelID, 1) // 读取待匹配图像并搜索 read_image (TestImage, part_test.png) find_shape_model (TestImage, ModelID, -0.52, 1.05, 0.6, 1, 0.5, least_squares, 0, 0.9, Row, Col, Angle, Score) // 显示结果 dev_display (TestImage) dev_display_shape_matching_results (ModelID, green, Row, Col, Angle, 1, 1, 0) stop () clear_shape_model (ModelID) // 释放模板三、图像金字塔1. 定义与作用图像金字塔是多分辨率图像集合自下而上分辨率逐步降低用于加速匹配先在低分辨率层粗匹配再在高分辨率层精匹配提高抗干扰能力低分辨率层过滤细节噪声。2. 常见类型高斯金字塔通过高斯模糊 下采样去除偶数行 / 列生成用于向下采样拉普拉斯金字塔记录高斯金字塔层间差异用于图像重建向上采样。3. Halcon 金字塔相关算子inspect_shape_model(Image, ModelImages, ModelRegions, NumLevels, Contrast)检查模板并生成金字塔create_shape_model中NumLevels参数指定金字塔层级通常 3~5 层。四、Halcon Matching 助手1. 功能可视化创建模板、设置参数如旋转范围、最小得分、测试匹配结果并自动生成代码支持 4 种匹配方式基于形状的匹配基于相关性的匹配NCC基于描述符的匹配基于形变的匹配。2. 使用步骤打开助手助手 → 打开新的Matching创建模板从图像中框选 ROI 或加载已有模板配置参数设置角度范围、金字塔层级、最小得分等测试匹配在 “检测” 选项卡执行匹配查看结果生成代码在 “代码生成” 选项卡导出可执行的 Halcon 程序。五、本章小结灰度匹配基于像素灰度相关性NCC适用于光照稳定、无大幅形变场景特征匹配基于形状 / 轮廓特征抗光照、旋转能力强适用于复杂场景图像金字塔通过多分辨率加速匹配平衡效率与精度Matching 助手简化模板创建与参数调试快速生成匹配代码。习题参考思路8.1图像匹配目的是定位目标在图像中的位置 / 姿态常用方法包括灰度匹配NCC、SSDA、特征匹配形状、不变矩、基于描述符的匹配SIFT、SURF等。8.2 字母识别步骤创建每个字母的形状模板 → 对测试图像预处理二值化、去噪 → 用find_shape_model批量匹配并输出结果。8.3 数字 3 和 5 识别步骤分别创建 “3” 和 “5” 的模板 → 遍历图像用find_shape_model搜索设置NumMatches为 “所有”筛选得分高于阈值的结果。