halcon专题

将DIB/bitmap读入内存并转为 halcon hobject

问题由来:在mfc halcon混合编程中,发现halcon::readimage() 函数读取图片(8位8M/bmp)至少200ms,当然24位 32位bmp 倍数所消耗的时间倍数上涨。那么有没有什么方法加快读取速度?目前发现一个亲测可行的方式:  1、通过 DIBAPI 读取图片,下载可转到点击打开链接,赚点积分 2、获取所读读片的图像数据的首地址,注意非结构头地址 3、通过halcon

Halcon选择一堆region中面积第N大的region的算法实现

以下图为例: 比如我想把面积第2小的那个“小正方形”选择出来,算法代码如下: 1 read_image (Yuan, 'C:/Users/happy xia/Desktop/yuan.png')2 binary_threshold (Yuan, Region, 'max_separability', 'dark', UsedThreshold)3 connection (Regio

Halcon编程-基于形状特征的模板匹配

halcon软件最高效的一个方面在于模板匹配,号称可以快速进行柔性模板匹配,能够非常方便的用于缺陷检测、目标定位。下面以一个简单的例子说明基于形状特征的模板匹配。      为了在右图中,定位图中的三个带旋转箭头的圆圈。注意存在,位置、旋转和尺度变化。 上halcon程序 1 * This example program shows how to find scaled and

Halcon 几何变换之仿射变换

几何变换包括仿射变换、投影变换、图像变换以及极坐标变换。不同的资料可能会有不同的划分。它们具体的数学表达感性趣的可以自己查找。这里只描述Halcon的仿射变换运用。 Halcon中的放射变换常用的两种方式:旋转以及缩放(当然平移也常用,但是不属于仿射变换)。变换涉及到三个量,一个是待变换的图像或者说矩阵,一个变换矩阵,以及变换后的图像或者矩阵。所以在Halcon中会有两种运用方式。第一种:已知待

halcon 仿射变换功能函数,

1.仿射变换有:平移、旋转、缩放、斜切。 2.要进行仿射变换,必须先获取变换矩阵。要获取变换矩阵,必须先获取特征点坐标、角度等信息,几何匹配和bolb是获取特征点的高效方法,除此之外还有其它方法,只要能稳定的求出特征点即可。 3.仿射变换流程    (1.)获取特征点坐标、角度    (2.)计算仿射变换矩阵    (3.)对图像、区域、轮廓进行仿射变换 4.根据特征点、角度计算仿射变

halcon 的图像坐标转到实际的机械坐标的标定

所谓手眼系统,就是人眼睛看到一个东西的时候要让手去抓取,就需要大脑知道眼睛和手的坐标关系。如果把大脑比作B,把眼睛比作A,把手比作C,如果A和B的关系知道,B和C的关系知道,那么C和A的关系就知道了,也就是手和眼的坐标关系也就知道了。 相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。 在实际控制中,相机检测到目标在图像中的像

C#版Halcon:HalconDotNet最详细最全面教程(万字详细总结)

文章目录 第一部分:Halcon基础1. Halcon简介Halcon的安装和配置 2. Halcon界面和工具图像显示窗口的使用 3. 图像处理基础图像的表示和存储图像的基本操作 4. 图像预处理图像增强技术图像去噪方法图像二值化 第二部分:Halcon进阶5. 形态学操作腐蚀和膨胀开运算和闭运算形态学梯度 6. 特征提取边缘检测角点检测区域特征 第三部分:Halcon高级应用7. 模

学习Halcon深度学习可以分为以下几个步骤

‌基础准备‌:‌了解深度学习基本概念,‌掌握Halcon软件的基本操作。‌ ‌理论学习‌:‌通过官方文档、‌教程和社区资源,‌学习Halcon中深度学习的原理、‌模型架构和训练方法。‌ ‌实践项目‌:‌参与实际项目,‌通过动手实践来加深理解和提升技能。‌可以从简单的图像分类任务开始,‌逐步扩展到目标检测、‌语义分割等复杂任务。‌ ‌持续学习‌:‌关注Halcon的更新和深度学习领域的新进展,‌不断

Halcon基于组件的模板匹配

Halcon基于组件的模板匹配 基于组件的模板匹配可以说是基于形状的模板匹配的加强版,加强的地方在于,这种方法允许模板中包含多个目标,并且允许目标之间存在相对运动(位移和旋转)。这决定了这种方式不适用于尺寸缩放的情况。由于有多个ROI,且需要检测多个ROI之间的相对运动关系,因此这种方法与基于形状的模板匹配相比要稍微复杂一点,且不适用于失焦图像和轻微形变的目标。图中是一个基于组件的模板匹配的例子

Halcon基于灰度值的模板匹配

Halcon基于灰度值的模板匹配 基于灰度值的模板匹配是最经典的模板匹配算法,也是最早提出来的模板匹配算法。这种算法的根本思想是,计算模板图像与检测图像之间的像素灰度差值的绝对值总和(SAD方法)或者平方差总和(SSD方法)。 其原理是:首先选择一块ROI(感兴趣区域)作为模板图像,生成基于灰度值的模板;然后将检测图像与模板图像进行粗匹配,在检测图像与模板图像中任选一点,采取隔点拽索的方式计算二

Halcon!!!最新!! 从零认识标定板——制作描述文件和自己的标定板

一.标定板简介 ‌标定板是一种带有固定间距图案阵列的几何模型,主要用于机器视觉、图像测量、摄影测量、三维重建等领域。‌它的主要功能包括校正镜头畸变、确定物理尺寸和像素间的转换关系,以及确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系。通过相机拍摄标定板并计算校准算法,可以获得高精度的测量和重建结果。标定板的这个过程涉及误差测量与评估以及误差图像的矫正与补偿,通过这些步骤,可以更

Halcon提取边缘线段lines_gauss 算子

Halcon提取边缘线段lines_gauss 算子 edges_color_sub_pix和edges_sub_pix两个算子使用边缘滤波器进行边缘检测。还有一个常用的算子lines_gauss算子,也可以用于提取边缘线段,它的鲁棒性非常好,提取出的线段类型是亚像素精度的XLD轮廓。其原型如下: lines gauss(Image : Lines : Sigma, Low, High, Li

HALCON与LabVIEW的联合编程 视觉与控制结合

HALCON与LabVIEW的联合编程在工业自动化和视觉检测领域中越来越受到重视。通过将HALCON的强大图像处理能力与LabVIEW的灵活控制功能相结合,工程师们可以开发出高效且精确的自动化系统。这种整合不仅提高了系统的整体性能,还简化了开发流程。本文将详细介绍如何实现这一联合编程,注意事项,以及一些成功的应用案例。 1. HALCON与LabVIEW的简介 HALCON 是由 MV

Extended Line Description in Halcon and OpenCV

In HALCON, the term XLD refers to “Extended Line Description.” XLDs are used to represent precise geometrical features, such as lines, contours, ellipses, and polygons, at a subpixel level for high-pr

halcon 深度学习软件工具安装以及用法

安装halcon 20版本以上得  以为这个版本以上得有异常检测,分割,分类,目标检测,都有 一、下载软件    可以再官网下载,但是官网要注册账号   下载区域: MVTec Software     链接:https://pan.baidu.com/s/1aBGQQzacPZAPi6XbRKLXSA?pwd=gw7a      提取码:gw7a    拓展文件    链接:https

帮招3C大佬机器视觉工程师,工作地:上海嘉定,月薪3.5W-4.5W,Halcon独立开发,带15人左右团队,考虑无管理经验者

1.负责自动化项目工控机和视觉部件的选型,功能验证、方案验证、技术问题分析,程序框架的搭建; 2.负责自动化项目的软件设计,软件调试,软件优化,软件资料归档,客户现场培训等; 3.负责自动化项目的样机调试,协助量产项目设备后期问题分析,跟进解决以及现场问题的范反馈解决; 4.对公司项目中视觉部分的项目进行主导,对人工智能、图像处理算法有所了解,包括方案可行性测试和方案编写,独自完成公司所用视觉项目

halcon二维码识别

read_image (Image, 'C:/Users/Administrator/Desktop/二维码测试/1.bmp')rgb1_to_gray (Image, GrayImage) *创建一个二维码数据class模型create_data_code_2d_model ('Data Matrix ECC 200',[], [],DataCodeHandle) *-检测和读取图像中的二

qt+halcon实战

注意建QT工程项目用的是MSVC,如果选成MinGW,则会报错   INCLUDEPATH += $$PWD/includeINCLUDEPATH += $$PWD/include/halconcppLIBS += $$PWD/lib/x64-win64/halconcpp.libLIBS += $$PWD/lib/x64-win64/halcon.lib #include

HALCON-从入门到入门-霍夫识别直线

1.废话 霍夫变换是一种特征检测,被广泛应用在图像分析、计算机视觉以及数位影像处理。霍夫变换是用来辨别找出物件中的特征,例如:线条。他的算法流程大致如下,给定一个物件、要辨别的形状的种类,算法会在参数空间中执行投票来决定物体的形状,而这是由累加空间里的局部最大值来决定。   现在广泛使用的霍夫变换是由RichardDuda和PeterHart在公元1972年发明,并称之为广义霍夫变换,广义霍夫

halcon 使用svm分类

计算特征 1.选取特征 2.添加数据 3.训练 4.预测 NumFeatures:=200DataPath:='G:/pj/test/train'ValPath:='G:/pj/test/val'list_files(DataPath, 'directories', Dirs)NumClasses:=|Dirs|NumData:=10create_class_svm (NumFeat

halcon ocr识别字符

基本代码 create_text_model_reader ('auto', 'Universal_0-9A-Z_Rej.occ', TextModel)* Optionally specify text propertiesset_text_model_param (TextModel, ['min_char_height','polarity'], [30, 'dark_on_ligh

C#联合Halcon机器视觉框架源码—升级版

相较于之前的NxtVision,本软件代码架构更加合理,且新增ui设计器、原来的vb脚本改为C#脚本,并尝试将视觉与运动控制相结合,是一体化的框架。 对源码有需求的,订阅本专栏后,私信我领取。

HALCON-从入门到入门-XLD的使用-拟合圆

1.废话 Halcon XLD(eXtended Line Descriptions)是Halcon机器视觉软件中的一个关键概念,主要用于描述亚像素级别的轮廓或多边形。以下是关于Halcon XLD的详细解释: 定义与特点: XLD是一个轮廓函数,用于表示比像素更精确的亚像素轮廓。它不是基于像素的,而是可以精确到像素内部的一种描述。在Halcon中,XLD常用于表示亚像素的轮廓和多边形。这些轮

HALCON-从入门到入门-阈值分割定位算子综合运用

1.废话 之前我的一个师兄告诉我,针对图像上想要定位的内容,机器视觉中定位的方式有很多种,但是如果用阈值分割定位可以做的,就不要用模板匹配了。因为基于形状的模板匹配始终会存在匹配不到的风险,那如果打光效果可以,阈值分割定位的效果就会稳定很多。 其实可以分为两种情况: 第一种,使用背光打出来的图像,图像边缘非常锋利,且形状一致性比较强,周围背景色块干扰比较多,这种情况我们考虑形状给模板匹配。

Halcon 多相机统一坐标系

小杨说事-基于Halcon的多相机坐标系统一原理个人理解_多相机标定统一坐标系-CSDN博客 一、概述 最近在搞多相机标定等的相关问题,对于很大的场景,单个相机的视野是不够的,就必须要统一到一个坐标系下,因此我也用了4个相机,如图;  二、流程 准备: 标定板 这个标定板是比较特殊的,由于我设定的是4个相机,那么我需要在搞标定板的时候需要在每个相机的视野范围内进行,所以如下:

Halcon 双相机标定与拼图(二)

一、概述 这种标定有两种模式,有一个标定板和多个标定板两种 一个标定板 两个相机的重叠区域比较大,那么我们可以把标定板放到那个重叠区域来统一坐标系,如下 这种是只需要一个标定板,这种是推荐的方式 。 多个标定板 由于要求的视野没有重叠区域,或者重叠的区域太小了,那么我们可以采用这种方式  这个方法就是对上面绿色的部分,两个标定板的关系很重要,会直接影响到最后的图像结果 二、