
halcon聚沙成塔
文章平均质量分 67
code bean
桌面应用,视觉算法,硬件驱动, 技术分享~~~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【HALCON】 深入解析 select_gray 算子
select_gray算子是HALCON中用于基于灰度特征筛选图像区域的强大工具。该算子通过检测区域内灰度值特征(如均值、极值、标准差等),结合逻辑运算符(AND/OR)和范围限定参数(Min/Max),实现精确的区域筛选。适用于工业检测、医学图像分析等多个领域,可高效识别特定灰度特征的目标区域,提升图像处理精度。调用时需注意特征计算顺序、多特征处理逻辑等关键参数设置。完整功能可参考HALCON官方文档。原创 2025-05-28 19:45:13 · 822 阅读 · 0 评论 -
【Halcon】 affine_trans_image 算子详解
本文介绍了HALCON中的仿射变换算子affine_trans_image,它通过2D齐次变换矩阵对图像进行几何变换。关键点包括:1) 变换矩阵可通过旋转、平移、缩放等基础变换组合生成;2) 提供多种插值方法选择,影响变换质量;3) 可自动调整输出图像尺寸;4) 使用时需注意HALCON特殊的左上角坐标系原点。典型应用包括图像校正、模板匹配和图像增强,变换时需注意插值算法可能导致的图像质量变化。原创 2025-05-28 17:02:12 · 660 阅读 · 0 评论 -
【Halcon】图像分割中的 regiongrowing 与dyn_threshold 动态阈值 算法详解对比
动态阈值通过比较当前像素与模糊背景图的灰度差异,实现前景/背景分离,适用于背景不均但结构明显的目标提取。对比维度连通区域分割✅❌灰度不均背景❌✅算法逻辑局部相似性扩张背景减法式阈值应用举例焊点、颗粒提取字符、污点检测。原创 2025-05-28 10:48:32 · 885 阅读 · 0 评论 -
【HALCON 】深入理解 gray_histo_abs 灰度直方图算子
是 HALCON 中用于计算图像灰度直方图的算子。Regions:指定计算直方图的区域,可以是整个图像或感兴趣区域(ROI)。Image:输入的单通道图像。:量化参数,决定相邻灰度值合并的程度。:输出的绝对灰度直方图,表示每个灰度值的像素数量。原创 2025-05-22 15:00:02 · 318 阅读 · 0 评论 -
【HALCON】HALCON算子详解:test_subset_region 的功能与应用
的主要功能是判断一个区域(Region1)是否完全包含在另一个区域(Region2)中。换句话说,它用于测试 Region1 是否是 Region2 的子集。是 HALCON 中用于判断区域包含关系的高效工具,特别适用于需要验证区域嵌套关系的图像处理任务。通过合理使用该算子,开发者可以简化区域关系的判断逻辑,提高图像处理的准确性和效率。原创 2025-05-21 01:00:00 · 541 阅读 · 2 评论 -
【HALCON】 算子详解:create_local_deformable_model_xld 的全方位解读
create_local_deformable_model_xld 是 HALCON 中用于创建局部可变形模型的关键算子,适用于处理图像中目标存在非刚性变化(如弯曲或拉伸)的情况。该算子通过 XLD 轮廓生成模型,广泛应用于工业检测、医学图像分析等领域。其核心参数包括 NumLevels(图像金字塔层级)、AngleStart(旋转角度范围)、ScaleR*(行列缩放范围)、MinContrast(边缘灵敏度控制)等。通过合理配置 MinContrast 和 GenParamName,可以优化模型的匹配精度原创 2025-05-18 10:32:13 · 447 阅读 · 0 评论 -
【HALCON】破案了:halcon脚本为啥测试时和运行时结果老是不一样?
在处理图像算法时,图像保存格式的选择可能对结果产生重大影响。本文通过一个字符检测项目的案例,揭示了JPEG格式的有损压缩如何导致模板匹配得分的变化。实验表明,使用JPEG保存的图像在重新加载后,匹配得分从4.9变为5.3,而使用无损的BMP格式则保持了原始得分。文章建议在进行模板训练或匹配分析时,应使用原始图像对象或无损保存格式,避免使用JPEG格式,以确保算法结果的准确性。这一案例强调了在图像处理中,即使是微小的细节也可能对最终结果产生重大影响。原创 2025-05-15 01:15:00 · 1487 阅读 · 0 评论 -
【HALCON】 HALCON 教程:正确使用 `get_dict_tuple` 获取字典内容
本文详细介绍了 HALCON 中 get_dict_tuple 算子的正确使用方法,并分析了常见的错误及其解决方案。get_dict_tuple 用于从字典中读取键对应的元组值,但使用不当可能导致错误,如 HALCON error #1302。常见错误包括键不存在、字典未初始化或值类型不匹配。为避免这些问题,建议在使用前检查键的存在性、字典的初始化状态以及值的类型。文章还提供了安全使用的代码示例,并推荐了相关文档和 API 索引。此外,作者提到在模板匹配中,直接使用 HImage 与保存后加载的图像在打分上原创 2025-05-14 20:35:17 · 825 阅读 · 0 评论 -
【halcon】smallest_circle 最小外接圆操作解析
操作的目的是计算一个区域的最小外接圆,即包含该区域且面积最小的圆。它会输出圆的中心坐标(Row 和 Column)以及半径(Radius)。这个操作非常适合用于确定圆形物体的位置和大小,尤其是在物体内部不均匀或边缘不完整的情况下。例如,当我们需要处理一些硬币图像时,硬币可能因为拍摄角度、光照条件或分割算法的不完美而出现内部不均匀或边缘破损的情况。可以帮助我们准确地找到这些硬币的中心位置和大小,从而为进一步的分析和处理提供基础。原创 2025-04-28 14:50:56 · 483 阅读 · 0 评论 -
【halcon】算子 copy_obj
在 HALCON 中,copy_obj是一个操作符,用于从输入对象中复制图像或区域对象。原创 2025-04-28 14:39:36 · 438 阅读 · 0 评论 -
【halcon】tuple_sort_index 和 select_obj 配合使用 详解
计算需要排序的特征(如面积)。使用获取排序后的索引。使用select_obj和Indices+1重新排列对象。在 Halcon 的 Region 管理、特征筛选中,是不可或缺的重要函数。掌握,能够大幅提升你在复杂图像处理任务中,排序、筛选、优先级管理的灵活性和准确性。C# HTuple 操作是元素级别的,+1是批量的。Halcon Region 的 select 是从1开始的,必须 Indices + 1。排序后重新组合数据的能力,是做高质量图像分析程序的基础功!原创 2025-04-27 11:43:10 · 132 阅读 · 0 评论 -
【halcon】 紧凑度全面分析
在图像分析里,紧凑度是用来衡量一个区域形状紧凑程度的指标。紧凑度的计算公式如下:紧凑度的取值范围是 ( 0 < C <= 1 )。当区域形状越接近圆形时,紧凑度就越接近 1;而区域形状越细长、不规则或者有很多分支时,紧凑度就越趋近于 0。在判断一个区域是否为线状时,由于线状区域通常细长且不紧凑,其紧凑度值一般会比较小。在上述代码中,先使用算子计算区域的面积,再用perimeter算子计算区域的周长,最后依据公式算出紧凑度。原创 2025-04-16 15:37:42 · 902 阅读 · 0 评论 -
【halcon小技巧】对象初始化
HObject这种数据结构各有三种初始化方式,下面就来总结一下。原创 2024-11-08 09:10:07 · 286 阅读 · 0 评论 -
【halcon】Metrology工具系列之set_metrology_model_param
上一篇讲到 set metrology_object_param,这次看看set_metrology_model_param有啥区别!原创 2024-11-29 18:45:06 · 511 阅读 · 0 评论 -
【halcon】Metrology工具系列之 set_metrology_object_param
为测量模型的测量对象设置参数。原创 2024-11-29 18:37:00 · 721 阅读 · 0 评论 -
【halcon】Metrology工具系列之get_metrology_object_result_contour
get_metrology_object_result_contour — 查询测量对象的结果轮廓。原创 2024-11-28 15:03:18 · 551 阅读 · 2 评论 -
【halcon】Metrology工具系列之 get_metrology_object_result
get_metrology_object_result — 获取应用于测量模型的测量结果。原创 2024-11-28 10:54:12 · 1156 阅读 · 0 评论 -
【halcon】Metrology工具系列之get_metrology_object_measures
Transition=‘positive’ 黑暗走向光明,就是positive积极的Transition=‘negative’ 光明走到黑暗,就是negative消极的‘measure_transition’ 参数这个参数用于指定在边缘检测中使用哪种类型的边缘。具体来说,它决定了是使用暗/亮(dark/light)边缘还是亮/暗(light/dark)边缘。参数值‘all’:这个值表示同时检测所有类型的边缘,即暗/亮和亮/暗边缘都会被检测到。‘positive’:这个值表示只检测暗/亮边缘。原创 2024-11-28 10:14:36 · 1274 阅读 · 0 评论 -
【halcon】Metrology工具系列之 get_metrology_object_model_contour
我们可以清晰的看到,方块的排列是根据这跟红线进行排布的,红线就是他们的中心!原创 2024-11-27 15:19:06 · 849 阅读 · 0 评论 -
【halcon】Metrology工具系列之 add_metrology_object_line_measure
在了解2D测量概念之后,我们再来看看 add_metrology_object_line_measure 这个算子!。这个算子的作用是在一个测量模型(metrology model)中添加一个线类型的测量对象(metrology object),并准备相应的矩形测量区域功能向测量模型中添加一个线类型的测量对象,并设置测量区域。这个操作符需要一个模型的句柄(handle),通过参数传递。几何形状描述。原创 2024-11-27 11:45:42 · 1765 阅读 · 0 评论 -
【halcon算子】tile_images_offset
本文介绍了Halcon库中的tile_images_offset操作符,该操作符用于将多个图像对象拼接成一个大图像,并允许显式指定每个图像的位置信息。输入图像必须具有相同数量的通道,输出图像的大小由参数Width和Height确定。通过OffsetRow和OffsetCol参数确定输入图像在输出图像中的位置,可选地对输入图像进行裁剪。如果输入图像在输出图像中重叠,则高索引图像会覆盖低索引图像的数据。该操作符支持多线程执行,并提供了详细的参数说明和示例代码。原创 2024-11-21 20:34:34 · 1621 阅读 · 0 评论 -
【halcon算子】tile_images
操作符用于将多个图像对象拼接成一个大图像。输入的图像对象必须包含相同数量的通道,并且可以是不同大小的。输出图像TiledImage包含与输入图像相同的通道数。在输出图像中,输入的多个图像被拼接成NumColumns列。每个拼接块的大小由所有输入图像中最大宽度和高度决定。如果输入图像小于拼接块的大小,它将被复制到相应拼接块的中心。参数TileOrder决定了在NumColumns(即如果不是1或Num)未确定的情况下,图像在输出中的排列顺序。如果TileOrder。原创 2024-11-21 19:26:56 · 548 阅读 · 0 评论 -
【halcon/C#】弧度和角度的转换
`tuple_rad` : 是将度转换为弧度单位, 所以这里函数里的rad是告诉你输出的是弧度!`tuple_deg`:是反过来! deg,转换为度!原创 2024-10-12 09:20:58 · 1924 阅读 · 2 评论 -
【halcon】halcon窗口缩放导致图片或者图形消失
以前遇到的问题,一直困扰着我,今天终于破案了!!!你是否也遇到过,在halcon窗口上(HSmartWindowControlWPF ),通过函数 DispObj 或者 DispCross 等显示函数显示图片或图形时,一旦数量过多就会出问题。一旦对图片进行缩放,有的图形就会消失,像是被释放掉了。原创 2024-10-08 15:40:00 · 499 阅读 · 0 评论 -
【halcon】 DispCross 显示的叉叉 缩放后有的叉叉离奇消失
DispCross 显示的叉叉 缩放后有的叉叉离奇消失。有的消失,有的没消失,搜索了百度谷歌,均为答非所问,没有答案。直到我问了下GPT,她一语道破玄机!原创 2023-03-27 17:07:50 · 1476 阅读 · 1 评论 -
【halcon】仿射变换之图片摆正小结
摆正的思路就是,先去一个获取一个正的模板。读取的图片可能是偏的。不动的是模板,移动的是图片。所以这次,在算子vector_angle_to_rigid 中,模板匹配得到的坐标放在前面(谁动,谁放在前面),而图片坐标放在后面。。这个是,我在中写道的。最近做到一个项目时,发现 “” 这句话有些问题。如果不能正确的设置 前后的 Row , Column 参数,会导致图片绕着一个未知的点旋转,有时会导致你的关注的区域旋转的导出跑,甚至跑出图片。原创 2024-06-21 15:54:21 · 661 阅读 · 0 评论 -
【halcon踩坑】由于引用dll不一致导致的大坑。
由于引用dll不一致导致的大坑,差点没跳出来。我们知道,halcon 有两个dll:halcondotnet和halcondotnetxl。平时用的都是halcondotnet,halcondotnetxl时为了应付大图。比如线扫相机扫出的大图。原创 2024-05-14 17:36:25 · 863 阅读 · 0 评论 -
【halcon踩坑记录】如何判断区域面积为0?
再编写瑕疵检测的程序的时候,经常需要判断,是否存在瑕疵。这里我踩了几个“深坑”这里分享一下。原创 2024-05-09 09:52:57 · 649 阅读 · 4 评论 -
【halcon】DispObj和AttachBackgroundToWindow的区别
我们可以引入“图层”这个概念来理解,DispObj是显示的上一级的图层, 而AttachBackgroundToWindow显示的是背景图层。原创 2024-04-16 11:04:50 · 790 阅读 · 0 评论 -
【halcon】write_image 图片保存
write_image 是一个可以用来保存图片的算子,可以将Image对象保存成各种格式的图片。还可以对图片进行压缩。原创 2024-02-03 10:54:27 · 9429 阅读 · 3 评论 -
【halcon算子】set_window_param
用于设置已打开窗口的不同参数。原创 2023-12-22 15:11:10 · 468 阅读 · 0 评论 -
【halcon】菜鸡入门,白纸黑点
write_image (ImageReduced, 'png', 255, '图片')下面是一张白纸,上面有若干白点,如何通过halcon将其全部找出?原创 2022-08-27 14:20:22 · 1201 阅读 · 0 评论 -
【halcon】select_shape 高宽比(‘ratio‘) 各项异性(‘anisometry‘)
今天,我在筛选瑕疵的时候,有很多细长的区域,不是我想要的,此时可以用select_shape 进行高宽比例的选择。select_shape,这算子用的非常的多,平时我主要用来选择面积,位置,长宽等等。就可以把这种轻松的过滤掉(图中高宽比超过了15)。如果是横向细长的区域,将得到一个小数.今天,发现一个小技巧分享给小伙伴们。但是需要注意的是:这里。原创 2023-11-09 10:57:40 · 1400 阅读 · 0 评论 -
【halcon】选择一个最大的面积
我们可以用对面积筛选,但有时这得到的是一个数值,而不是一个值。而我们想得到这个数组中的最大值,该怎么做呢?原创 2023-11-04 12:08:50 · 2060 阅读 · 0 评论 -
【halcon】获取图片通道数
将HObject转换为HImage?但是,很多情况下,你得到的是HObject对象, 但其实这就是个图, 这个时候如何获取?如果对象本身就是 HImage 类型,那么这个类型自带一个函数CountChannels。halcon中有两种类型,HObject 和 HImage。原创 2023-11-04 11:25:05 · 1029 阅读 · 0 评论 -
【halcon踩坑】区域为空但个数是1
我在做瑕疵检测的时候,通过计算瑕疵区域的个数(count_obj())是否为0,来判断是否有瑕疵,如果不为0,那边我就会在图片上标记这个瑕疵的位置!但是有一次我发现明明没有瑕疵,却在图片的左上角标记了一个消除。原创 2023-11-04 11:13:33 · 827 阅读 · 0 评论 -
【halcon】halcon轮廓总结之select_contours_xld
select_contours_xld 我认为是一个非常常用且实用的算子,用于对轮廓进行筛选。原创 2023-10-17 20:10:09 · 5849 阅读 · 3 评论 -
[halcon] 局部图片保存 gen_circle 和 gen_rectangle2 对比 这怕不是bug吧
我想实现一个功能,获取图片中瑕疵的位置,将瑕疵周边的一块区域抠图并保存。原创 2023-08-26 17:30:57 · 1880 阅读 · 0 评论 -
【halcon】paint_region , write_image 和 compose3
我在现场采集图片,需要初步筛选出NG和OK的图片,我发现得到NG的原图后,肉眼看不到哪里NG了,或者说很难找。这个时候,我想保存NG的同时再保存一张标记了NG位置的图片。原创 2023-08-08 09:56:02 · 1763 阅读 · 0 评论 -
【halcon】halcon常用方法总结
选中一块区域,查看这个区域的特征:比如可以查看这个区域的面积:再配合面积选择的算子:select_shape (SelectedRegions, SelectedRegions1, 'area', 'and', 7500, 99999)完美~~~最常用,最直接的算子:对图形按灰度值进行分割!threshold (Image, Region, 128, 255)Region区域,图像的一个子集。右键图片-》更新窗口-》在单步模式-》清空并显示:作用是每原创 2022-05-31 14:58:31 · 16607 阅读 · 4 评论