2024-11-22 13:54:02
smallest_rectangle1(Regions : : : Row1, Column1, Row2, Column2)功能:返回平行坐标最小外包矩形该算子计算返回输入区域的平行于坐标系的最小外包矩形。该最下外包是关于区域中心计算的最小平行外包。返回参数:Row1, Column1:矩形中心点的坐标。 Row2, Column2:矩形右下较的点坐标。smallest_rectangle2 (...
2024-10-11 10:44:19
勇哥这套halcon引擎的学习笔记贴子共七篇,它是在官方指导文档《http://www.skcircle.com/?id=1343》的基础上学习编写而成的笔记。只是有一篇讲解怎么调用向量变量的没有加入,因为勇哥实在不知道这个向量变量有啥子用。以后如果搞明白了再加入吧。2020/7/3勇哥注:原来halcon中的向量就是个容器,跟c++标准模板库中的那个向量是一致的。第八篇加上来吧halcon引擎学...
2024-05-14 21:21:05
两种方式: 第一种:使用海康提供的MyCamera.cs类,使用动态链接库的方式,这种方式必须安装MVS客户端(客户端安装的时候会将需要用到的依赖文件一并安装,如果不想安装MVS,就必须到海康官网下载“机器视觉工业相机SDK V3.5.0版本Runtime组件包”),并使用MyCamera.cs这个类 第二种:使用MvCa...
2024-05-07 17:00:29
从今天开始每天学习halcon软件。本博客中所用版本均为halcon11.0。第一种方法ImagePath:=[]ImagePath[0]:='E:/images1/a000.bmp'ImagePath[1]:='E:/images1/a001.bmp'ImagePath[2]:='E:/images1/a002.bmp'ImagePath[3]:=...
2024-04-20 22:58:06
halcon中为啥有时候鼠标点不中指定的region?这个初学者经常问。勇哥注: 原因是如图红框所示的按钮被按下去了,关闭即可。--------------------- 作者:hackpig来源:www.skcircle.com版权声明:本文为博主原创文章,转载请附上博文链接!...
2024-01-02 13:12:51
勇哥这套halcon引擎的学习笔记贴子共七篇,它是在官方指导文档《http://www.skcircle.com/?id=1343》的基础上学习编写而成的笔记。只是有一篇讲解怎么调用向量变量的没有加入,因为勇哥实在不知道这个向量变量有啥子用。以后如果搞明白了再加入吧。2020/7/3勇哥注:原来halcon中的向量就是个容器,跟c++标准模板库中的那个向量是一致的。第八篇加上来吧halcon引擎学...
2023-08-29 11:12:22
带ROI跟随的找边,是机器视觉中最常用的功能。如果各位对勇哥这段代码有疑问,欢迎留言讨论。载入第一张图片,执行找边的结果。载入第二张图片,角度与位置与上张不同。可以看到ROI是跟随的,执行找边。这里勇哥没有再找第二条边,因为方法是一样的,就不重复了。完整测试代码如下:找边的算子find_line是个外部过程,其代码见勇哥另一个贴子:Halcon学习(27-2)halcon测量技术:找线在这个找边的...
2023-08-21 16:11:00
原图来自Ihalcon论坛一个非常小的凹坑位于图中间- 算法思路 -利用灰度统计特性进行缺陷检测原图噪声比较大,进行高斯滤波计算灰度统计特性intensity (ImageGauss, ImageGauss, Mean, Deviation)利用灰度统计特性,检测亮缺陷亮缺陷检测代码如下*亮缺陷
threshold(ImageGauss, LightRegion, Mean + 3.5*Devi...
2023-08-02 11:22:55
勇哥这套halcon引擎的学习笔记贴子共七篇,它是在官方指导文档《http://www.skcircle.com/?id=1343》的基础上学习编写而成的笔记。只是有一篇讲解怎么调用向量变量的没有加入,因为勇哥实在不知道这个向量变量有啥子用。以后如果搞明白了再加入吧。2020/7/3勇哥注:原来halcon中的向量就是个容器,跟c++标准模板库中的那个向量是一致的。第八篇加上来吧halcon引擎学...
2023-03-08 21:24:38
2D测量之一通过2D测量可以获取一些特征,如• 物体的范围,也就是说组成物体的像素数组• 物体的方向• 物体间或者物体组成部分间的角度• 物体的位置• 物体的尺寸 ,也就是说他的宽度高度或者物体间的距离,物体组成部分间的距离• 物体的个数分析measure_metal_part_first_example.hdev例程第一步:创建区域并提取基础信息• 通过threshold算子提取感兴趣的区域•...
2021-03-30 16:32:23
这个功能是用于在C#那边用halcon引擎执行程序时的交互性调试用的。下面的主机与端口是指的C#那边的主机与端口。你必须在C#这边用下面这句MyEngine.StartDebugServer(); 开启调试服务器。这个调试服务器默认的地址是: localhost 端口是:57786勇哥感觉指定网络中另一台机器做为服务器也应该是可以的。 private void Form1_Load(object...
2021-03-21 22:30:09
1D测量之一 学习如何使用Halcon进行1D测量,可以参考:1、 Halcon自带的文档【solution_guide_iii_a_1d_measuring.pdf】2、 Halcon例程【measure_switch.hdev】 其中 【solution_guide_iii_a_1d_measuring.pdf】,第一章以Halcon例程【measure_switch.hdev】为例...
2021-03-06 14:54:30
大很多场合,需要在视觉程序中导入CAD文档,比如,在3C行业,需要对手机外壳进行CNC加工,或者点胶操作,此时,需要获取产品的各个点的数据。如果将CAD直接导入,就会大的减少编程工作量,同时也能达到很高的精度。以下为Halcon自带例程:* This example program shows how to read DXF files and how to
* use this CAD des...
2021-02-27 14:29:32
动画是在基恩士官网上看到的,现转载一下,以方便大家参考:引用自:https://www.keyence.com.cn/landing/robotVision_movie_library.jsp 上固定相机的抓取动作设定示例将为您介绍使相机固定到机械手上方后,抓取动作所需的CV-X系列的设定流程。下固定相机的抓取偏移补正动作设定示例将为您介绍使相机固定到机械手下方后,抓取偏移补正动作所需的CV-X系...
2021-02-23 20:50:52
资料看上去只是大恒的一张幻灯片上面的内容不用看了。勇哥联系了大恒的人,打听到下面的情况(这算是官方说法了):1. 安装halcon的时候,勾选“install driver for usb dongles”,安装加密狗驱动。注意这个时候你得把狗插上去。2. 如果你错过了这个选项,可以选择手工安装执行下面的程序(带参数 -i)注意执行前要先插上狗。3. 回到haspdinst.exe文件的上级目录,...
2021-02-22 16:21:40
高斯金字塔可以生成不同大小的一波图像,按你指定的缩小比例来。如下图:算子原型:gen_gauss_pyramid(Image : ImagePyramid : Mode, Scale : )gen_gauss_pyramid计算一个按比例缩小的图像金字塔。下一幅图像缩小的尺度由参数Scale 决定。例如,Scale的值为0.5将使图像Image 的边缘长度缩短50%。这完全等同于“正常”金字塔。参...
2021-02-07 09:45:03
勇哥偶尔看到这篇HDevelop语法贴子,总结得比较全面。由于没必要重复造轮子,因此转载过来方便初学者查阅。下面文章转载自:https://blog.csdn.net/weixin_42258743/article/details/107506789(一)Halcon的语法结构特点特点:1)Halcon大部分的语句是Halcon提供的算子,此外也包含了少部分的控制语句;2)不允许单独声明变量;3)...
2021-02-02 22:41:49
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2021-01-31 23:27:03
模糊测量是对标准测量的一种扩展,并不意味着测量是“模糊的”,而是用模糊隶属函数来控制边缘的选择。所谓的模糊隶属函数,就是将边缘的特征值转换为隶属度值,基于这些隶属值做出是否选择边缘的决定,即当隶属值大于你设定模糊阈值时,边缘就会被选中,反之则反。这种方法的优点是即使使用很低的最小阈值或平滑,也能灵活处理额外的边缘。举个简单的例子方便理解: 比如在测量开关引脚之间的宽度和距离时,引脚可...
2021-01-31 23:14:57
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2021-01-31 23:03:24
图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。1,点,线,边缘检测1.1 点检测将嵌在一幅图像的恒定区域或亮度几乎不变的区域里的孤立点的检测,就是点检测。可以用点检测的模板来将孤立的点检测出来:这个模板的...
2021-01-31 09:45:16
halcn上面的工具条各位都已经很熟悉了吧。可能也未必……,下面个这个轮廓线窗口的图标,你陌生吗?作用:用于详细检查线性或圆形ROI的灰度值剖面(见图3)。在“测量助手”中或检查相机焦点时,使用线条轮廓尤其有助于优化边缘检测。其它的应用则是分析基于灰度变的缺陷。请注意, “轮廓线”窗口是一个可视化工具,不能用于创建任何输出,例如在图像中执行更改或生成代码。详细介绍:打开后,显示“没有有效的绘图数据...
2021-01-30 21:39:36
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2021-01-30 21:23:09
阈值分割引言C#阈值分割有非常多的算法,大体上分为全局和局部算法。
全局算法包括全局固定阈值和基于图像直方图的阈值,局部算法包括局部动态阈值分割。
基于图像直方图阈值分割的方法也有很多,比如常规的高斯滤波双峰法,OTSU大津法。
但是这类所有的法都基于一个假设:图像是有前景和背景的,待分割目标处于背景中,即图像直方图是双峰的。
如果因为非均匀光照导致待分割目标不处于背景或前景中,即图像直方...
2021-01-29 21:49:19
在工业应用中,定位是大多数应用场景必不可少的环节。通过定位,我们可以对设备作业位置或区域进行调整,如打标、切割、机械手引导等应用。除此之外,我们还可以对被测物进行定位,根据定位数据缩小检测区域以达到提高检测速度和降低误检的目的。我们一般采用模板匹配的方式对被测物进行定位。HALCON为我们提供了基于形状、基于互相关、基于描述符以及可变形的模板匹配。在之前的推送中,大恒图像为您详细讲解了Blob和O...
2021-01-29 21:43:43
1 dev系列函数在HDevelop中我们会看到很多dev开头的函数,这些函数一般都会存在一个不带有dev前缀且名称相同、参数相近的算子,这两种算子的区别在于,前者作用范围仅限于HDevelop在导出为其他语言代码时将被忽略,后者则可以被成功导出为C、C++、CSharp等代码。2 打开窗口我们可以通过代码的方式创建窗口,具体函数如下。或正如我们之前所说的dev_open_window会创建一个H...
2021-01-29 21:40:43
图像处理过程中,从图像中观察处理结果无疑是最直观的方式。在最终的程序交付或项目阶段性成果展示时,为了能够更直观的表现我们算法的处理效果,往往需要图文并茂的进行演示。今天我们就来看看,在HDevelop中如何图文俱佳展示我们的处理结果。在开始之前我们首先打开一个新的脚本并输入如下代码read_image (Image, 'printer_chip/printer_chip_01')...
2021-01-29 17:45:23
引言:特征提取是缺陷检测和分类器的重要基础,由于网络资料匮乏,这个系列的贴子勇哥会长期更新,以充实其内容。在halcon中,有“特征直方图”。其中“特征”下拉列表中有一些项目,它根据你选择的对象是region还是xld而有不同的项目。对于region来讲,这些特征项目分为两类:region_features和gray_features,即region特征和灰度特征。下面的两个算子可以取这上面两类特...
2021-01-29 10:29:56
前言:一直以来,对于blob分析勇哥没有做系列贴子,现在把它补上。在halcon中经常听到两个概念,一是blob分析,二是形态学,它们之间是什么关系呢?
答案是:后者是前者的一个子集,或者说是前者的一个步骤。
形态学在blob分析中常见的用于去除噪声影响,常见的算法有:腐蚀、膨胀、开运算、闭运算、
顶帽、黑帽、形态学梯度等等。 详见:http://www.skcircle.com/?id=1...
2021-01-29 09:15:24
勇哥偶尔一篇贴子中见到用开运算做目标检测,这个思路感觉还是很稀奇的。原贴只是一张示例图片,我编写了一段演示代码以方便大家阅读。原文介绍只是一张图片,其中Structuring element指的是开运算指定结构元素,图中右半部分说是利用Opening算子可以在图中检索出和结构元素类似的部分。halcon的开运算有许多算子,可以使用结构元素的有:opening(Region, StructEleme...