- 博客(38)
- 收藏
- 关注
原创 Halcon字符提取
字符提取的整个过程:提取图像当中每个字符区域→读取系统或者读取自定义→识别字符do_ocr_single_class_mlp读取单个或者使用do_ocr_multi_class_mlp读取多个字符→处理识别结果。分类器实现的过程?同一种分类器一般又分为两种:拒绝类和非拒绝类,处理分类器对输入的字符识别结果不确定或者置信度过低的情况。1.读取图片并设置参数2. 均值滤波过滤。
2025-06-27 15:50:00
260
原创 内接圆和外接矩形
通过上述步骤,你可以在Halcon中检测并绘制图像中的内接圆。这种方法虽然基本,但在处理简单的多边形和中等复杂度的图像时是有效的。对于更复杂的情况,可能需要考虑使用更高级的算法或库函数。在Halcon中,寻找图像中的内接圆(即圆完全位于多边形内部)可以通过几个步骤实现。在Halcon中,处理图像时经常会遇到需要检测或绘制矩形框的需求。以下是一些基本的方法和步骤,用于在Halcon中处理外部矩形框(即,从图像中提取或绘制外部矩形框)。以上是加载的图片,我们发现所加载的图片的像素阈值共有三个;
2025-06-13 17:45:20
496
原创 分水岭边缘提取和hough提取边缘
Basins1参数1 EdgeDirectionReduced(输入参数):这是一个单通道图像,表示边缘的方向。通常由边缘检测算子(如 sobel_dir 或 edges_dir)生成。参数2 HoughImage(输出参数)参数3 Lines(输出参数):输出检测到的直线,以 [StartRow, StartCol, EndRow, EndCol] 的形式表示每条线的起点和终点坐标。
2025-06-12 17:03:19
729
原创 组合边缘提取和亚像素边缘提取
在Halcon中,进行亚像素边缘提取通常涉及到使用图像分析的高级功能,特别是当图像中的边缘细节非常精细时。后面我们可以进行阈值过滤,并把骨骼轮廓转成轮廓;算法其中包含高斯平滑+梯度计算+NMS+双阈值。组合边缘就是去提取图片的边缘,算子包含。
2025-06-12 15:53:31
315
原创 blob分析、自动阈值
分析是一种在图像处理中用于识别和分析图像中对象的方法。它通过将图像进行二值化,分割得到前景和背景,然后进行连通区域检测,从而得到Blob块。Blob分析可以计算目标的数量、位置、形状、方向和大小,还可以提供相关斑点间的拓扑结构。
2025-06-06 15:42:22
321
原创 Halcon透视矩阵
在 Halcon中,透视变换矩阵用于将图像从一个视角转换到另一个视角,常用于图像校正和几何变换。以下是计算透视变换矩阵的步骤及代码示例。
2025-06-06 15:19:52
548
原创 仿射变换、根据特征点进行仿射变换
中进行仿射变换的时候插值算法有affine_trans_image(默认的插值算法 'constant')和affine_trans_region(默认的插值算法 'nearest_neighbor')。'constant' 当图像经过旋转、平移、缩放等变换之后 会产生一些原图当中没有对应的像素的区域 对这些区域进行定值进行填充。
2025-06-06 15:02:53
663
原创 高通滤波和低通滤波
最后结果:经过高通滤波之后图象是颠倒的,主要是图像格式是包含实部和虚部,再进行转换的时候,把实部和虚部也进行颠倒了导致图像会偏移处理时候可以镜像算子把图像再颠倒过来。过程:产生一个滤波器--->傅里叶频域转换--->使用卷积运算--->傅里叶逆转换。* 参数2 截止频率 值越小,保留的高频的成分越多,边缘更突出,值越大 只保留极高频的部分,建议值0.05 保留大部分的高频部分;* 参数4 转换缩放方式 -1:正向不缩放,逆向缩放;* 参数3 to_freq:把空域图像转成频域图像;:允许低频成分通过。
2025-05-28 19:25:50
1021
原创 图像锐化和图像运算
以图像为单位进行的操作(该操作对图像中的所有像素同时进行),运算的结果是得到一幅灰度分布与原图灰度分布不同的新图像。具体的运算包括算术和逻辑运算,通过改变像素的值达到图像增强的效果。图像的代数运算也称像元运算,将多幅图像之间的像元一一对应并做相应的加减乘除算法。提取局部区域,通过掩模运算,将二值图像和原图做乘法运算可实现局部提取。* thin_max_abs 找薄边缘 水平和垂直梯度绝对值大的。检测多幅图像之间的变化;* 'sum_abs' 水平梯度和垂直梯度绝对值和。降低图像的随机噪声。
2025-05-28 17:42:05
1213
原创 Halcon高斯滤波
参数1 输入图像* 参数2 输出的轮廓* 参数3 高斯滤波的标准差 控制平滑程度,0.7-20之间,默认值是1.5,值越大检查线越粗* 参数4 阈值的上限0-20 默认值3 弱边缘阈值 低于此值将会被忽略* 参数5 阈值的下限0-35 默认值8 强边缘阈值 高于此值确定为强边缘* 参数6 提取线为亮线还是暗线* 参数7 是否提取宽度信息* 参数8 提取线的类型 'bar-shaped' 条形形状 'parabolic' 抛物线。
2025-05-27 20:45:21
582
原创 图像预处理
该滤波器区域就如同一个小的“窗口”,在图像上从左上角开始滑动,将该“窗口”内的像素灰度值相加并取平均值,然后将该灰度值赋值给“窗口”中的中心像素。:有目的的强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同特征之间的差别,抑制不感兴趣特征,改善图像质量,丰富信息量,满足分析需要。* 参数3 0默认情况下计算所有像素的最大值和最小值,例如 5:相当于5%的比例,排除最大值的5%,排除5%最小值的范围,排除一些极端值 计算更稳定的最大值和最小值。
2025-05-26 20:52:51
975
原创 Halcon正弦图像
x是水平方向距离,以后再halcon写坐标的是写在(,)的第二位上,x/511 归一化,把这个值范围保留在[-1,1]之间;我们就可以得到y坐标的值就等于 sin(x/511.0*2*3.14159265458979*3)*255。要想完成最终的效果首先我们知道x坐标的值1-511,然后通过x的值去计算出正弦图上y坐标的值,然后确定点的起始点、结果点,然后将两个点连接起来后面以此类推来画下一条线,最终完成图形。*2、3 显示的起始点坐标 行(y)、列(x)*4、5 结束点的坐标 行(y)、列(x)
2025-05-26 19:30:31
148
原创 halcon窗口操作
dev_get_window所获取的窗口就是我们窗口集合里面的最后一个窗口;所以我们的文本内容才会显示到bbb窗口中。*close 关闭最后一个窗口,每打开一个窗口,会把窗口放到一个集合里面,所以关闭时候,会把做后一个添加的关闭。*3、4 文本的位置 top','left 左上。*设置绘制的模式:margin 只绘制边框。*窗口文本的颜色 指定窗口绘制文本。* 512 512 窗口的大小。* black 窗口的颜色。*参数2,3 圆的坐标。* 打开的窗口的句柄。*检测变量变化的窗口。
2025-05-26 17:25:18
695
原创 halcon数据类型
halcon当中数据类型分为和,它们两个当中又有不同的类型。图像变量:图像(Image)、区域类型(Region) 轮廓控制变量:整型、浮点类型、字符类型 、元组、句柄等等整型:a:=10浮点类型:b:=10.1字符串类型:h:='90'当然不同的变量类型也可以相互转换就像当中的类型转换* 把整型转成浮点类型c:=real(a)* 把浮点类型转成整型类型d:=int(b)*向下求整数*向上求整数f:=ceil(b)*四舍五入*把字符串转成数字类型*整型转成字符串。
2025-05-23 16:18:22
181
原创 C#索引器
首先,我们定义一个学生类(Student),包含一个数组。public Student(string[] n1) // 带参数的构造函数// 添加索引器getset。
2024-12-12 21:45:01
332
原创 泛型接口和泛型约束
泛型接口就是在接口名后面添加当然一个接口里面可以存在多个泛型,里面可以添加普通的属性(int、double等等)也可以有泛型的属性。在使用接口的时候,如果要用类继承这个接口,我们就要注意这个类必须是泛型类,创建对象时候吧类型传递过来。
2024-12-12 19:55:10
323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人