
Halcon中级实践
文章平均质量分 92
在Halcon应用过程中,涉及到各种各样图形的算法;涵盖理论有:代数学(逼近论、随机过程)几何(射影几何、共形几何等)、方程、小波傅里叶变换等。本栏目将引领初学者省时省力地掌握这些知识。
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
无水先生
擅长数学,能熟练应用泛函分析、统计学、随机过程、逼近论、微分几何、非欧几何(双曲、共形)等数学理论,有数学建模能力。从事图像处理二十年以上,从事人工智能行业10年以上;在船舶、通信、铁路、教育等行业开发软件产品。
展开
-
距离场和距离变换:distance_transform
你知道图像处理的骨架这个概念吗?如果知道,你能解释清楚什么算法生成骨架吗?从一堆横竖叠加的扑克牌中,你能整理出几张牌,并保存牌的花色信息吗?如果您对上述提问存在疑虑,那么就好好看看本文吧。原创 2024-01-15 09:42:25 · 2741 阅读 · 0 评论 -
《Halcon中级实践》栏目导读
本栏目《Halcon中级》是为halcon进阶读者学习所准备。本文是该栏目的导读部分,因为计划本栏目在需要提升,导读部分也在随之更新中,即本文也在持续更新中。原创 2023-11-13 01:49:07 · 5492 阅读 · 0 评论 -
《Halcon高级》的栏目导读
Halcon中级栏目,其目的是将Halcon的常规应用解释清除,因为大多数Halcon算子的背后,都潜藏着图像处理的背景,用户手册并没有解释这些原理,因此,对于学习Halcon的学者们,就存在一个缺失环节,本栏目将致力于将缺失的原理说清楚,这将是一个长期而艰苦的任务,本栏目作者将励精图治,长期作战,力图补全Halcon的理论基础。原创 2023-10-30 14:19:50 · 5291 阅读 · 0 评论 -
【halcon特征点专题系列】01/4--Harris角点检测
本文是Halcon内部特征点的系列文章,本文主要介绍Harrs原理的角点检测,在后续文章中,我们将继续介绍其它原理的特征点算法: corner_response、points_foerstner、points_lepetitpoints_sojka。原创 2023-09-26 12:28:42 · 6173 阅读 · 3 评论 -
【Halcon知识】外轮廓线的算子
这里介绍,如何将图像的对象返回成图形的几何元素问题。Halcon中对应的算子很多,这里将从最重要的开始介绍,然后逐一揭示其它算子的用途。好了,就开始吧!原创 2022-08-31 21:13:21 · 8188 阅读 · 0 评论 -
halcon【改进中-】如何将Image图象的区域拷贝出来?
Image变量是Halcon的最基本变量,绝大多数halcon处理,都是从Image输入,输出Image的过程;灵活的Image处理是学习Halcon的基本功夫;初学者越早掌握越有利。1 认识Image大多数用C的,用JAVA的,用Python的,都有共同的习惯;而halcon的操作方法与以上语言均有不同;一般来说,halcon的对象是不能直接访问的,因而必须抛弃面向对象的习惯,如Image.row(点标记),或iamge[row][col](数组);halcon的操作,几乎全部访问对象的操作,都需原创 2021-02-22 10:43:39 · 6677 阅读 · 1 评论 -
Halcon初学者知识 【20】如何实现矩形拟合
如何将图中模糊的矩形给拟合出来?当然,第一步首先是从暗区提取亮区,然后要咋样做才能实现呢?本文给出参考代码供大家日后慢慢分析。read_image (Image, 'cin01')threshold(Image, Region, 128, 255)opening_rectangle1 (Region, RegionOpening, 9, 9)connection (RegionOpening, ConnectedRegions)fill_up (ConnectedRegions, Re原创 2021-03-08 14:30:52 · 9533 阅读 · 0 评论 -
halcon算子盘点:Chapter 18:元组Tuple
Chapter 18:Tuple18.1 Arithmetic1. tuple_abs 功能:计算一个元组的绝对值。 2. tuple_acos 功能:计算一个元组的反余弦。 3. tuple_add 功能:两个元组相加。 4. tuple_asin 功能:计算一个元组的反余弦。 5. tuple_atan 功能:计算一个元组的反正切。 6. tuple_atan2 功能:计算一个元组四个象限的反正切。 7. tuple_ceil 功能:计算一个元组的上限函数。 8. t...原创 2021-12-30 11:26:56 · 10886 阅读 · 0 评论 -
halcon知识:常见三种模板匹配方法总结
halcon的三种模板匹配方法总结,halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类本文只对形状匹配做简要说明和补充:Shape_Based匹配方法:上图介绍的是形状匹配做法的一般流程及模板制作的两种方法。先要补充点知识:形状匹配常见的有四种情况 一般形状匹配模板shape_model、线性变原创 2021-12-29 11:34:32 · 40313 阅读 · 3 评论 -
Halcon初学者知识:【3-1】Halcon的语法
对于halcon的语法部分,其实内容不是很多,这里只介绍常用的几个方面,至于其它更不常见的,将陆续追加,因此本文也是开放的。原创 2020-12-08 14:46:21 · 5969 阅读 · 2 评论 -
Halcon外接口知识:如何配置VC++调用Halcon
配置在VC++上配置Halcon是个非常简单的过程;但是恰恰许多人对VC++项目配置很是头痛,至使拖延了学习进度。本篇将简单告诉你如何做的有条理,使这种配置不再是难事。原创 2021-02-04 12:00:45 · 6011 阅读 · 0 评论 -
Halcon初学者知识 [6] 数组操作
数组不允许复合结构,不可将图片、区域、数组等复合结构追加到数组中,Halcon数组的灵活性无法与python的list相比;总之,tuple只能是1XN维的数值类型。原创 2020-12-31 10:40:14 · 18526 阅读 · 1 评论 -
Halcon知识【5】通过draw_circle算子画出圆对象
初学者看到draw_circle这样的语句,可能会一头雾水;无法找到此语句的正确执行,我本人曾经以为是被淘汰的语句。此语句的语法是draw_circle (3600, Rowx, Columnx, Radius)其中,你给上面任何一个变量赋值,将出现语法错误。...原创 2020-12-23 17:24:33 · 6877 阅读 · 2 评论 -
Halcon知识: 如何用mfc显示halcon读入图象
Halcon初学者知识 【12】 如何用mfc显示halcon读入图象在VC++/MFC中显示非BMP的图片是很不方便的。然而,在OpenCV或Halcon显示却很容易。本篇叙述如何利用halcon组件读取图片,然后在MFC的窗口显示。当然,这里需要先将VC++和Halcon准备完整。原创 2021-02-06 13:06:38 · 5047 阅读 · 0 评论 -
【Halcon文件知识】文件基础操作
最基本的Halcon操作,是图像显示、存储、读入等操作,本文向初学者提供几个关于图像的操作,以供初学者练习。原创 2020-12-07 15:12:37 · 7256 阅读 · 2 评论 -
Halcon初学者知识【4】区域和分割
通过以下一个小项目,你能够学到:1)均值滤波 2)区域合并 3)区域访问 4)文件存储。原创 2020-12-17 19:11:14 · 5444 阅读 · 0 评论 -
Halcon知识:【8】 将图像部分内容截取并保存
Halcon的基本概念是【图像,区域,轮廓线】,初学者务必要搞清三者区别和联系。以下介绍如何将一个图像的区域截取出来,保存成另外的图像。本文用来加强概念,并用以下案例去理解概念的用途。原创 2021-01-07 11:11:15 · 12374 阅读 · 5 评论 -
【图像处理】道格拉斯-普克算法(曲线的折线段逼近)
描述一个物体外轮廓,如何用的描述点少,而且特征尽量保留?这就是拉默-道格拉斯-普克算法。原创 2022-09-01 18:39:22 · 10057 阅读 · 0 评论 -
【Halcon初级】 【13】如何在VS中调用Halcon代码
我们知道,VC客户端程序是微软编程核心,是最广泛的计算机应用环境;而Halcon是处理相机图像的数据包,它在图像类处理过程中扮演重要角色;绝大多数产品是它们两者结合组成的。然而到底VC如何调用Halcon代码,其中有一些技术诀窍,本篇将揭示它们。原创 2023-11-08 00:01:22 · 6093 阅读 · 0 评论 -
Halcon知识:测距问题全览
测距的起点是点与点测距的思路,是建立在两个不同坐标点上的距离计算问题。由于在现实中,需要测定的是几何上的点距,比如,两个圆的圆心距离。原创 2021-01-05 15:20:27 · 9441 阅读 · 0 评论 -
halcon原理:一维函数function_1d类型【1】
我们知道,元组是一维的,但不是函数。一维函数是用元组专门生成的特殊数据,针对函数,有一组专门的算子进行操作。一、如何生成1.1 通过元组产生function_1d函数create_funct_1d_array:通过一个一维数组创建一个离散一维函数create_funct_1d_pairs:通过一双一维数组创建一个离散一维函数 注意点:自变量元组 XValue必须(从小到大)已排序。1.2 1d函数上逆操作3)funct_1d_to_pairs获取一维离散...原创 2022-05-31 11:24:25 · 8726 阅读 · 2 评论 -
Halcon知识:【9】形状模板匹配
模板匹配有多样,其中最重要的是轮廓匹配。该匹配对对象要求是:部分区域的形状特征比较明显。或在原始图像中, 具有特殊形状的区域。进而生成模板。在目标图像中,搜索与模板相似的区域,找到目标,即可确定坐标位置。原创 2021-01-10 14:32:17 · 12721 阅读 · 1 评论 -
Halcon初学者知识:用set_paint直观显示图像的属性
一、说明图像的呈现方式,包含如下内容:不同对象(image、region、xld)的呈现,单通道图像的呈现方法。围绕以上主题,算子有obj_display: 呈现不同图对象(image、region、xld) set_paint: 设置设备呈现方法以及dev_set_paint函数方法;二、disp_obj用法disp_obj(Object : : WindowHandle : )与disp_image类似,但除了可现实图像,还可以显示区域和轮廓。三、单通道图的set_pai..原创 2021-12-19 09:43:16 · 7448 阅读 · 0 评论 -
Halcon资料:image,region,xld三者如何转化和保存
以上叙述,列出halcon几个基本的图像数据结构的互相转化(image、xdl、region),在实际应用中可能随时需要查阅,本文档权当一个提纲,实质性的内容还需读者自己发掘。原创 2022-03-22 11:05:29 · 10701 阅读 · 0 评论 -
halcon之区域:多种区域(Region)生成(3)
某些区域生成,初学者需要每个都试试,这不仅是个加强映像问题,而且是了解Halcon能力的过程。本篇介绍几个在数值图像分析中,较为有用的区域算子。请学友们共享!原创 2022-06-24 15:04:10 · 10639 阅读 · 0 评论 -
halcon原理:一维函数function_1d类型【2】
halcon初学者很容易将数值的元组误认为是函数,比如:x=【1,2,3】,y=【1,4,9】表示函数值x^2,这是不对的。在halcon中一维函数是一个特殊的对象,与tuple的类型不同,因此在希望使用一维函数之前,需要补一点点知识。...原创 2022-05-31 15:21:34 · 8211 阅读 · 0 评论 -
Halcon知识:gray_tophat 顶帽变换和底帽变换
对于图像的光线变化较大的情况,全局二值化存在问题;如何消除光线不均的影响?用顶帽原理可以消除这种影响后二值化,能消除这种光影响。本篇讲述这种算法原理。原创 2022-02-13 10:56:31 · 8950 阅读 · 0 评论 -
halcon知识:介绍边缘提取的两种算子
halcon中取区域边缘的算子很多,粗看功能似乎一样,然而,对于亚像素级别的测量问题,就存在一个选择问题,本文对edges_image和edges_sub_pix介绍,并对它们的执行测量效果进行对比。原创 2022-02-11 07:49:10 · 12713 阅读 · 0 评论 -
halcon知识:ncc_model模板匹配
除了常见的模板匹配之外,还有其它模板匹配,虽然不够主流,但尝试使用,也能解决许多问题。这里先说明ncc_model模板。一、基于互相关匹配一种基于灰度值的方法是基于相关的匹配。这种方法使用归一化互相关,用于评估模型和搜索图像之间的对应关系。它明显快于经典的基于灰度值的匹配,并且可以补偿加法作为以及照明的乘法变化。与基于形状的匹配相反,对象也具有略微变化的形状、大量纹理或模糊图像中的对象(轮廓在模糊中消失图像,例如,因为散焦)可以找到。应用场合:搜索对象有轻微...原创 2022-02-14 10:26:47 · 11129 阅读 · 0 评论 -
【Halcon知识】模板形状匹配的主要算子
对于模板匹配,我们在文章【9】形状模板匹配已经讲述,但是其中有一个脉络需要强调。本文就是针对模板匹dev_set_line_width(4)list_image_files('images', 'default', [], ImageFiles)read_image(Image, 'images/rote_all')dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)dev_display(Image)gen.原创 2021-01-10 14:47:25 · 8083 阅读 · 2 评论 -
Halcon初学者知识 【11】自定义算子和应用实例
用户自己定义算子,而不是用calcon系统自带的算子;这如同其它语言的函数定义,或子程序等等;halcon也有这样的操作,本文介绍如何使用这种技巧。原创 2021-02-05 19:41:04 · 8321 阅读 · 0 评论 -
【Halcon知识】dxf图格式,halcon存为dxf
如果希望从零件的图象中提取出CAD的设计图纸保存成DXF文件,可以照下列案例完成。read_image(Image,'bracket_tilted_02.png')threshold(Image, Region, 30, 255)connection(Region, ConnectedRegions)select_shape_std (ConnectedRegions, SelectedRg, 'max_area', 70)intersection (Region, SelectedRg,原创 2021-02-22 19:34:42 · 8330 阅读 · 0 评论 -
Halcon知识: 矩形测量
计量3*读图read_image (Image, 'oneslider2')get_image_size (Image, Width, Height)*在我们要检的边界上画线draw_line (3600, Row1, Column1, Row2, Column2)shapeParam:= [ Row1,Column1,Row2,Column2 ]*创建句柄create_metrology_model (MetrologyHandle)set_metrology_model_i原创 2021-04-06 22:23:45 · 12454 阅读 · 4 评论 -
2021-04-08 Halcon进阶【02】 几何计量【多目标测量】
如何进行多个对象测量,就是说平面图像中被测对象很多,且形状不一,如何完成?是由一大堆组合算子完成的,因为叙述比较复杂,本案专门用一个小示例说明,但是参数方面也留下一些尾巴没有说尽。原创 2021-04-08 16:30:02 · 7040 阅读 · 1 评论 -
Halcon基础知识:常规数据、对象数据、对象元组
两大类:1、图形参数(之前勇哥称为图标变量)Iconic(image,region,XLD)2、与控制参数Control(string, integer, real, handle),在Halcon算子的参数中,依次为:输入图形参数、输出图形参数、输入控制参数、输出控制参数;并且其输入参数不会被算子改变。1、图形参数Iconic:(1)Images在Halcon中,Image = Channel +Domain(定义域), 像素点存放在Channel矩阵中,根据...原创 2021-12-17 09:13:47 · 7705 阅读 · 0 评论 -
halcon知识:如何检出部分圆?
图像中的边缘被分割成线和圆。对于属于圆的边,估计圆参数,并显示结果圆。read_image (Image, 'double_circle')* * Init windowdev_close_window ()get_image_size (Image, Width, Height)dev_open_window (0, 0, Width, Height, 'black', WindowHandle)* * Segment a region containing the ed..原创 2022-02-05 22:16:05 · 9196 阅读 · 4 评论 -
Halcon知识:如何求一个工件的粗细
求一个区域的厚度* This example program shows how to calculate the thickness* of a region along its main axis for each pixel of the section.* The thickness is defined as the distance between the intersections* of the contour with the plumb on the mai...原创 2022-01-13 10:36:42 · 8336 阅读 · 0 评论 -
halcon知识:query_contour_global_attribs_xld
query_contour_global_attribs_xld 可用于查询特定的轮廓设置了哪些全局属性,总共有下述属性:参考属性值:'regr_norm_row', 'regr_norm_col', 'regr_mean_dist', 'regr_dev_dist', 'cont_approx', 'bright_dark', 'is_hole'与之关联算子是:get_contour_global_attrib_xld(Contour : : Name : Attrib),其中的..原创 2022-02-05 23:06:11 · 8338 阅读 · 0 评论 -
halcon知识:fit_circle_contour_xld函数
一、 说明这个函数是用一个圆逼近一段弧,得到参数:圆心(Row, Column),半径 Radius、弧的起点、终点、点顺序。fit_circle_contour_xld(Contours : : Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor : Row, Column, Radius, StartPhi, EndPhi, PointOrder)二、参数列表:..原创 2022-02-06 14:09:55 · 12135 阅读 · 0 评论 -
halcon知识:差分模板variation_model
一、变化模板* 这个示例程序展示了如何使用 HALCON 的变分模型算子执行典型的打印质量检查。程序检测在笔夹上的不正确打印。该程序类似于程序 print_check.hdev。主要区别是每个字符都是单独检查的。这不是这个应用程序的一个特别好的策略,因为它不检测笔夹本身的错误以及由于 V 相对移动而导致的错误到其他字符。然而,在某些应用中,正是这不变性很有用。这个程序可以用作这样的基础应用程序。第一步,每个字符的变异模型是由正确打印的图像构成。由于物体的位置可以不同,不同角色的图像必须转原创 2022-02-23 08:32:59 · 12287 阅读 · 0 评论