- 博客(23)
- 收藏
- 关注
原创 C#Halcon从零开发_Day18_OCR识别
摘要:本文介绍了基于HALCON的OCR字符识别流程。首先通过图像预处理(灰度转换、区域分割、形态学处理等)获取字符区域,然后使用sort_region算子按字符顺序排列区域。识别过程采用预训练模型Industrial_0-9A-Z_NoRej.omc,通过do_ocr_multi_class_mlp实现多字符分类识别。该方案适用于工业场景中的大写字母和数字识别,但需注意模型仅支持大写字母识别。文中包含完整的代码实现步骤,从图像读取到最终识别输出,展示了OCR技术的实际应用方法。
2025-07-08 23:42:26
469
原创 C#Halcon从零开发_Day17_代码标定相机(不使用标定助手!)
本文介绍了使用代码进行相机标定的方法,针对传统标定助手检测失败的问题。重点讲解了基于HALCON的分步标定流程:1)生成初始参数,2)创建标定数据模型,3)设置标定板描述,4)图像预处理与特征提取,5)执行标定计算。详细说明了关键参数(如滤波参数0.2)的设置技巧,并指出圆点直径参数需准确设置以避免失败。通过4张不同亮度的标定板图像验证了方法的可靠性,最终输出相机参数和位姿数据,平均投影误差小于0.5像素。该方法解决了传统方式特征点检测失败的问题,实现了高效精准的相机标定。
2025-07-07 10:46:54
915
原创 C#Halcon从零开发_Day16_Blob+模板匹配检测缺陷
摘要:本文针对Halcon中print_check.hdev案例进行改进,将原生的create_generic_shape_model替换为精度更高的create_shape_model方法。通过图像分割获取ROI区域,构建形状模板并进行变分模型训练,实现笔具缺陷检测。系统包含模板匹配定位、变分模型训练(15张样本)和缺陷检测三个核心阶段,通过比较实际图像与变分模型的差异(阈值20/3),最终以红色标注缺陷区域并输出检测结果(OK/Not OK)。改进后方案在保持较高检测速度的同时提升了识别精度。
2025-06-29 14:19:58
784
原创 缺陷检测思路合集(不断更新中)
摘要:缺口检测的核心思路是利用闭运算后区域与原区域的差集处理来识别缺口。闭运算先膨胀后腐蚀,可填充小孔和连接断裂区域。通过计算闭运算结果与原图的差集,可以准确提取出缺口位置。该方法适用于各类形状的缺口检测,具有较好的鲁棒性。
2025-06-24 13:53:15
131
原创 C#Halcon从零开发_Day15_AOI缺陷检测策略1_Bolb分析+特征分析_检测瓶口缺陷
本文提出了一种基于Blob分析和特征分析的AOI缺陷检测策略,主要针对瓶口圆环区域的检测。方法通过极坐标转换将圆环图像转为矩形图像以便处理,采用阈值分割、开运算和填充等操作提取圆环区域,再通过腐蚀和差集运算定位缺陷。系统能自动判断检测结果并显示"OK"或"NG",实现了对瓶口缺陷的有效检测。该方法结合了图像形态学处理和动态阈值等算法,具有较好的缺陷识别能力。
2025-06-23 11:20:54
587
原创 C#Halcon从零开发_Day14_AOI缺陷检测策略1_Bolb分析+特征分析_饼干破损检测
摘要:本文提出了一种基于Blob分析和特征分析的饼干缺陷检测方法。通过阈值分割和开运算进行预处理,利用area_holes算子检测空洞面积,rectangularity算子评估矩形度。当空洞面积>600或矩形度<0.9时判定为不合格(NG),否则为合格(OK)。该方法能有效识别饼干破损缺陷,实现自动化质量检测。实验采用HALCON软件处理24张饼干图像,通过文本标注直观显示检测结果。
2025-06-22 23:53:03
749
原创 C#Halcon从零开发_Day13_几种阈值分割方法
本文介绍了六种图像阈值分割方法:1)直接阈值分割,通过固定阈值提取区域;2)值化阈值分割,自动计算阈值区分前景背景;3)动态阈值分割,适用于光照不均场景,通过均值滤波比较局部差异;4)动态均方差阈值分割,结合标准差和因子参数;5)灰度直方图阈值分割,自动分割多区域;6)快速阈值分割,通过设定最小区域尺寸提升处理速度。每种方法都简要说明了适用场景和关键参数设置,为图像处理中的阈值选择提供了多种技术方案。
2025-06-22 22:51:28
334
原创 C#Halcon从零开发_Day12_轮廓边缘处理
本文摘要:该文档详细介绍了图像边缘检测与轮廓处理的技术流程,分为四个关键步骤:1)使用Canny等滤波器进行边缘提取,参数包括滤波器类型(Lanser2、Deriche1等)、平滑系数和阈值设置;2)轮廓分割,通过平滑系数和最大距离参数将边缘拆分为直线/圆形;3)可选轮廓联合操作,包括相邻轮廓合并、共圆轮廓合并等;4)基于形状特征(宽度、行坐标)筛选特定轮廓并拟合直线。整个流程涵盖了从边缘检测到目标轮廓提取的完整图像处理步骤,参数设置指导详细。
2025-06-22 18:44:45
560
原创 C#Halcon从零开发_Day11_圆拟合
本文介绍了圆形检测在工业视觉中的5个典型应用场景(尺寸测量、缺陷检测、机器人定位、OCR预处理、运动跟踪),并提供了基于Halcon的实战代码。代码核心流程包括:图像读取、圆形轮廓生成、极坐标矩形测量点采样、边缘检测、圆形拟合及结果显示。通过10个均匀分布的测量点进行边缘检测,若所有点有效则拟合圆心坐标和半径,否则报错提示。该方案可实现高精度圆形检测,适用于工业自动化场景下的质量控制和定位需求。
2025-06-22 12:01:04
1111
原创 C#Halcon从零开发_Day10_直线拟合
本文介绍了基于直线拟合的工业检测应用,主要包括产品边缘检测、缺陷识别和尺寸测量。通过Halcon算法实现卡尺测量工具,包括直线绘制、边缘检测方向确定、测量矩形生成和边缘点提取。关键步骤包括:1)设定检测参数生成卡尺区域;2)测量边缘点坐标;3)使用Tukey权重函数进行二次多项式拟合。最终输出拟合的边界线,实现工业零件几何特征的精确检测,其中鲁棒拟合算法能有效处理异常点,提高检测精度。
2025-06-21 19:09:00
1213
原创 C#Halcon从零开发_Day9_弧形测量
文章摘要:本文介绍了使用HALCON库中的gen_measure_arc函数进行圆弧边缘检测的方法。该方法通过定义圆弧测量区域,解决了传统直线测量在检测圆形物体边缘或弧形缺陷时的精度问题。文章详细说明了实现过程,包括图像读取、圆弧参数设置(圆心坐标、半径、起始角度等)、测量对象生成以及边缘点提取。关键步骤涉及get_points_ellipse获取椭圆点坐标、gen_measure_arc创建测量对象、measure_pos执行测量等操作。最终通过可视化交叉标记显示检测到的边缘点,为圆弧边缘的精确测量提供了
2025-06-21 00:20:50
842
原创 C#Halcon从零开发_Day8_测量边缘对
摘要:本文介绍了如何使用Halcon的measure_pairs算子提取与矩形长轴垂直的直线边缘对。边缘对由两条灰度过渡相反的直线组成,位于矩形边缘附近。通过高斯滤波和一阶导数计算边缘点,根据灰度阈值进行配对。文章详细说明了measure_pairs的参数设置,包括Sigma值对平滑效果的影响、阈值选择以及边缘极性设置。同时对比了measure_pos和distance_pp两种距离测量方法,展示了边缘对检测的实际应用效果。实验通过绘制矩形测量区域,检测边缘对并标记端点坐标和距离信息,验证了方法的有效性。
2025-06-20 10:21:56
739
原创 C#Halcon从零开发_Day7_卡尺测量
摘要:本文介绍了基于卡尺测量的图像处理方法,通过绘制两个测量矩形定位边缘点来测量距离。首先读取图像并转换为灰度图,绘制矩形区域生成测量句柄。关键参数包括高斯平滑系数Sigma和边缘检测阈值,通过measure_pos函数获取边缘坐标。生成十字标记显示边缘位置,连接两点计算距离并显示结果。实验表明,该方法能有效检测边缘并精确测量距离,推荐使用dev_disp_text方法显示结果以避免字体颜色问题。
2025-06-19 11:59:46
882
原创 C#Halcon从零开发_Day6_几何模板的制作、匹配、应用
本文介绍了使用Halcon进行几何模板制作与匹配的完整流程。模板制作部分包含六步:读取图像、绘制模板区域、提取区域图像、创建形状模板、保存.shm格式文件以及查看模板。模板匹配部分则分为读取模板、读取目标图像、执行匹配、标注结果和进行仿射变换五个步骤,重点阐述了find_scaled_shape_model函数的关键参数设置和匹配结果的后处理。流程中涉及图像区域处理、形状模型创建、仿射变换等核心机器视觉技术,为模板匹配应用提供了标准化实现方法。
2025-06-17 23:48:55
1150
原创 C#Halcon从零开发_Day5_仿射矩阵与仿射变换
摘要:本文介绍了Halcon中利用仿射变换实现区域几何变换的方法。主要包括三个核心操作:1)通过hom_mat2d_rotate实现45度旋转;2)使用hom_mat2d_scale进行垂直1.5倍、水平3倍缩放;3)通过hom_mat2d_translate实现垂直100、水平300的平移。每个变换均需先创建初始矩阵(hom_mat2d_identity),再应用相应变换矩阵,最后用affine_trans_region完成区域变换。这些操作基于3×3仿射矩阵,实现了包括旋转、缩放和平移在内的线性几何变换
2025-06-16 10:23:33
1156
原创 C#Halcon从零开发_Day4_绘制ROI区域及区域操作
本文介绍了Halcon图像处理中的区域绘制与变换操作。主要内容包括:1) 各类基本图形绘制方法(矩形、圆、椭圆、直线等);2) 形态学操作(腐蚀、膨胀);3) 区域集合运算(交集、并集、差集、补集);4) 区域形状转换(凸包、外接矩形等);5) 区域移动与仿射变换(平移、旋转)。重点演示了使用变换矩阵实现区域位移和旋转的方法,包括获取旋转中心、生成变换矩阵和应用变换等步骤。这些操作为图像处理中的区域分析与变换提供了基础工具。
2025-06-13 10:58:10
699
原创 C#Halcon从零开发_Day3_数组、图像操作
摘要:本文介绍了Tuple数组和图像处理的基本操作。在Tuple数组部分,涵盖数组定义、索引赋值、批量赋值(包括连续和步长设置)、数组合并/去重/交集操作、元素替换和插入等。图像处理部分包括图像读取、RGB转灰度/HSV、通道分解、获取图像尺寸、生成空白/固定值图像、获取/修改像素灰度值等操作。这些基础功能为数据处理和计算机视觉应用提供了必要工具,适用于数组操作和图像分析的初级编程实现。
2025-06-12 09:15:34
631
原创 C#Halcon从零开发_Day2_检测圆形物体上的缺损
本文介绍了圆形物体表面缺陷检测的完整流程,主要分为Blob分析定位、ROI区域获取、图像预处理、缺陷提取和结果输出五个步骤。首先通过阈值分割、形态学操作定位目标区域,再提取ROI并进行图像增强。随后采用二次阈值分割和特征筛选来提取缺陷,最后根据缺陷数量显示检测结果(OK/NG)。整个流程运用了阈值分割、形态学处理、区域筛选等图像处理技术,并设置了最小缺陷面积(200像素)作为判定标准,形成了一套完整的自动化检测方案。
2025-06-11 10:25:18
420
原创 c#运动控制卡_Day2_硬件系统搭建
摘要:博主自费购置正运动控制卡ZMC4XX系列和三轴滑台设备,强调学习运动控制需具备电气基础。目前已完成三轴滑台的机械组装,并详细介绍步进电机接线方案:电机四线(红蓝绿黑)对应连接驱动器A+/A-/B+/B-接口,驱动器需接入24V电源。同时说明运动控制卡与驱动器的脉冲(PUL+/PUL-)和方向(DIR+/DIR-)信号接线方式,通过脉冲和方向信号组合实现电机控制。全文突出硬件实操在运动控制学习中的重要性。(149字)
2025-06-09 22:17:18
599
1
原创 C#Halcon从零开发_Day1_初识Halcon
摘要:本文分享了作者从纯上位机软件转向精通运动控制和视觉技术的决心。重点介绍了Halcon视觉软件的两种数据类型(元组和图像类型)及常用算子,包括条件判断、循环等基本语法。核心内容围绕Blob分析展开,详细讲解了从图像读取到特征提取的8个典型处理步骤(阈值分割、填充、打散、筛选、腐蚀、膨胀等),并以圆形物体检测为例演示了完整流程。这些技术可用于目标识别、分类和定位等工业视觉应用场景。
2025-06-09 09:21:18
554
原创 C#运动控制卡_Day1_轴模型
本文介绍了雷赛DMC2410运动控制卡中轴参数基类的构建方法。该基类包含六大类参数:1) 轴基本参数(卡号、轴号、脉冲当量等);2) Jog点动参数(速度、加减速时间);3) 自动模式参数;4) 回原参数(速度、方向、模式等);5) 标志位(运行状态、限位、伺服状态等);6) 其他参数(软限位、安全位置等)。同时定义了轴状态的枚举类型,包含急停、报警、运行中等7种状态。该框架为运动控制卡开发提供了标准化参数体系。
2025-06-06 11:58:39
737
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人