机器视觉
文章平均质量分 64
机器视觉
lfw2019
这个作者很懒,什么都没留下…
展开
-
Halcon语法
1、跟其他语言不完全一致的表达符号赋值符号 :=引号 ' ' (一律是单引号)求商求余 / % (一个整数除以另一个数,如何使商是实型的?即浮点型)逻辑运算 and or not xor(异或)逻辑真假 true false等于 = 和 == 都行不等于 != 和 # 都行等号: :=不等号: #注释符: *字符串赋值: str:=’ study halcon’等于比较符: i...转载 2022-01-21 09:32:02 · 2129 阅读 · 0 评论 -
orientation_region (Operator)
gen_rectangle2 (Rectangle1, 300, 200, 0, 100, 20)gen_rectangle2 (Rectangle2, 300, 200, rad(30), 100, 20)orientation_region (Rectangle2, r2)gen_rectangle2 (Rectangle3, 300, 200, rad(60), 100, 20)orientation_region (Rectangle3, r3)gen_rectangle2 (Recta.原创 2022-01-05 09:39:37 · 448 阅读 · 0 评论 -
Halcon 算子 trans_from_rgb
Halcon 彩色图片通道分割处理1.RGB通道:R红色,G绿色,B蓝色;R、G、B各占一个字节,取值范围在0—255;可代表的颜色数256*256*256==2^24黑色区域是:R=G=B=0; 白色区域是:R=G=B=255; 黄色:R=G=255,B=0;decompose3 (Image, Image1,Image2, Image3) *将一个三通道图像转换成3个通道的图像 2、 hsv通道:色相(H)是色彩的基本属性,就是平常所说的颜色...转载 2022-01-04 19:51:16 · 2280 阅读 · 0 评论 -
halcon--HDevWindowStack详解
在HDevelop中编写好的程序在导出时,Halcon会帮我们转换成我们需要的语言,比如C++。例:HDevelop中有如下语句需要导出: dev_close_window() Halcon导出成C++语言就成了如下语句: if (HDevWindowStack::IsOpen()) close_window(HDevWindowStack::Pop()); 了解MFC的应该不难理解,这两句在底层做了什么!下面让我来讲解一下,呵呵 首先来看看HDevWindowSta转载 2021-10-18 20:25:18 · 1313 阅读 · 0 评论 -
halcon算子翻译——open_framegrabber大恒相机
halcon算子翻译——open_framegrabber大恒相机Interface: DahengCAMRevision: 6.0Date: 2014-10-31HALCON Version: 12.0一般 本页提供大恒集团USB 2.0和1394IIDC摄像机的HALCON DahengCAM接口文件。 注册客户可以从http://www.mvtec.com/上下载该接口的最新版本。系统要求● Windows 7/8或Windows 7/8 x64的Intel计算机。●转载 2021-09-28 11:11:22 · 2513 阅读 · 0 评论 -
区域的集合运算---complement,difference,intersection,union1,union2
dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowHandle)gen_rectangle1 (Rectangle1, 100, 100, 150, 200)gen_rectangle1 (Rectangle2, 50, 50, 200, 250)*算子第一二个参数类型为Image,如果类型为区域则计算...原创 2020-03-10 21:27:44 · 1156 阅读 · 0 评论 -
Halcon二维仿射变换实例探究
Halcon二维仿射变换实例探究二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。Halcon中进行仿射变换的常见步骤如下:① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0.0]);② 在初始化矩阵的基础上,使用hom_ma...转载 2020-02-13 21:59:16 · 667 阅读 · 0 评论 -
gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )
1、gen_caltab( : :XNum,YNum,MarkDist,DiameterRatio,CalPlateDescr,CalPlatePSFile: ) 为具有矩形排列标记的标定板生成校准板描述文件和相应的后记文件。 XNum(input_control) integer→(integer):每行黑色标志圆点的数量Number of...原创 2019-12-21 11:47:59 · 1283 阅读 · 0 评论 -
Halcon算子--区域特征
当我们想要提取Region时,图像处理后,往往存在几个类似的Region,此时,需要根据Region的一些特殊特征,来选择指定的Region。求Region指定特征值:region_features(Regions : : Features : Value)根据特征值选择区域:select_shape(Regions : SelectedRegions : Features, Operat...转载 2019-02-22 08:58:21 · 561 阅读 · 0 评论 -
第十课 图像的算术运算(crop_part,invert_image,scale_image)
1、crop_part(Image : ImagePart : Row, Column, Width, Height : ) 裁剪一个或多个矩形区域 ,生成一个新图像2、invert_image(Image : ImageInvert : : ) 图像灰度值翻转 3、scale_image(Image : ImageScale...原创 2019-08-16 13:28:36 · 2634 阅读 · 0 评论 -
第五课 :图像的 BLOB 分析处理几何变换(access_channel,orientation_region)--check_blister.hdev
1、access_channel(MultiChannelImage : Image : Channel : ) 访问彩色图像中指定通道的图像2、decompose3 (ImageReduced, ImageR, ImageG, ImageB) 将三通道彩色图片转换为3副单通道图片3、orientation_region(Regions : : ...原创 2019-08-13 10:57:48 · 339 阅读 · 0 评论 -
第十课: 图像的滤波处理(complement, get_mbutton,select_region_point)---particle.hdev
1、complement(Region : RegionComplement : : ) 返回区域的补码,也就是返回图片中所选定区域的其它区域2、get_mbutton( : : WindowHandle : Row, Column, Button) 返回鼠标选中区域的坐标和按下的鼠标的按键3、select_region_point(Region...原创 2019-08-13 10:29:46 · 1087 阅读 · 0 评论 -
第十六课:轮廓、骨架、区域,boundary对比
图一:1、红色表示区域 2、黄色 区域的轮廓 3、珊瑚色 boundary (Region, RegionBorder, 'outer')参数为Outer时,提取区域的外边界,单位是像素 图二:1、红色表示区域 2、黄色 ...原创 2019-08-17 23:03:29 · 1779 阅读 · 0 评论 -
第十七课:(tuple_sort_index、distance_contours_xld、segment_contour_attrib_xld、smooth_contours_xld)
----inspect_frame_width.hdev(经典) 计算两个轮廓之间的距离 1、length_xld 获取轮廓的长度2、tuple_sort_index( : : Tuple : Indices)...原创 2019-08-23 09:20:20 · 4564 阅读 · 2 评论 -
CCD相机和CMOS相机的区别
翻译 2019-08-28 15:08:38 · 778 阅读 · 0 评论 -
第二十一课: 模板匹配的基本概念--模板匹配的分类及注意事项
---first_example_shape_matching.hdev模板匹配主要分三种,基于形状,基于相关性,基于灰度,主要掌握基于形状的模板匹配。基于形状的模板匹配主要分为创建边缘模板(create_shape_model)、创建边缘轮廓模板(create_shape_model_xld)该模板的输入参数为轮廓,两种都和算子find_shape_model一起使用。创建具有缩放比的模板(...原创 2019-09-17 22:36:31 · 3445 阅读 · 0 评论 -
第二十一课: 模板匹配的基本概念---Variation Model(Print Check)
简介:Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(idealimage)的明显差异(也就是不良)。标准图像可以采用几张OK品的图像训练(training)得到,也可以通过对一张OK品图像进行处理得到。训练后得到标准图像和一张variation图像(variationimage),variation图像中包含了图像中每个像素点灰度值允许变...转载 2019-09-18 11:01:00 · 1349 阅读 · 1 评论 -
滞后阈值磁滞分割-hysteresis_threshold (Operator)
hysteresis_threshold(Image : RegionHysteresis : Low, High, MaxLength : ) 图像上灰度值大于或等于High的点有效,这样的点被称为“secure”points安全点,灰度值小于Low的点无效,灰度值在Low和High之间的点如果到“secure”points的距离小于MaxLength则为有效。 ...原创 2019-10-08 15:48:00 · 3807 阅读 · 0 评论 -
halcon循环读取文件夹中图片的方法
第一种:将图片的路径和名称放在一个数组中ImagePath := []ImagePath[0] := 'D:/halcon_test/读取多张图片的方式/1.jpg'ImagePath[1] := 'D:/halcon_test/读取多张图片的方式/2.jpg'ImagePath[2] := 'D:/halcon_test/读取多张图片的方式/3.jpg'ImagePath[3] :=...转载 2019-10-09 10:08:57 · 3793 阅读 · 0 评论 -
第十六课:轮廓提取(threshold_sub_pix, bandpass_image, sobel_amp,lines_gauss)
1、threshold_sub_pix(Image:Border:Threshold: ) 阈值分割边缘提取 不经常使用 以灰度值大于Threshold区域和灰度值小于Threshold的区域为分界点提取亚像素精密轮廓2、3、 4 lines_gauss(Image:Lines:Sigma,Low,High,LightDark,Ex...原创 2019-08-21 15:04:33 · 3363 阅读 · 1 评论 -
第五课: 图像的 BLOB 分析处理几何变换(union_adjacent_contours_xld)--find_pads.hdev,count_pellets.hdev
1、合并端点在一起的轮廓union_adjacent_contours_xld(Contours : UnionContours : MaxDistAbs, MaxDistRel, Mode : )在类似如下图中查找物体的数量:目标物体如果是连接在一起的,可以进行腐蚀处理后,再打散查询物体的数量。 ...原创 2019-08-12 11:36:24 · 1877 阅读 · 0 评论 -
halcon学习笔记--仿射变换(hom_mat2d_scale,hom_mat2d_identity,hom_mat2d_rotate,affine_trans_region
1、reduce_domain(Image, Region : ImageReduced : : )在用reduce_domain这个算子时,一般会先对要保留的区域膨胀下 dilation_circle (RegionClipped, RegionDilation, 2.5) reduce_domain ...原创 2019-07-02 07:35:46 · 11293 阅读 · 0 评论 -
机器视觉中的图像金字塔
图像金字塔式一种以多分辨率来解释图像的结构,通过对原始图像进行多尺度像素采样的方式,生成N个不同分辨率的图像把具有最高级别分辨率的图像放在底部,以金字塔形状排列,往上是一系列像素(尺寸)逐渐降低的图像,一直到金字塔的顶部只包含一个像素点的图像,这就构成了传统意义上的图像。金字塔对应的值设置的越小,显然图像识别的质量越接近原图,如果设置的值越大,匹配的质量也就越差,识别率也越高,只有...原创 2019-04-25 08:11:33 · 1165 阅读 · 0 评论 -
彩色图像、灰度图像、二值图像和索引图像区别
彩色图像,每个像素通常是由红(R)、绿(G)、蓝(B)三个分量来表示的,分量介于(0,255)。RGB图像与索引图像一样都可以用来表示彩色图像。与索引图像一样,它分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。但与索引图像不同的是,RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由R、G、B三个分量来表示,M、N分别表示图像的行列数,...原创 2019-04-17 08:12:36 · 1485 阅读 · 0 评论 -
halcon中的弧度角度互换
弧度和角度的换算关系如下:1弧度=180/π度1度=π/180弧度原创 2019-04-21 13:45:26 · 5129 阅读 · 2 评论 -
相机内部摄像头数据输出格式
参考:https://blog.csdn.net/u011425939/article/details/53437000对于彩色图像,需要采集多种最基本的颜色,如rgb三种颜色,最简单的方法就是用滤镜的方法,红色的滤镜透过红色的波长,绿色的滤镜透过绿色的波长,蓝色的滤镜透过蓝色的波长。如果要采集rgb三个基本色,则需要三块滤镜,这样价格昂贵,且不好制造,因为三块滤镜都必须保证每一个像素点都对齐...转载 2019-03-31 18:40:29 · 5148 阅读 · 0 评论 -
BOLB分析
转:https://blog.csdn.net/tercel_zhang/article/details/51227431Blob分析(Blob Analysis)是对图像中相同像素的连通域进行分析,该连通域称为Blob。Blob分析可为机器视觉应用提供图像中斑点的数量、位置、形状和方向,还可以提供相关斑点间的拓扑结构。Blob翻译成中文,是“一滴”,“一抹”,“一团”,“弄脏”,“弄错”...转载 2019-02-23 09:46:24 · 985 阅读 · 0 评论 -
机器视觉中的阈值
https://blog.csdn.net/bjbz_cxy/article/details/79742020阈值在图像处理中它的意思是颜色转换的临界点,该方法只用于二值化的图像中阈值是一个转换临界点,不管你的图片是什么样的彩色,它最终都会把图片当黑白图片处理,也就是说你设定了一个阈值之后,它会以此值作标准,凡是比该值大的颜色就会转换成白色,低于该值的颜色就转换成黑色,所以最后的结果是,你得...转载 2019-01-15 11:25:46 · 6025 阅读 · 0 评论 -
halcon学习-膨胀和腐蚀
一个字节表示一个像素是灰度图像,三个字节表示一个像素是RGB图像,一个字节8位位深度为8,三个字节位深度为24位。膨胀、腐蚀、开运算、闭运算针对二值图像(二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素不是0就是1,再无其他过渡的灰度值),腐蚀是减少像素,膨胀是增加像素。开运算:先腐蚀后膨胀(也减少像素),可以将两个物体分开,可以消除离散点和"毛刺",。闭运算:是先膨...原创 2019-01-23 22:55:26 · 7970 阅读 · 0 评论 -
机器视觉中的像素、分辨率、灰度值等概念
Sensor的感光原理是通过一个一个的感光点对光进行采样和量化,但在Sensor中,每一个感光点只能感光RGB三基色中的一种颜色(这个颜色可以理解为像素的一个颜色分量,并不是最终的图像显示的颜色,最终图像显示的颜色是由RGB三个颜色分量组合构成,根据RGB三个颜色分量的值不同,组合成不同的颜色)。所以,通常所说的30万像素或130万像素等,指的是有30万或130万个感光点,每一个感光点只能感光三基...原创 2019-01-10 21:39:51 · 12837 阅读 · 1 评论 -
halcon与C#联合编程
步骤1:点击工具→选择工具箱→添加安装目录→点击浏览→添加dot35文件夹下的halcondotnet.dll 步骤2:在VS的引用中添加C盘安装目录下的dot35文件夹下的halcondotnet.dll文件: 步骤三:...原创 2019-01-10 17:19:56 · 2036 阅读 · 0 评论 -
编码器的分类,及编码器A\B\Z三相详解
编码器按照读取方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两类。增量式编码器:将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对值编码器:每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。 编码器的A相、B相、Z相信号中,A、B两个通道的信号一般是正交(即互...原创 2018-11-05 22:41:07 · 28860 阅读 · 1 评论 -
VS2010无法定位程序输入点于动态链接库DLL上
把程序的dll文件拷贝至项目的可执行文件.exe所在的路径下,重新运行项目原创 2018-10-23 16:02:11 · 9164 阅读 · 2 评论 -
Halcon模版匹配算子参数详解--create_shape_model,find_shape_model
转:https://blog.csdn.net/z397164725/article/details/20695177create_shape_model(Template: : //reduce_domain后的模板图像NumLevels, //金字塔的层数,可设为“auto”或0—10的整数AngleStart, //模板...转载 2019-07-02 13:41:47 · 5875 阅读 · 0 评论 -
第十七课:shape_trans_xld、gen_contour_polygon_xld、concat_obj、close_contours_xld---close_contours_xld.hdev
1、shape_trans_xld(XLD:XLDTrans:Type: ) 改变轮廓的形状 如Type为'convex'凸包时图1到图2的变化 ...原创 2019-08-24 11:15:57 · 1613 阅读 · 0 评论 -
第十课:图像增强(emphasize illuminate, scale_image_max)极坐标转换(polar_trans_image)
1、图像增强:增强图像的对比度 为了提高采集图像的质量,光源、镜头、摄像机、图像采集卡都非常重要,但有时采用最佳的硬件设置,图像效果还是不够好,这时需要使用图像增强技术1) emphasize 可以对图像中的边缘起到增强作用(亮的位置更亮,暗的位置更暗)2)illuminate(Image : ImageIlluminate : MaskWidth...原创 2019-08-15 10:43:01 · 4351 阅读 · 1 评论 -
第五课: 图像的 BLOB 分析处理几何变换(min_max_gray,shape_trans,fill_up_shape,select_shape_std)---ball_seq.hdev
1、min_max_gray(Regions, Image : : Percent : Min, Max, Range)Regions:ROI区域,也就是需要计算最大最小灰度值的区域。Image:需要计算最大最小灰度值的图像,如果传入的是RGB三通道图像,则算子自动将彩色图像转换为黑白图像进行计算。Min: 最小的灰度值。Max: 最大灰度值。Range:是灰度值的跨度,也就...翻译 2019-08-06 23:21:33 · 1149 阅读 · 0 评论 -
halcon待完成
1、expand_gray 算子理解 *填补区域间的空白,或分开重叠的区域(ball_seq.hdev) expand_gray (IntermediateBalls, Bond, Forbidden, RegionExpand, 4, 'image', 6)2、halcon实例(中文版)机器视觉算法与应用书籍最后10个实例研究3、芯片除尘培训实例4、学习板小项目之针头缺...原创 2019-08-08 09:08:38 · 559 阅读 · 0 评论 -
第三课: 图像的 BLOB 分析处理流程(clip_region_rel,edges_sub_pix,segment_contours_xld等)---Circles.hdev
所用到的算子:1、boundary(Region : RegionBorder : BoundaryType : ) *提取区域的边界,实质是像素 boundary (Region, RegionBorder, 'inner')2、clip_region_rel(Region : RegionClipped : Top, Bottom, Left, Right : )*通...原创 2019-08-05 11:41:30 · 4830 阅读 · 1 评论 -
halcon学习笔记 ----第三课: 图像的 BLOB 分析处理流程---fin.hdev
1、实例(fin.hdev) 目标:找出图片中的毛刺 知识点1: *一次性读取三张图片(fin1,fin2,fin3),通过select_obj算子选定指定图片 read_ima...原创 2019-07-31 14:08:50 · 1299 阅读 · 0 评论