halcon模板匹配】的更多相关文章

模板匹配是机器视觉工业现场中较为常用的一种方法,常用于定位,就是通过算法,在新的图像中找到模板图像的位置.例如以下两个图像.   这种模板匹配是最基本的模板匹配.其特点只是存在平移旋转,不存在尺度变化,同时光照变化不大.这样很适合常规的灰度模板匹配.但是利用opencv不太好解决角度的问题,同时速度上也达不到工业需求,因此,halcon的用途就来了.下面我详细介绍模板匹配的过程: 1 首先是选择区域.也就是ROI.我们先建一个矩形区域,以矩形的中点作为参考点. //矩形区域 gen_rectan…
在机器视觉应用中,经常需要对图像进行仿射变换.1.在基于参考的视觉检测中,由于待检图像与参考图像或多或少都会存在几何变化(平移.旋转.缩放等),所以在做比较之前一般都要对待检图像进行仿射变换以对齐图像.2.要进行仿射变换,必须先获取变换矩阵,形状匹配是获取变换矩阵的一种高效的方法.3.Halcon的如下几个函数是专门用于计算变换矩阵的:vector_angle_to_rigid :Compute a rigid affine transformation from points and angl…
********************************模板匹配 ********************create_shape_model创建模板,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长:这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短.对特别大的模板,用Optimization来减少模板点的数量是很有用的:Min…
模板图片:目标是获取图像左上角位置的数字 直接想法,直接用一个框将数字框出来,然后对图片进行模板匹配(不可行,因为图像中的数字不是固定的) 所以需要选择图像中的固定不变的区域来作为模板,然后根据模板区域来找到我们的目标区域,案例以左上角的商标名称作为模板区域 代码:案例图片在C:\Users\HJ\AppData\Roaming\MVTec\HALCON-21.05-Progress\examples\images\blister(根据自己安装halcon的位置来寻找) *读取模板图片,了解目标…
工业中模板匹配有很多需求. 代码如下: read_image (Image, 'J:/测试图片/test1/1.bmp') get_image_size (Image, Width, Height) gen_rectangle1 (Rectangle, 1057.01, 1698.27, 1241.98, 1898.29) *gen_rectangle1 (Rectangle, 449.726, 813.267, 669.604, 1005.06) area_center (Rectangle,…
find_shape_model(Image : :  //搜索图像 ModelID, //模板句柄 AngleStart,  // 搜索时的起始角度 AngleExtent, //搜索时的角度范围,必须与创建模板时的有交集 MinScore, //最小匹配值,输出的匹配的得分Score 大于该值 NumMatches, //定义要输出的匹配的最大个数 MaxOverlap, //当找到的目标存在重叠时,且重叠大于该值时选择一个好的输出 SubPixel, //计算精度的设置,五种模式,多选2,…
create_shape_model(Template : : //reduce_domain后的模板图像 NumLevels,//金字塔的层数,可设为“auto”或0—10的整数 AngleStart,//模板旋转的起始角度 AngleExtent,//模板旋转角度范围, >=0 AngleStep,//旋转角度的步长, >=0 and <=pi/16 Optimization,//设置模板优化和模板创建方法 Metric, //匹配方法设置 Contrast,//设置对比度 MinC…
halcon有三种模板匹配方法:即Component-Based.Gray-Value-Based.Shaped_based,分别是基于组件(或成分.元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种方法. 先要补充点知识:形状匹配常见的有四种情况 一般形状匹配模板shape_model.线性变形匹配模板planar_defor…
注:很抱歉,忘记从转载链接了,作者莫怪.... 基于HALCON的模板匹配方法总结 很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间.去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇<基于HDevelop的形状匹配算法参数的优化研究>文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载.…
转载链接:     http://blog.csdn.net/b108074013/article/details/37657801 很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间.去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇<基于HDevelop的形状匹配算法参数的优化研究>文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这…
halcon软件最高效的一个方面在于模板匹配,号称可以快速进行柔性模板匹配,能够非常方便的用于缺陷检测.目标定位.下面以一个简单的例子说明基于形状特征的模板匹配.      为了在右图中,定位图中的三个带旋转箭头的圆圈.注意存在,位置.旋转和尺度变化. 上halcon程序 * This example program shows how to find scaled and rotated shape models. dev_update_pc ('off') dev_update_window…
很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间.去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇<基于HDevelop的形状匹配算法参数的优化研究>文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载. 德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主…
引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分 光度立体:halcon--缺陷检测常用方法总结(光度立体) - 唯有自己强大 - 博客园 (cnblogs.com) 特征训练 测量拟合 频域+空间域结合:halcon--缺陷检测常用方法总结(频域空间域结合) - 唯有自己强大 - 博客园 (cnblogs.com) 深度学习 本篇主要总结一下缺陷检测中的定位+差分的方法.即用形状匹配,局部变形匹配去定位然后用差异模型去检测缺陷. 模板匹配(定位)+差分 整体思…
基于组件的模板匹配: 应用场合:组件匹配是形状匹配的扩展,但不支持大小缩放匹配,一般用于多个对象(工件)定位的场合. 算法步骤: 1.获取组件模型里的初始控件 gen_initial_components() 参数: ModelImage [Input] 初始组件的图片 InitialComponents [Output] 初始组件的轮廓区域 ContrastLow [Input] 对比度下限 ContrastHigh [Input] 对比度上限 MinSize [Input] 初始组件的最小尺…
HALCON形状匹配讲解 https://blog.csdn.net/linnyn/article/details/50663328 https://blog.csdn.net/u014608071/article/details/78564596 2016年02月14日 16:09:40 赵一一 阅读数:18149   很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间.去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优…
一:课程介绍 1.1:学习目标 学会用imread载入图像,和imshow输出图像. 用nameWindow创建窗口,用createTrackbar加入滚动条和其回调函数的写法. 熟悉OpenCV函数matchTemplate并学会通过该函数实现模板匹配. 学会怎样将一副图片中自己感兴趣的区域标记出来 1.2:什么是模板匹配? 在一副图像中寻找和另一幅图像最相似(匹配)部分的技术. 1.3:案例展示 输入有两幅图像一副是 template.jpg 另一幅是 original.jpg .匹配完成的…
1单匹配: 测试图片:   code: #include <opencv\cv.h> #include <opencv\highgui.h> #include <opencv\cxcore.h> #include <stdlib.h> #include <stdio.h> /* 模板匹配法 --图片查找 滑动窗口的原理 用等大小的模板窗口在范围中进行滑动 然后查找匹配 */ int main(int argc, char* argv[]){ Ip…
模板匹配在工业中经常有两个用途,一模板匹配进行产品定位,二根据匹配度来判断是OK的产品还是NG的产品.我用OPENCV做了个模板匹配定位的DEMO. (1)点击打开图像按钮打开一幅图像 (2)点击定义模板就行拖动橡皮条进行模板设置 (3)模板定义好后就可以再打开其他图像进行模板匹配定位了 附图如下:…
首先使用: MatchTemplate 比较模板和重叠的图像区域 void cvMatchTemplate( const CvArr* image, const CvArr* templ, CvArr* result, int method ); image 欲搜索的图像.它应该是单通道.8-比特或32-比特 浮点数图像 templ 搜索模板,不能大于输入图像,且与输入图像具有一样的数据类型 result 比较结果的映射图像.单通道.32-比特浮点数. 如果图像是 W×H 而 templ 是 w…
  在语音识别方面,同样的话都是同一个人,每次说的情况是不同的,难以识别.本章是定义如何适应不同的情况有不同的特性指标. 1,基于最优路径搜索的度量:①贝尔曼最优性原则和动态编程②编辑距离(The Edit Distance)③在语音识别动态时间扭曲(DTW), speaker-dependentrecognition. speaker-independentrecognition. 2,基于相关性的度量:这一部分解决的问题是"给定一组记录数据.查找数据是否包括已知模式.并找出其详细位置&quo…
模板匹配的作用在图像识别领域作用可大了.那什么是模板匹配? 模板匹配,就是在一幅图像中寻找另一幅模板图像最匹配(也就是最相似)的部分的技术. 说的有点抽象,下面给个例子说明就很明白了. 在上面这幅全明星照中,我们想找出姚明头像的位置,并把它标记出来,可以做到吗? 可以,这就是模板匹配的要做的事情. 其实模板匹配实现的思想也是很简单很暴力的,就是拿着模板图片(姚明头像)在原图(全明星照)中从左上至右下依次滑动,直到遇到某个区域的相似度低于我们设定的阈值,那么我们就认为该区域与模板匹配了,也就是我们…
OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之一.这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否"相似",当相似度足够高时,就认为找到了我们的目标. 在 OpenCV 中,提供了相应的函数完成这个操作. matchTemplate 函数:在模板和输入图像之间寻找匹配,获得匹配结果图像 minMaxLoc 函数:在给定的矩阵中寻找最大和最小值,并给出它们的位置 在具体介绍这两个函数之前呢,我们还要介绍一个概念,就是如何来评价两…
啥叫模板匹配 模板匹配就是在大图中找小图,也就说在一幅图像中寻找另一幅模板图像的位置: OpenCV使用 cv2.matchTemplate() 实现模板匹配. import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread('lena.jpg', 0) template = cv2.imread('face.jpg', 0) h, w = template.shape[:2] # rows-…
模板匹配功能介绍的很好的一篇博客:https://www.cnblogs.com/XJT2018/p/9934139.html 就如上述博客所言:“若原图像中的匹配目标发生旋转或大小变化,该算法无效.” 具体在测试铭牌识别时,几次测试内,就发现精度非常不可靠.哪怕是从原图中截取一个子图,只要图像大小发生变化,最大匹配相似度也就0.3多,而该子图与其他图片的相似度就发现有超过0.4的. 总结:该功能,受限太多.…
参考文档:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#id2 最近一直在做一个logo检测的项目,检测logo的有无,接触到模板匹配.模板匹配虽然精度不高,但选择恰当的方法,设置合适的阈值也能起到一定作用.有的时候我们还能用模板匹配来定位.下面对模板匹配进行一个总结. 模板匹配:模板匹配是一项在一幅图像…
一.模板匹配概念 二.单模板匹配 #include "opencv2/opencv.hpp" #include <iostream> using namespace std; using namespace cv; void main() { Mat temp=imread("E://mu.jpg"); Mat src=imread("E://lena.jpg"); Mat dst=src.clone(); imshow("…
百度百科:模板匹配是一种最原始.最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题.它是图像处理中最基本.最常用的匹配方法.模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效. 简单来说,模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域. 工作原理:在带检测图像上,从左到右,从上向下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大. 代码如下: #模板匹配 imp…
1. cv2.matchTemplate(src, template, method)  # 用于进行模板匹配 参数说明: src目标图像, template模板,method使用什么指标做模板的匹配度指标 2. min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(ret)  # 找出矩阵中最大值和最小值,即其对应的(x, y)的位置参数说明:min_val, max_val, min_loc, max_loc 分别表示最小值,最大值,即对应的位…
minMaxLoc函数: void minMaxLoc( const Mat& src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc=0, const Mat& mask=Mat() ); 说明: 1 minMaxLoc寻找矩阵(一维数组当作向量,用Mat定义) 中最小值和最大值的位置. 2 参数若不需要,则置为NULL或者0,即可. 3 minMaxLoc针对Mat和MatND的重载中 ,第5个参数是可…
Atitit opencv模板匹配attilax总结 找一幅图像的匹配的模板,可以在一段视频里寻找出我们感兴趣的东西,比如条形码的识别就可能需要这样类似的一个工作提取出条形码区域(当然这样的方法并不鲁棒).而OpenCV已经为我们集成好了相关的功能.函数为matchTemplate. 所谓模板匹配就是在一幅图像中寻找和模板图像(patch)最相似的区域.该函数的功能为,在输入源图像Source image(I)中滑动框,寻找各个位置与模板图像Template image(T)的相似度,并将结果保…