E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
HALCON学习
跟我学机器视觉-
HALCON学习
例程中文详解-IC引脚测量
跟我学机器视觉-
HALCON学习
例程中文详解-IC引脚测量 Lead Measurement: Example for the application of the measure object
·
2015-11-11 13:21
学习
跟我学机器视觉-
HALCON学习
例程中文详解-FUZZY检测用于开关引脚测量
跟我学机器视觉 -HALCON 学习例程中文详解 -FUZZY 检测用于开关引脚测量 * This example program demonstrates the basic usage of a fuzzy measure object. * Here, the task is to determine t
·
2015-11-11 02:21
学习
halcon学习
之产品检测
Rinspect_gasket_local_deformable.hdev 检测垫圈局部变形 *这个例子演示了如何利用局部变形匹配(local deformable matching)来寻找出垫圈是否变形 dev_update_off() Smoothness:=25 read_image(ModelIma
·
2015-10-27 11:56
产品
halcon学习
笔记——(11)Image,region,xld初步
一 读取的3种方式: read_image( image,'filename') //image 是输出对象,后面是输入文件的路径和名称 读取多图: 1,申明一个数组,分别保存路径 ImagePath:=[] ImagePath[0]:='D:/1.bmp' ImagePath[1]:='D:/2.bmp' ImagePath[2]:='D:/3
·
2015-10-27 11:56
image
Halcon学习
之2DMetrology
#include"halconcpp\HalconCpp.h" #include usingnamespaceHalconCpp; usingnamespacestd;1.测量矩形voidtest2DMetrologyRect() { //创建一个需要用来测量几何图形的数据结构 HMetrologyModelmetrologyModel; metrologyModel.CreateMetrolog
u011058765
·
2015-10-08 21:00
halcon
二维测量
Halcon学习
笔记_06:字符识别OCR
批号、日期等任何行业的各种字符信息都会作为检测项目在生产线上通过图像处理检测装置加以识别。1.OCR识别的一般流程2.OCR的各种定位方法光盘序列号读取*Segmenttheoutercircle mean_image(Image,ImageMean,51,51) dyn_threshold(Image,ImageMean,RegionDynThresh,15,'dark') fill_up(Re
lxy_2011
·
2015-10-08 15:00
ocr
Halcon学习
笔记_05:一维码、二维码
1.一维码定义:由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。码制:EAN码:是国际通用的符号体系,是一种长度固定、无含意的条码,所表达的信息全部为数字,主要应用于商品标识。39码和128码:为目前国内企业内部自定义码制,可以根据需要
lxy_2011
·
2015-10-07 11:00
二维码
Halcon学习
笔记_04:划痕、油污、瑕疵
划痕、油污、瑕疵,常用的方法有傅里叶变换和Blob分析。1.表面划痕invert_image(Image,ImageInvert1)mult_image(ImageInvert1,ImageInvert1,ImageResult,0.01,0)gen_sin_bandpass(ImageBandpass,0.6,'none','rft',Width,Height)rft_generic(Image
J-A
·
2015-10-06 11:42
Halcon
Halcon学习
笔记_04:划痕、油污、瑕疵
划痕、油污、瑕疵,常用的方法有傅里叶变换和Blob分析。1.表面划痕invert_image(Image,ImageInvert1) mult_image(ImageInvert1,ImageInvert1,ImageResult,0.01,0) gen_sin_bandpass(ImageBandpass,0.6,'none','rft',Width,Height) rft_generic(I
lxy_2011
·
2015-10-06 11:00
Halcon学习
SVM
voidtestSupportVectorMachines() { //创建一个支持向量机 //参数说明:NumFeatures支持向量机输入特征向量的维数,KernelType核函数类型,KernelParam核函数的附件参数,Nu正则化常量, //NumClasses类别数量,Mode支持向量机的模式,Preprocessing用来转换特征向量的预处理类型,NumComponents转换特征的
u011058765
·
2015-09-30 11:00
SVM
halcon
Halcon学习
多层神经网络
voidtestNeuralNets() { //为分类和回归创建一个多层感知器 //参数说明:NumInput输入变量的个数,NumHidden隐藏层的单元数,NumOutput输出变量的数目,OutputFunction输出层激励函数的类型, //Preprocessing转换特征向量的预处理类型,NumComponents转换特征的数目,RandSeed初始化多层感知器的随机数种子 Hlon
u011058765
·
2015-09-28 11:00
神经网络
halcon
Halcon学习
之高斯混合模型
voidtestGaussMixtureModels() { //创建一个高斯混合模型对象 //参数说明:NumDim特征空间的维度数量,NumClasses高斯混合模型的类别数目,NumCenters每个类的中心数目, //CovarType协方差矩阵的类型,Preprocessing用来转化特征向量的预处理类型,NumComponents预处理参数:转化特征的数目,RandSeed产生随机数的
u011058765
·
2015-09-24 21:00
knn
高斯混合模型
halcon
Halcon学习
之超盒分类
voidtestHyperboxes() { //创建一个新的分类器 HClassBoxclassBox; classBox.CreateClassBox(); //训练一个分类器 //参数说明:Features要学习的属性数组,Class指定属性数组被分配到的类 HTupleFeatures=HTuple(0).Append(1).Append(2); HlongClass=0; classB
u011058765
·
2015-09-24 21:00
knn
halcon
超盒
Halcon学习
之K最近邻分类
voidtestKNearestNeighbors() { //创建K最近邻分类器 //参数说明:NumDim指定特征维度数量 HTupleNumDim=2; HClassKnnclassKnn; classKnn.CreateClassKnn(NumDim); //添加一个样本到k最近邻分类器 //参数说明:Features增加的特征列表,ClassID指定的类别 HTupleFeatures
u011058765
·
2015-09-24 21:00
knn
halcon
Halcon学习
之仿射变换3D3
7.转换一个3d仿射变换矩阵为pose//转换一个3d仿射变换矩阵为pose,pose代表一个3d刚性物体变换数据集,可以平移和旋转 //pose对象参数说明:参数1-参数3:代表x,y,z三个方向的平移量,参数4-参数6:代表x,y,z三个轴的旋转量,最后一个代表操作类型。 HPosepose=rotatelocal.HomMat3dToPose(); tuple=pose.ConvertToT
u011058765
·
2015-09-15 11:00
3D
仿射变换
halcon
Halcon学习
之仿射变换3D2
4.添加旋转因子到一个3d仿射变换矩阵中//添加旋转因子到一个3d仿射变换矩阵中,与示例2的区别就是,自动取坐标原点为固定点 //参数说明:参数1:旋转角度(弧度),参数2:指定相对的旋转轴(‘x’,'y','z') HHomMat3Drotatelocal=hhommat3d.HomMat3dRotateLocal(0.4,"z"); tuple=rotatelocal.ConvertToTup
u011058765
·
2015-09-15 11:00
3D
仿射变换
halcon
Halcon学习
之仿射变换3D1
1.产生一个3D的单位阵//产生一个3D的单位阵(4*4的仿射变换矩阵,真实存储在内存中的时候,最后一行不进行存储,因为最后一行都是相同的数据) HHomMat3Dhhommat3d; hhommat3d.HomMat3dIdentity(); HTupletuple=hhommat3d.ConvertToTuple();//转换为tuple类型,以便读取内容数据 for(inti=0;i
u011058765
·
2015-09-15 11:00
3D
仿射变换
halcon
Halcon学习
之仿射变换4
11.添加一个旋转效果到一个仿射变换矩阵(相对于本地坐标系统,即图像中心点)cout<<"12.添加缩放因子到一个仿射矩阵中。相对于本地坐标系统"<
u011058765
·
2015-09-14 21:00
仿射变换
halcon
Halcon学习
之仿射变换3
7.转化一个仿射变换矩阵//转化一个仿射变换矩阵 HHomMat2Dinvert=hommat2d_scale.HomMat2dInvert(); result_image=image.AffineTransImage(invert,"constant","true");//进行仿射变换 image.DispColor(w); w.Click(); w.ClearWindow(); result_
u011058765
·
2015-09-14 21:00
仿射变换
halcon
Halcon学习
之仿射变换2
4.序列化一个均匀2D转换矩阵,将序列化矩阵,以二进制方式写入文件中//序列化一个均匀2D转换矩阵,将序列化矩阵,以二进制方式写入文件中 HSerializedItemitem=hommat2d_scale.SerializeHomMat2d(); HFilefile("affine.hobj","output_binary"); item.FwriteSerializedItem(file);
u011058765
·
2015-09-14 21:00
仿射变换
halcon
halcon学习
之仿射变换1
1.根据仿射变换提供的变换矩阵,转化给定原点到目标点HHomMat2Dhommat2d; hommat2d.HomMat2dIdentity();//产生一个均匀变换矩阵(单位矩阵,没有实质上转化影响) Hlongx=4,y=6; doubleresult_x,result_y; hommat2d.AffineTransPixel(x,y,&result_x,&result_y);//进行像素坐标
u011058765
·
2015-09-14 21:00
仿射变换
halcon
halcon学习
之tuple元素排序操作
//转置一个数组HTupletuple; tuple=HTuple::TupleGenSequence(1,10,1);//获得1-10的数组序列 for(inti=0;i
u011058765
·
2015-09-11 17:00
halcon学习
之tuple创建操作
//连接两个tuple数组到第三个tuple中HTupletuple1; tuple1[0]=1; tuple1[1]=2; HTupletuple2; tuple2[0]=3; HTupleresult=tuple1.TupleConcat(tuple2); for(inti=0;i<3;i++) { cout<<(Hlong)result[i]<<""; } cout<
u011058765
·
2015-09-11 17:00
Tuple
halcon
halcon学习
之tuple转化操作
对tuple数组执行相关的转化操作//通过截断一个浮点型的数据,转化为整形数据,tuple内容不允许是string类型HTupletuple1=12.124431432; HTupleresult=tuple1.TupleInt(); cout<<(Hlong)result<
u011058765
·
2015-09-11 17:00
Tuple
halcon
halcon学习
之tuple比较运算
//执行两个tuple数组之间的相互比较voidtestComparison(){HTupletuple1;tuple1[0]=1;tuple1[1]=1;tuple1[2]=2;HTupletuple2; tuple2[0]=1; tuple2[1]=2; tuple2[2]=1; HTupleresult=tuple1.TupleEqual(tuple2);//数组大小相同,同一位置对应数据
u011058765
·
2015-09-11 17:00
比较
Tuple
halcon
halcon学习
之tuple按位运算
//执行数组对应值的按位’与’,’或’,’非’,’异或’,’左移’,’右移’这五种位运算voidtestTupleBitLogic() { HTupletuple1; tuple1[0]=1; tuple1[1]=2; HTupletuple2; tuple2[0]=3; tuple2[1]=4; HTupleresult=tuple1.TupleBand(tuple2);//按位与 for(
u011058765
·
2015-09-11 09:00
位运算
Tuple
halcon
halcon学习
tuple之算术运算3
//计算数组的自然对数 voidTupleLog() { HTupletuple1; for(inti=0;i<10;i++) { tuple1[i]=i*10+2; } HTupleresult=tuple1.TupleLog(); for(inti=0;i<10;i++) { cout<<(double)result[i]<<""; } } //计算数组以10为底的对数 voidTuple
u011058765
·
2015-09-10 16:00
Tuple
算术运算
halcon
halcon学习
tuple之算术运算2
//计算数组的积累值,tuple数组中每个元素必须都是数字,输入[1,2,3,4],则输出[1,3,6,10],如果输入的有浮点数,则输出结果也会出现浮点数 voidtestTupleCumul() { HTupletuple; for(inti=0;i<10;i++) { tuple[i]=i; } for(inti=0;i<10;i++) { cout<<(Hlong)tuple[i]<<"
u011058765
·
2015-09-10 16:00
Tuple
算术运算
halcon
halcon学习
tuple之算术运算1
//对指定tuple数组内的值求绝对值 voidtestTupleAbs() { HTupletuple; for(inti=0;i<10;i++) { tuple[i]=i*2-5; } for(inti=0;i<10;i++) { cout<<(Hlong)tuple[i]<<""; } HTupleresult=tuple.TupleAbs(); cout<
u011058765
·
2015-09-10 16:00
Tuple
算术运算
halcon
Halcon学习
笔记_03:Blob分析
Blob分析由以下步骤组成:采集图像->提取ROI->图像或ROI对齐->修正图像->图像预处理->提取分割参数->分割图像->区域预处理->提取特征->将结果转为世界坐标->可视化显示1.修正图像图像或区域对齐问题:(SolutionGuideIII-Cinsection3.4)2.图像预处理消除噪声的相关函数:mean_image() gauss_image() 相对高斯滤波速度快,效果不完美
lxy_2011
·
2015-08-26 13:00
Blob分析
halcon学习
笔记——(6)单摄像机标定
halcon学习
笔记——(6)单摄像机标定Inthereferencemanual,operatorsignaturesarevisualizedinthefollowingway:operator(iconicinput
banlycs
·
2015-08-25 12:24
Halcon学习
笔记_02:Morphology
1.GrayValuesdual_rank功能:打开、取中值和关闭圆和矩形掩码。gen_disc_se功能:为灰度形态学生成椭圆结构基础。gray_closing功能:关闭一个图像的一个灰度值。gray_closing_rect功能:关闭带矩形掩码的灰度值。gray_closing_shape功能:关闭带矩选择掩码的灰度值。gray_dilation_rect功能:扩大一个矩形的最小灰度值。gra
lxy_2011
·
2015-08-04 17:00
形态学
Halcon学习
笔记_01:Threshold
当图像中物体的灰度值存在差异,可以通过阈值分割的方法提取出目标所在区域。常用的算子有:auto_threshold功能:根据直方图决定的阀值分割图像。bin_threshold功能:根据自动产生的阈值分割图像。char_threshold功能:为提取的字符产生一个分割阈值。check_difference功能:逐个像素的比较两幅图像。dual_threhold功能:对标记的图像做门限操作。dyn_
lxy_2011
·
2015-08-03 17:00
阈值分割
Halcon学习
资料归总
1、Halcon的自我描述Program LogicØ Each program consists of a sequence of HALCON operatorsØ The program can be structured into proceduresØ The sequence can be extended by using control operators like if, for
huixingshao
·
2015-05-25 11:00
学习
halcon
资料归总
Halcon学习
Blob analysis(blob 分析)
Blobanalysis是导师要求我先看的章节,所以就先后在网上找了一些资料,大家可以发现,Blobanalysis都牵涉都halconsoftware.之前在很多图像处理的书籍也没涉及这个词语,个人猜测是halcon公司自己定义的。Blobanalysis(连通域分析)或者直接(Blob分析),个人觉得可以理解为blocanalysis(块分析)。Blob分析,是一个处理过程的统称,包括:首先获
hisen92
·
2015-04-02 18:22
Halcon
learning
halcon学习
笔记——机器视觉工程应用的开发思路
机器视觉工程应用主要可划分为硬件和软件两大部分。硬件:工程应用的第一步就是硬件选型。硬件选型很关键,因为它是你后面工作的基础。主要是光源、工业相机和镜头选择。软件:目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有OpenCV.其中NI的labview+vision模块。机器视觉工程应用的基本开发思路是:一、图像采集,二、图像分割,三、形态学处理,四、特征提取,
todayq
·
2014-11-06 14:00
halcon学习
笔记——(12)图像分割
转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/01/08/2851925.html一,基本的图像通道知识在图像处理中有一个很重要的概念叫图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看
liuxiaomao1988
·
2014-10-11 13:41
halcon
学习
halcon学习
笔记——(11)Image,region,xld初步
转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/01/07/2848686.html一读取的3种方式:read_image(image,'filename')//image是输出对象,后面是输入文件的路径和名称读取多图:1,申明一个数组,分别保存路径ImagePath:=[]ImagePath[0]:='D:/1.bmp'ImagePath[1]
liuxiaomao1988
·
2014-10-11 12:02
halcon
学习
halcon学习
笔记——(9)摄像机标定
转载:http://www.cnblogs.com/hanzhaoxin/archive/2013/01/06/2847133.html1.read_cam_par(::CamParFile:CameraParam)从文件夹中读取相机的内参数。2.disp_caltab(::WindowHandle,CalTabDescrFile,CameraParam,CaltabPose,ScaleFac:)
liuxiaomao1988
·
2014-10-11 11:06
halcon
学习
halcon学习
笔记——(8)由标定板得到测量平面位姿
转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/01/06/2847119.html如图:由标定板位姿获取测量板位姿1.pose_to_hom_mat3d(::Pose:HomMat3D)把三维位姿转化为齐次变换矩阵2.hom_mat3d_translate_local(::HomMat3D,Tx,Ty,Tz:HomMat3DTranslate)
liuxiaomao1988
·
2014-10-11 11:03
halcon
学习
Halcon学习
备忘六(拟合圆的一种方法)
对于圆形区域,我们想拟合出它的圆形轮廓或者其他的圆,我们可以用如下的方法拟合出来:(1)、如果该区域是一个圆环区域的话,那就运行骨架算子skeleton得到圆环区域的骨架,然后用gen_contours_skeleton_xld生成骨架轮廓。如果该区域是圆形区域,那么可以用产生区域轮廓算子gen_contour_region_xld()产生圆形轮廓。(2)、有了轮廓后可以先用segment_con
haohaoxuexi320
·
2014-08-11 17:00
halcon
halcon学习
备忘五(图像选择,剪切,obj循环,ocr识别)
1、在分割完轮廓线或者其他一些线条后,我们需要进行一些筛选来获得我们想要的曲线,我们可以通过以下的算子来进行(1).select_contours_xld() 可以通过该算子设定筛选标准,比如根据线的长度contour_length或者曲率curvature来直接进行选择。(2).get_contour_global_attrib_xld()通过该算子获得曲线的全局参数,例如曲率等,然后根据参数判
haohaoxuexi320
·
2014-08-05 10:00
图像处理
halcon
halcon学习
备忘四(Region的选择处理与信息的多样化显示)
1、Region的选择与处理通过threshold阈值分割以及在connection和select_shape完后,我们可以得到一些被选择出来的区域Region,接下来想要对这些Region逐个处理,以达到某些目的。那么我们如何逐个选择呢?方法很简单,就是先计数Region的个数,然后for循环遍历每个区域,在循环里面根据Index选择Region。例如:count_obj(Regions,Num
haohaoxuexi320
·
2014-05-20 16:00
机器视觉
halcon学习
备忘三(数组的一些常用操作算子)
1、求数组元素的最大值tuple_max(Array,Max)2、求数组元素的最小值tuple_min(Array,Min)3、求数组元素的平均值tuple_mean(Array,Mean)4、求数组元素的绝对值tuple_abs(Array,Abs)5、两个数组相加tuple_add(Array1,Array2,Sum)6、两个数组相减tuple_sub(Array1,Array2,Sub)5、
haohaoxuexi320
·
2014-05-16 17:00
机器视觉
halcon学习
备忘二(图像相减算子)
在我们编写halcon程序中可能常会用到图像相减算子sub_image,例如在做高斯高通滤波的时候,最后的结果是要用原图像减去滤波后的图像才能得到锐化图像。该算子的参数形式如下:sub_image(ImageMinuend,ImageSubtrahend:ImageSub:Mult,Add:)第一个参数是被减图像,第二个参数是减数图像,第三个参数是结果图像,第四个参数是乘数因子,第五个参数是灰度补
haohaoxuexi320
·
2014-05-15 14:00
机器视觉
halcon学习
备忘一(循环读图、多窗口显图、读写硬盘里图)
一、循环读取硬盘中的图片学习halcon例程可以看到当我们需要循环读取硬盘中某个位置的图片进行处理时,而在for循环里面只写一句read_image(),那么只需要将图片命名格式统一成例如Image_01、Image_02这样的格式,再在read_image()里面加入约束格式就好了。例子:Path:='E:/Image_'forf:=1to2by1read_image(Image,Path+f$
haohaoxuexi320
·
2014-05-08 16:00
机器视觉
Halcon学习
笔记(一)——图像阈值化处理
今天开始,开始学习Halcon图像处理,希望与有共同兴趣的朋友一起学习进步。-----------pbImage,2014.04.051.vs2013平台阈值化图像#include"cpp/HalconCpp.h"#include"Halcon.h"#includeusingnamespaceHalcon;constchargImageName[256]="lena.jpg";intmain(){
WTK-CV
·
2014-04-05 16:48
Halcon学习笔记
halcon学习
笔记——机器视觉工程应用的开发思路
机器视觉工程应用主要可划分为硬件和软件两大部分。硬件:工程应用的第一步就是硬件选型。硬件选型很关键,因为它是你后面工作的基础。主要是光源、工业相机和镜头选择。软件:目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有OpenCV.其中NI的labview+vision模块。机器视觉工程应用的基本开发思路是:一、图像采集,二、图像分割,三、形态学处理,四、特征提取,
hehe6378
·
2014-04-04 16:00
Halcon学习
—模版匹配之三
前面主要介绍了匹配的2个主要的算子,对这两个算子了解后,我们就可以做匹配了。下面是转自一位前辈的经验总结,对我们很有帮助。 到这里匹配就结束了,但是我们仅仅完成了初步的工作,后面我们还要对其做一定的变换,完成实际项目的具体应用。 (转自基于HALCON的模板匹配方法总结--蓝云杨的机器视觉之路 蓝云杨的机器视觉之路Shape-Basedmatching的基本流程 HALCON
hehe6378
·
2014-01-18 22:00
Halcon学习
—模版匹配之一
create_shape_model(Template:://reduce_domain后的模板图像 NumLevels,//金字塔的层数,可设为“auto”或0—10的整数 AngleStart,//模板旋转的起始角度 AngleExtent,//模板旋转角度范围,>=0
hehe6378
·
2014-01-18 22:00
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他