
halcon 与 C#
文章平均质量分 82
不转行,就持续更新。。。。
优惠券已抵扣
余额抵扣
还需支付
¥79.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
code bean
桌面应用,视觉算法,硬件驱动, 技术分享~~~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Halcon】极坐标转换算子 polar_trans_image_ext 使用详解
用于将图像中某个环形扇区区域转换为极坐标图像。Width可能并不是一个固定值,推荐你使用经验公式并结合视觉效果调试,来得到最适合你任务的设置。这张是在圆环上的原图拉伸12的效果拉伸50的效果拉伸100的效果当我写到200时,函数直接报错了!看来也无法无限往大了写。原创 2025-05-07 01:30:00 · 919 阅读 · 2 评论 -
【halcon】像素维度:插值算法对图片的影响
插值算法对图像处理结果有显著影响。文章通过工业检测案例发现,即使是0度旋转,使用'constant'插值会导致检测失效,而'nearest_neighbor'能保持结果一致。文中分析了四种插值方法的差异:最近邻法保留原值适合精密检测,双线性和双三次插值更平滑但会改变像素值,常数插值可能导致边缘黑边。建议根据任务需求选择算法,敏感检测场景推荐使用最近邻插值以保证数据一致性。原创 2025-05-28 17:17:51 · 1059 阅读 · 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】如何理解 halcon 中的domain 之 “区域被裁剪掉了!”
单词 domain 翻译为:n.: 域, 域名, 领域, 领地, 版图, 领土, 地盘, 王国。我最后的做法是,显示的时候关掉,显示完了就打开!原创 2025-03-08 14:34:34 · 182 阅读 · 0 评论 -
【halcon技巧】如何扩大背景
我需要将大量零散的区域聚合到一起,所以会用到膨胀,将分散的区域粘到一起。形成一个整体之后还需要恢复到之前的大小!于是就会用到腐蚀。这样就能恢复到和之前一样的大小。但是理想很饱满,现实很意外。现在出现的情况是,膨胀时 图片右边膨胀的区域大小超出的图片的范围。所以右边其实没有膨胀的预想的那么多,所以腐蚀相同大小时,相当于右边会多腐蚀了一些。(看上图理解)如何解决这个看似误解的问题呢?原创 2024-11-21 21:17:56 · 202 阅读 · 1 评论 -
【halcon小技巧】对象初始化
HObject这种数据结构各有三种初始化方式,下面就来总结一下。原创 2024-11-08 09:10:07 · 286 阅读 · 0 评论 -
【halcon】halcon窗口缩放导致图片或者图形消失
以前遇到的问题,一直困扰着我,今天终于破案了!!!你是否也遇到过,在halcon窗口上(HSmartWindowControlWPF ),通过函数 DispObj 或者 DispCross 等显示函数显示图片或图形时,一旦数量过多就会出问题。一旦对图片进行缩放,有的图形就会消失,像是被释放掉了。原创 2024-10-08 15:40:00 · 499 阅读 · 0 评论 -
【halcon】无开发环境,部署halcon程序(含脚本引擎)
在脱离Halcon开发环境如何部署halcon程序呢?一般情况下,把 halcon.dll 和 exe 放到 同一个目录下。但是如果你的程序用到的halcon脚本引擎,仅仅这样,程序还是无法运行。runtime.exe到底干了啥?明白之后,你就可以通过自己写程序部署halcon环境了~~原创 2024-08-11 09:42:27 · 816 阅读 · 0 评论 -
【halcon】模板匹配报内存不够,解决方案
在调用`find_scaled_shape_model`时,发现对于有些产品(不同的产品对于不同的模板),`find_scaled_shape_model` 时不时报内存不够的错误。打开 *任务管理器* 可以看到,当调用`find_scaled_shape_model` 时,内存迅速上涨,可以从2G升到7G(我匹配的个数一般都在1000个以上)。当前电脑是32G。 内存大概用到的50%~60%。但是,此时对于某些产品(较大一些的产品)就很容易保内存不够的错误。我电脑内存之前时16G,还不够用,于是升到原创 2024-08-09 01:00:00 · 831 阅读 · 0 评论 -
[halcon集成yolo] 图片转换提速
在上一篇文章中,我讲到的如何将Bitmap转换到Image而不会失真. 但是对转换的速度还是不满意,一张258M的图片推理时间为400mm,但是转换时间已经到了1900ms. 这个不能忍啊!原创 2024-07-29 12:01:03 · 319 阅读 · 0 评论 -
[halcon集成yolo] halcon集成yolo图片转换篇
halcon是传统算法的代表, 同时也拥有着深度学习的模块,之前在我的很多文章中也有着介绍. 不过在对比yoloV8之后, 发现halcon(版本 23.11)的深度学习, 全方面不如yolov8. 不管是训练速度,推理速度,异或是推理效果,yolov8都吊打halcon深度学习. 所以, 我想着结合两者的强项, 传统算法使用halcon,深度学习使用yolov8.来解决实际项目中遇到的问题. halcon可以负责预处理和后处理, yolo负责中间的推理过程! **于是,我遇到的第一个问题出现了,图片类型原创 2024-07-29 10:53:39 · 1004 阅读 · 4 评论 -
【halcon】set_part 实现平移和缩放 彻悟版
之前写了一篇,确实也实现了平移和缩放。平移是对的,但是缩放其实有畸变。这个问题一直都困扰着我,知道昨天连续测试了好几个小时,直到晚上11点终于完美解决。原创 2024-05-25 12:44:01 · 1615 阅读 · 4 评论 -
【halcon踩坑】由于引用dll不一致导致的大坑。
由于引用dll不一致导致的大坑,差点没跳出来。我们知道,halcon 有两个dll:halcondotnet和halcondotnetxl。平时用的都是halcondotnet,halcondotnetxl时为了应付大图。比如线扫相机扫出的大图。原创 2024-05-14 17:36:25 · 863 阅读 · 0 评论 -
【halcon】C# halcon 内存暴增 续,找到一个解决方案
解决方案找到一个~~~原创 2024-04-16 17:36:17 · 2031 阅读 · 0 评论 -
【halcon】select_shape 和它关联的函数
这里,我列了一张表。全部都是和select_shape 对应的函数。原创 2024-04-01 17:03:50 · 360 阅读 · 0 评论 -
【halcon深度学习】dev_display_dl_data 移植到C# 上篇
在研究halcon深度学习的时候,会发现halcon的例程里面用到了大量的二次封装库函数。这些库函数内部也是由基础的算子组成。我们在halcon的开发环境里面用的很爽,但是一旦要在C#中使用,就会报错。一开始,我想避开这个移植过程,直接使用halcon引擎(HDevEngine )的方式。其实, halcon引擎(HDevEngine ) 不提供内部显示运算符的实现,而是提供类HDevOperatorImplCpp,其中包含所有您可以自己实现的运算符的空虚拟方法。原创 2023-12-26 17:31:10 · 1029 阅读 · 0 评论 -
【halcon】Halcon引擎之远程调试(附加到进程)
halcon引擎用上了就上瘾了,但是有个缺点每解决,就是当你把算子封装好之后,调试时,他就成一个黑盒了。我们不可能用VS去实时调试halcon脚本代码。那有没有一种可能,当运行到这个封装好的算子的时候可以跳转到halcon软件,对这个封装好的算子进行调试呢?这个答案居然是肯定的!原创 2023-12-06 19:56:32 · 792 阅读 · 0 评论 -
【halcon】亚像素轮廓XLD
XLD(eXtended Line Descriptions):XLD其实就是指的亚像素轮廓。如何理解亚像素提到的:threshold (Image, Region, 128, 255) 这个呢,是给了一个灰度的范围,通过像素进行划分区域。像素已经是图片成像的最小单位了,下图就是将一张图片放大到看到像素的程度。这每一个方块就是一个像素,每个像素都有自己的一个灰度值。两个像素之间的灰度值是跳变的。如果进一步细分,假设像素的正中间点才是该像素的值,像素其他地方的值是渐变的方式过度到....原创 2022-05-31 20:21:02 · 2102 阅读 · 0 评论 -
【halcon】.Net6 wpf与Halcon
基于.Net6新建一个Halcon工程原创 2022-10-05 14:01:43 · 1669 阅读 · 0 评论 -
【halcon】裁剪
目前我遇到的裁剪相关的函数都是以clip打头的函数。前面两个是对轮廓的裁剪。后面是对区域的裁剪。原创 2023-12-02 16:00:11 · 1212 阅读 · 0 评论 -
【halcon】模板匹配和仿射变换总结
模板匹配和仿射变换,经常一起使用,他们之前的位置变换一般有两种情况!原创 2023-02-21 20:53:43 · 4806 阅读 · 2 评论 -
【halcon】例子分析之动态阈值
之前的【halcon】系列文章中,有介绍全局,阈值的方法,threshold。但是当我们的图片的背景光线不均匀时,我们就需要动态阈值的方式,及不同的明度区域使用不同的阈值。如:这张图就是明暗不均,我们没有办法使用全局的阈值挑选出全部的“棋子”动态阈值时根据周围的环境进行对比的,使用我们先需要做一个均值滤波:做了这个均值滤波之后得到了一个“明暗的背景”,它并不是最终的结果,而是一个动态阈值的参考对象。使用 light,表示和平均值相比offset=15,更亮的部分。使用 dark,表示和平均原创 2022-06-06 19:56:57 · 3693 阅读 · 5 评论 -
【halcon】halcon 区域到轮廓转换(两种方式对比)
什么情况下,需要将区域变换成轮廓,有啥好处?1 轮廓是基于亚像素的,能提供更佳的精度。而区域最小也是一个像素。2 轮廓可以认为是线条(其实是一些列的点),线条是一维的,而区域是二维的。一维,有自己的特征,有时我们会借助这些特征,这些特征往往在二维上体现不明显。比如:轮廓的长度,轮廓的曲度,轮廓闭合度综上所诉,我们有时需要将区域变换成轮廓!原创 2023-12-01 09:54:43 · 1133 阅读 · 3 评论 -
【halcon】halcon 函数文件 以及 脚本引擎如何调用外部函数文件 下篇
上次在文章中讲到如何halcon去封装一个算子。这篇下篇,承接上篇讲述C#如何使用halcon引擎调用自己封装好算子。这样的好处很明显:1 不用修改C#代码,更新脚本就能改变算法。免去了一个翻译过程,代码也容易维护。2 可以利用halcon对脚本进行加密。目前发现的一个坏处:无法主动释放内存,当调用计算量很大算子,或者图片很大时,内存会飙升很快。原创 2023-12-04 15:16:59 · 554 阅读 · 0 评论 -
【halcon】C# halcon 内存暴增
如果不使用halcon引擎,直接调用lines_gauss虽然内存会飙升,但是属于图片占用的内存还是会立刻被释放,但是如果在halcon引擎中,这个就会释放很慢,如果连续处理图片,你的内存就会“爆炸”!一个6M的图片通过halcon进行加载,大约会消耗200M的内存,如果等待GC回收,而你又在不停的读取图片,你的内存占用,将在短时间内飙升。目前给我的感觉是,如果我封装了一个算子,然后通过halcon引擎调用,然后这个算子需要传入图片参数,这个图片传入引擎后,过很久才会被释放掉。原创 2023-12-02 15:59:31 · 1057 阅读 · 0 评论 -
【halcon】外观检测总结之灰度操作
所以此时我们需要一个图像增强的滤波算法,进行一个大的增强,让大家的灰度水平达到一个很高的水平,再使用hysteresis_threshold。如果mask选的太大,可能把小的瑕疵平均了就被干掉了(而且太大,会很耗时),如果mask选小了,大的就会选不到。有时一个瑕疵的灰度是很斑驳的,意思就是他的灰度值是混乱的,此时我们可以通过 'deviation’这个参数去获得灰度的混乱程度;不过他和动态阈值相比有个缺点,动态阈值不在乎光线不均匀的问题,应为他是判断一个像素和他周围的像素的平均值比。原创 2023-11-15 20:40:38 · 766 阅读 · 2 评论 -
【halcon】为啥匹配到ROI外面去了?
匹配到ROI外面去了中心恰好在roi有效区域内!粉色是ROI区域。原创 2023-04-06 21:38:36 · 662 阅读 · 0 评论 -
【halcon】halcon字符识别——OCR
我越来越发现,什么自动阅读器,什么手动阅读器,都不好用。 自己实现字符分割,然后直接识别才是最优解。只要我们能很好的分割出字符区域,识别就是水到渠成。原创 2023-09-11 16:01:57 · 4174 阅读 · 3 评论 -
【halcon】halcon 函数文件 以及 脚本引擎如何调用外部函数文件 上篇
说多了容易混淆,今天就说,我觉得最有用的:外部函数文件(.hdvp)原创 2023-11-09 21:45:38 · 1290 阅读 · 0 评论 -
【halcon】灰度直方图直观理解与应用
这篇文章,由灰度直方图,引出了三个常用的用于分割的函数:threshold全局阈值分割binary_thresholddyn_threshold 动态阈值分割mean_image 均值滤波。原创 2023-02-13 11:35:25 · 4230 阅读 · 2 评论 -
【halcon】轮廓拟合相关算子
先通过edges_sub_pix 找到边缘轮廓,过滤掉一些直线以及短的。将剩下的圆弧轮廓进行联合(更长的圆形轮廓有助于拟合出更准确的圆)从联合后的轮廓中选出最长的,进行拟合圆原创 2023-03-10 21:31:08 · 4373 阅读 · 0 评论