草庐IT

Halcon学习教程(一) 之提取十字线中心 图像分割

原文作者:aircraft原文链接:https://www.cnblogs.com/DOMLX/p/17266405.html废话不多说,因为毕业后工作原因比较忙,好久没更新博客了,直接上图。。。上图有个十字线,我们要提取出十字线的中心(Hhhh这个线是我随手画的 没画直!!)第一步:肯定是

在C#中使用Halcon开发视觉检测程序

目录简介将HALCON/.NET添加到应用程序添加控件引用dll调用Halcon算子程序示例HSmartWindowControl控件使用加载、保存图像扩展:加载相机图像画线、画框并保存检测算法抓边算法2D测量模型代码实现使用方法测宽算法附件简介本文的初衷是希望帮助那些有其它平台视觉算法开发经验的人能快速转入Halcon平台下,通过文中的示例开发者能快速了解一个Halcon项目开发的基本步骤,让开发者能把精力完全集中到算法的开发上面。首先,你需要安装Halcon,HALCON18.11.0.1的安装包会放在文章末尾。安装包分开发和运行时两个版本,运行时版本一般用于生产环境。注:开发版本自带运行

在C#中使用Halcon开发视觉检测程序

目录简介将HALCON/.NET添加到应用程序添加控件引用dll调用Halcon算子程序示例HSmartWindowControl控件使用加载、保存图像扩展:加载相机图像画线、画框并保存检测算法抓边算法2D测量模型代码实现使用方法测宽算法附件简介本文的初衷是希望帮助那些有其它平台视觉算法开发经验的人能快速转入Halcon平台下,通过文中的示例开发者能快速了解一个Halcon项目开发的基本步骤,让开发者能把精力完全集中到算法的开发上面。首先,你需要安装Halcon,HALCON18.11.0.1的安装包会放在文章末尾。安装包分开发和运行时两个版本,运行时版本一般用于生产环境。注:开发版本自带运行

Halcon 快速入门教程

文章首发于我的github仓库-cv算法工程师成长之路,欢迎关注我的公众号-嵌入式视觉。本人水平有限,文章如有问题,欢迎及时指出。如果看完文章有所收获,一定要先点赞后收藏。毕竟,赠人玫瑰,手有余香。前言一,HALCON概述1.1,HALCON安装二,HALCON架构2.1,算子2.1.1,参数和数据结构2.2,拓展包2.3,接口2.3.1,HALCON-Python接口2.3.2,HALCON-C接口2.3.3,HALCON-C++接口2.3.4,HALCON-.NET接口2.4,图像获取接口2.5,I/O接口三,如何开发应用3.1,HDevelop3.2,示例程序四,更多参考资料前言工业智慧

Halcon 快速入门教程

文章首发于我的github仓库-cv算法工程师成长之路,欢迎关注我的公众号-嵌入式视觉。本人水平有限,文章如有问题,欢迎及时指出。如果看完文章有所收获,一定要先点赞后收藏。毕竟,赠人玫瑰,手有余香。前言一,HALCON概述1.1,HALCON安装二,HALCON架构2.1,算子2.1.1,参数和数据结构2.2,拓展包2.3,接口2.3.1,HALCON-Python接口2.3.2,HALCON-C接口2.3.3,HALCON-C++接口2.3.4,HALCON-.NET接口2.4,图像获取接口2.5,I/O接口三,如何开发应用3.1,HDevelop3.2,示例程序四,更多参考资料前言工业智慧

如何在C++/C#中进行Halcon对象的垃圾回收?

由于.NET中是让垃圾收集器GarbageCollector(简称GC)删除未使用的对象。但是,由于GC只是不时地删除未使用的对象,因此同时使用的内存会增加。更重要的是,对于GC来说,HALCON的标志性变量(图像、区域……)似乎相当“小”,因为它们只包含对(在许多情况下相当大)标志性对象的引用数据库。因此,GC可能不会释放这些变量,即使它们不再被使用。因此,您可能需要强制删除(未使用的)对象。有两种方法可以做到这一点:第一种方式:手动调用GC比如每次处理运行后在计时器事件中完成:privatevoidTimer_Tick(objectsender,System.EventArgse){Act

如何在C++/C#中进行Halcon对象的垃圾回收?

由于.NET中是让垃圾收集器GarbageCollector(简称GC)删除未使用的对象。但是,由于GC只是不时地删除未使用的对象,因此同时使用的内存会增加。更重要的是,对于GC来说,HALCON的标志性变量(图像、区域……)似乎相当“小”,因为它们只包含对(在许多情况下相当大)标志性对象的引用数据库。因此,GC可能不会释放这些变量,即使它们不再被使用。因此,您可能需要强制删除(未使用的)对象。有两种方法可以做到这一点:第一种方式:手动调用GC比如每次处理运行后在计时器事件中完成:privatevoidTimer_Tick(objectsender,System.EventArgse){Act

【短道速滑九】仿halcon中gauss_filter小半径高斯模糊优化的实现

     通常,我们谈的高斯模糊,都知道其是可以行列分离的算法,现在也有着各种优化算法实现,而且其速度基本是和参数大小无关的。但是,在我们实际的应用中,我们可能会发现,有至少50%以上的场景中,我们并不需要大半径的高斯,反而是微小半径的模糊更有用武之地(比如Canny的预处理、简单去噪等),因此,小半径的高斯是否能进一步加速就值的研究,正因为如此,一些商业软件都提供了类似的功能,比如在halon中,直接的高斯模糊可以用smooth_image实现,但是你在其帮助文档中搜索gauss关键字后,你会发现有以下两个函数:         gauss_filter—Smoothusingdiscret

【短道速滑九】仿halcon中gauss_filter小半径高斯模糊优化的实现

     通常,我们谈的高斯模糊,都知道其是可以行列分离的算法,现在也有着各种优化算法实现,而且其速度基本是和参数大小无关的。但是,在我们实际的应用中,我们可能会发现,有至少50%以上的场景中,我们并不需要大半径的高斯,反而是微小半径的模糊更有用武之地(比如Canny的预处理、简单去噪等),因此,小半径的高斯是否能进一步加速就值的研究,正因为如此,一些商业软件都提供了类似的功能,比如在halon中,直接的高斯模糊可以用smooth_image实现,但是你在其帮助文档中搜索gauss关键字后,你会发现有以下两个函数:         gauss_filter—Smoothusingdiscret

工业识别 halcon 识别多个二维码

1.使用场景同种类型的二维码,比如大小、码制、工艺都一样的需要识别多个,多个大批量识别对作业时间有要求,工业效率有要求2.方式选取作业时间有要求就不能采用普通的识别方式因为码制相同,工艺相同,可以采用训练参数来进行设定搜寻二维码的再次正式使用时,加载训练好的参数,用训练好的参数进行解码3.训练解码参数#查找图片存放的文件夹file_exists('image/newca',FileExists)if(notFileExists)Message:='要训练的路径不存在'dev_disp_text(Message,'window','top','left','black',[],[])return