Halcon学习笔记之缺陷检测(一)】的更多相关文章

例程:detect_indent_fft.hdev 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波): 然后,将原图和构造的滤波器进行快速傅里叶变换: 最后,利用形态学算子将缺陷表示在滤波后的图片上(在缺陷上画圈). 注:代码中绿色部分为个人理解和注释,其余为例程中原有代码 *Initialization(初始化) dev_updata_off() //这一句包含如下…
例程:surface_scratch.hdev 说明:这个程序利用局部阈值和形态学处理提取表面划痕 代码中绿色部分为个人理解和注释,其余为例程中原有代码 *surface_scratch.hdev:extraction of surface scratches via local thresholding and morphological post-processing* dev_close_window() dev_update_window('off') ***** *step: acqu…
例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解.在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题. 图1. 卤素灯图像 大致原理: 一.准备阶段:描述样本 1. 准备好两组卤素灯图像样本,好坏的各若干张图像: 2. 对样本图像进行分割,获取卤素灯关键部位区域: 3. 选择合适的对图像的描述…
目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV 学习笔记 05 人脸检测和识别进行区分:需重新说明一下什么是目标检测. 目标检测是一个程序,它用来确定图像的某个区域是否有要识别的对象,对象识别是程序识别对象的能力.识别通常只处理已检测到对象的区域.若人们总是会在有人脸图像的区域去识别人脸. 在计算机视觉中有很多目标检测和识别的技术,本章会用到:…
转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应用的第一步就是硬件选型.硬件选型很关键,因为它是你后面工作的基础.主要是光源.工业相机和镜头选择. 软件:目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有OpenCV.其中NI的labview+vision模块. 机器视觉工程应用的基本开发思路是: 一.图像采集…
本节将介绍 Haar 级联分类器,通过对比分析相邻图像区域来判断给定图像或子图像与已知对象是否匹配. 本章将考虑如何将多个  Haar 级联分类器构成一个层次结构,即一个分类器能识别整体区域(如人脸),而其他的分类器可识别小的区域(如鼻子.眼睛和嘴). 1 Haar 级联的概念 图像会因灯光.视角.视距.摄像头抖动以及数字噪声的变化而使得细节变得不稳定.所以提取图像的细节对产生稳定分类结果和跟踪结果很有作用.这些提取的结果被称为特征. 专业的表述为:从图像数据中提取特征.虽然任意像素都可能影响多…
原文链接:http://blog.csdn.net/myarrow/article/details/51878004 1. 基本概念 1)CNN:Convolutional Neural Networks 2)FC:Fully Connected 3)IoU:Intersection over Union (IoU的值定义:Region Proposal与Ground Truth的窗口的交集比并集的比值,如果IoU低于0.5,那么相当于目标还是没有检测到) 4)ICCV:Internationa…
转:https://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应用的第一步就是硬件选型.硬件选型很关键,因为它是你后面工作的基础.主要是光源.工业相机和镜头选择. 软件:目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有OpenCV.其中NI的labview+vision模块. 机器视觉工程应用的基本开发思路是: 一.图像采集…
例程:class_overlap_svm.hdev 说明:这个例程展示了如何用一个支持向量机来给一幅二维的图像进行分类.使用二维数据的原因是因为它可以很容易地联想成为区域和图像.本例程中使用了三个互相重叠的类(由二维平面三个不同颜色的像素点集组成).三类不同颜色的像素点作为样本,将那些样本代入支持向量机进行训练.选取像素在二维平面的坐标作为特征向量,使支持向量机对这个二维特征区域进行分类.在结果中我们可以看到,支持向量机会将特性区域(也就是整个二维平面)中每一个的像素点分割为这三个类中的一类.因…
1.介绍 目标检测是指任意给定一张图像,判断图像中是否存在指定类别的目标,如果存在,则返回目标的位置和类别置信度 如下图检测人和自行车这两个目标,检测结果包括目标的位置.目标的类别和置信度 因为目标检测算法需要输出目标的类别和具体坐标,因此在数据标签上不仅要有目标的类别,还要有目标的坐标信息 可见目标检测比图像分类算法更复杂.图像分类算法只租要判断图像中是否存在指定目标,不需要给出目标的具体位置:而目标检测算法不仅需要判断图像中是否存在指定类别的目标,还要给出目标的具体位置 因此目标检测算法实际…
用.Net写的地图编辑器,最近在一个长时间使用的策划手里频繁挂掉.定位到原因应该是GDI泄露.但在几千行代码里手工寻找泄漏点实在是有些困难,直到在网上找到了这个检测GDI泄露的工具GDILeaks.它的强大之处,在于可以将程序里当前占用的gdi位图.dc用图形格式显示出来,这样,泄露点基本上就直接展示在你眼前了. 另外,关于泄露为什么会发生,我还有些疑问.经检查,泄漏点是这样的C#代码 void doSomeThing() { Bitmap tmpBmp = new Bitmap(100,100…
2019-2-2: 硬件选型--->镜头光源相机选型第一讲.avi: 高斯公式:1/u+1/v=1/f  u:物距  v:像距 f:焦距 线放大倍率:像高/物高  或者 像距/物距 镜头需要掌握基本概念:焦距 光圈 光圈数(这个参数越大,分辨率越大) 景深 物体在清晰成像的移动范围(光圈越小 景深越大 ;焦距越小,景深越大;拍摄距离越大景深越大) 具体选型案例如下: 硬件选型--->超人视觉初级班镜头光源选型第二讲.avi  相机主要参数:曝光 分辨率 增益 帧率 尺寸 镜头接口 输出接口 白…
1 环境设置: win10 python 3.6.8 opencv 4.0.1 2 尝试的方法 在学习人脸识别中,遇到了没有 cv2 中没有 face 属性.在网上找了几个方法,均没有成功解决掉该问题. 2.1 方法一 来源:module 'cv2.cv2' has no attribute 'face' pip install opencv-contrib-python 重启sublime,在运行后依旧报错. 当然了,这个不成功可能是由于opencv 与 contrib 版本不匹配造成的. 2…
参考大佬博文:blog.csdn.net/jia20003/article/details/7724530 lps-683.iteye.com/blog/2254368 openCV里有两个函数(比较常用)处理霍夫变换直线检测,有什么区别呢. CvHoughLine:是用于标准的霍夫变换方法 CvHoughLine2:可以使用三种霍夫变换的方法,分别是标准霍夫变换(SHT).多尺度标准霍夫变换(MSHT).累计概率霍夫变换(PPHT). 函数原型: CvSeq* cvHoughLines2( C…
一维码的原理与结构 条码基本原理是利用条纹和间隔或宽窄条纹(间隔)构成二进制的”0“和”1“,反映的是某种信息. 一维条码数据结构,分四个区域.组成分别为静区.起始/终止符.校验符.数据符. 一维条码的意识形态结构,分三条. 构成一维码的基本单元是模块,模块是指条码中最窄的条或空: 构成条码的条或空称为一个单元,一个单元包含多个或单个模块: 一个单元包含的模块数量由编码方式决定,即形成了不同的码制. 一维码的定位与识别 基本halcon工具算子,create_bar_code_model()生成…
机器视觉应用工程开发思路 机器视觉应用工程主要可划分为两大部分,硬件部分和软件部分. 1.硬件部分,硬件的选型至关重要,决定了后续工作是否可以正常开展,其中关键硬件部分包括:光源,相机以及镜头. 2.软件部分,目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有OpenCV.其中NI的labview+vision模块. 机器视觉应用工程大致开发思路:       一.获取图像              图像采集可以来源多个途径,用算子read_image去读取图…
不多说,直接上干货! 本文一系列目标检测算法:RCNN, Fast RCNN, Faster RCNN代表当下目标检测的前沿水平,在github都给出了基于Caffe的源码. •   RCNN RCNN(Regions with CNN features)是将CNN方法应用到目标检测问题上的一个里程碑,由年轻有为的RBG大神提出,借助CNN良好的特征提取和分类性能,通过RegionProposal方法实现目标检测问题的转化. 算法可以分为四步:         1)候选区域选择 Region P…
首先,射线检测的API是这样的,网上找了一下,这个图片看得很清楚: 接下来是自己使用这个进行测试 using System.Collections; using System.Collections.Generic; using UnityEngine; //基本语法:public Ray ScreenPointToRay(Vector3 position); //其中参数position为屏幕位置参考点. //功能说明:此方法的作用是可以从Camera的近视口nearClip向前发射一条射线到…
一 读取的3种方式: 读取单张的图片: read_image( image,'filename') //image 是输出对象,后面是输入文件的路径和名称 读取多图: 1,申明一个数组,分别保存路径 ImagePath:=[] ImagePath[0]:='D:/1.bmp' ImagePath[1]:='D:/2.bmp' ImagePath[2]:='D:/3.bmp' for i:=0 to 2 by 1 read_image(Image,ImagePath[i]) endfor 2,fo…
package com.frank.mobilesafe; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; import javax.net.ssl.HttpsURLConnection; import org.apache.http.HttpClientCo…
像素的减少 开运算(较少) 腐蚀(去除更多) 对灰度图像的开运算或腐蚀 相当于将灰度图像变暗 像素增加 闭运算(较少) 膨胀(较多) 对灰度图像的闭运算或膨胀 相当于将灰度图像变亮 仿射变换 另外一种仿射变换 * This example demonstrates an application from the pharmaceutical * industry. The task is to check the content of automatically filled * blister…
图像预处理 一般来说,我们采集到的图像会有一些小黑点,小斑点,不平滑等因素会会影响我们后期的算法,此时就需要我们对其图片进行预处理. 下面是一些预处理基本算子: 1.消除噪声:mean_image/binomial_filter a)mean_image(Image,ImageMean,MaskWidth,MaskHeight) 参数: Image:输入图像ImageMean:输出图像MaskWidth:遮掩的宽度[要过滤的宽度]默认值: 9建议值: 3, 5, 7, 9, 11, 15, 23…
1.查看数据分布data.describe() 2.找出某列中符合筛选条件的值 3.找出符合筛选条件的行 4.用np.sign(data)*3设置绝对值的标准 data[np.abs(data)>3]=np.sign(data)*3data.describe()…
函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(array) -> retval 参数: array - 灰度图像(gray-scale image)或 2D点集( 2D point set ) 返回值:元组 元组(x, y, w, h ) 矩形左上点坐标,w, h 是矩阵的宽.高,例如 (161, 153, 531, 446) 代码示例: conto…
http://www.cnblogs.com/hbiner/p/3591335.html?utm_source=tuicool&utm_medium=referral 这段时间把<C陷阱和缺陷>看了,没时间自己写总结.就转一下别人的学习笔记吧http://bbs.chinaunix.net/thread-749888-1-1.html Chapter 1 词法陷阱 程序中的单个字符孤立起来看并没有什么意义,只有结合上下文才有意义,如p->s = "->"…
这段时间把<C陷阱和缺陷>看了,没时间自己写总结.就转一下别人的学习笔记吧http://bbs.chinaunix.net/thread-749888-1-1.html Chapter 1 词法陷阱 程序中的单个字符孤立起来看并没有什么意义,只有结合上下文才有意义,如p->s = "->";两处的-意义是不同的. 程序的基本单元是token ,相当于自然语言中的单词. 一个token的意义是不会变的. 而组成token 的字符序列则随上下文的不同而改变. tok…
摘要 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等. 缺陷检测算法不同于尺寸.二维码.OCR等算法.后者应用场景比较单一,基本都是套用一些成熟的算子,所以门槛较低,比较容易做成标准化的工具.而缺陷检测极具行业特点,不同行业的缺陷算法迥然不同.随着缺陷检测要求的提高,机器学习和深度学习也成了缺陷领域一个不可或缺的技术难点. 总的来说,机器视觉中缺陷检测分为一下几种: blob+特征(官方示例surface_scratch.hde…
引言 机器视觉中缺陷检测分为一下几种: blob+特征(官方示例surface_scratch.hdev) blob+差分+特征(官方示例pcb_inspection.hdev) 光度立体 特征训练 测量拟合 频域+空间域结合:halcon--缺陷检测常用方法总结(频域空间域结合) - 唯有自己强大 - 博客园 (cnblogs.com) 深度学习 前一篇总结了频域与空间域的结合使用,本篇就光度立体的缺陷检测做一个总结. 光度立体 在工业领域,表面检测是一个非常广泛的应用领域.在halcon中,…
引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分 光度立体:halcon--缺陷检测常用方法总结(光度立体) - 唯有自己强大 - 博客园 (cnblogs.com) 特征训练 测量拟合 频域+空间域结合:halcon--缺陷检测常用方法总结(频域空间域结合) - 唯有自己强大 - 博客园 (cnblogs.com) 深度学习 本篇主要总结一下缺陷检测中的定位+差分的方法.即用形状匹配,局部变形匹配去定位然后用差异模型去检测缺陷. 模板匹配(定位)+差分 整体思…
引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分:halcon--缺陷检测常用方法总结(模板匹配(定位)+差分) - 唯有自己强大 - 博客园 (cnblogs.com) 光度立体:halcon--缺陷检测常用方法总结(光度立体) - 唯有自己强大 - 博客园 (cnblogs.com) 特征训练 测量拟合 频域+空间域结合:halcon--缺陷检测常用方法总结(频域空间域结合) - 唯有自己强大 - 博客园 (cnblogs.com) 深度学习 本篇主要总结一…