自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 halcon 与分割相关的算子(1)

对图像进行局部阈值分割,适用于灰度变化较多的图像。分割思想:对于每一个像素,将原图和均值图像灰度值进行对比,假设提取亮区,则原图和均值图像的灰度差大于阈值的像素,被认为是亮区被选出来。该算子基于灰度直方图的波峰进行分割,需要进行直方图高斯滤波,sigma表示滤波的标准差,该值越大,越平滑,分割出来的区域越少。基于直方图进行分割,一般来说有几个波峰就分割成几块。可以直接得到独立的几个区域,省略了connection算子。输入辅助计算图像,一般采用原图的均值图像。原图gray-均值图gray<-阈值。

2024-03-27 14:19:45 203

原创 halcon 与滤波相关的算子(1)

一共有level.edge,spot,wave,ripple,undulation,oscillation七种,两两组合,即“ll“le”“lw”“lo”“uo”uw”d等等。相比高斯滤波的权重只考虑了距离因素,双边滤波在这基础上还考虑了像素值的相似度,越相似的像素权重越大,根据与像素的距离确定权重,距离越近的像素具备越高的权重,权重的分布服从正态分布。,数值越大,影响的面积越大,平滑度越大,相当于高斯的标准差阈值。局部的重复的部分称为纹理单元,采用不同的滤波核进行纹理滤波。边缘的平滑度,值越大,越平滑。

2024-03-26 15:46:13 1065

原创 halcon 与区域相关的算子(2)

参数1:输入区域参数2:输出区域参数3:结构元素的大小作用:将区域进行膨胀操作。halcon除了膨胀算子,当然也要腐蚀,闭运算,开运算等算子。开运算=先腐蚀后膨胀,正好和‘开’的字面意思相反,这样会好记一点。参数1:输入区域1参数2:输入区域2参数3:输出合并后的区域作用:将两个区域进行合并。参数1:输入区域参数2:输出区域参数3:划分的小矩形的宽参数4:划分的小矩形的高作用:将一个区域划分为几个大小相同的矩形。

2024-03-25 18:11:59 402

原创 c#和halcon实现的任意size的高斯核权重的简单计算方法

对于权重的计算,如果是对于小size的卷积核,那么计算比较简单,那么对于大尺寸的卷积核,则计算较为复杂,提出一种简单的计算方式,建立了数组和卷积核坐标的转换关系,实现数组循环计算。如下图所示为数组坐标和卷积核坐标的位置关系。高斯滤波是一种服从正态分布的滤波器,邻域的权重大小与距离相关,有一个阈值。直接上程序,程序采用c#,并使用了halcon辅助运算。值越大表示平滑度越高,滤波器的权重分布峰图就越矮。

2024-03-19 15:19:57 125

原创 git一些常用的功能,命令,及使用细节

git相当于一个虚拟版本库,有时候我们不想讲某个文件加入其中,即不想对该文件进行追踪和迭代管理,可以设置在忽略文件中,比如一些运行时的缓存文件,编译器生成的一些文件都可以进行忽略。可以先将远程分支克隆到本地,进入本地分支,以该分支为基础建立一个新分支,然后切换到这个分支,将这个分支推送到远程,再建立远程和本地的关联,从而完成新建了一个远程分支。git的合并一般存在很多种原则,也有很多帖子进行了详细的描述,但是写的比较生涩难懂,不太适用入门的,所以自己进行了测试,总结了几点规则进行分享。

2024-03-19 14:29:08 224

原创 halcon与区域相关的算子(1)

5.overlaps_rel,根据regions和pattern的重叠面积进行筛选,具体是由 重叠面积和当前region面积的比值进行选择,由min-max控制,取值在0-100之间。将小于该阈值的分水岭合并,如果分水岭的最小灰度为w,两侧区域的最小灰度为wr,wl,如果max(w-wr,w-wr)小于阈值,那么合并两个区域。采用一个卷积核在图像上移动,如果和邻域区域的卷积核中心的灰度差小于设置值,合并这两个卷积核区域,得到几块区域。阈值,如果相邻模版中心的灰度值差小于该值,则合并为一个区域。

2024-03-14 18:45:42 1240 1

原创 基于halcon的相机畸变矫正

畸变矫正halcon

2024-03-05 18:31:03 273

原创 halcon 两个坐标系的刚性变换

halcon坐标系切换

2024-03-02 11:12:54 223

原创 看了很多帖子,总结的视觉硬件知识和选型(简练版本),持续更新

光源除了不同的形状和角度,还有不同的颜色,也对打光效果有一定的影响,比如颜色吸收同颜色光等等,还要考虑,不同的高度,角度反射折射等。:工作距离由设备所允许的空间决定,根据所需要的视野大小,确定需要多大的倍率,根据需要的检测精度确定像素比,确定分辨率。,指保持图像清晰的情况下,镜头可以容许的工作距离变动的最大范围,一般分为前景深和后景深,比如+-2mm,表示在工作距离位置前后移动2mm,视野依然清晰。,指的是传感器尺寸和视野的比,小于1表示成放大的像,由倍率可以计算出视野大小,从而计算出图像的像素精度。

2023-11-23 19:03:00 147

原创 代码管理之git

17.git chenout <分支名> 切换到分支,工作区更新为该分支。16.git branch <分支名> 创建分支,不切换当前分支。18.git merge <分支名> 合并一个分支到当前分支。12.git log --graph 查看分支合并情况。19.git branch -d <分支名> 删除分支。3.git --config 查看当前git配置信息。1.git --version 检查git版本。2.git --help 查看git相关命令。14.git branch 查看本地分支。

2023-11-15 16:09:55 42 1

原创 canny算子精辟总结,通俗易懂

写一个canny算子,网上有很多canny算子的博客,但是有些地方描述的没有很清楚或者说比较讲的比较难懂,本文主要对某些细节进行更通俗的解释,由于时间有限,没有长篇大论的进行详细的描述,适合对canny算子已经有一定了解的同学。经过步骤三之后,得到了一个新的梯度幅值图,选择最高的梯度幅值,乘于0.3和0.1分别作为高低阈值,低于低阈值的判断不是边缘,高于高阈值的判断为边缘,处于中间的如果它八邻域内有真正的边缘,将其判断为边缘。1.取梯度幅值的局部最大值作为真正的边缘,用于细化边缘。

2023-09-07 16:26:30 217

原创 halcon 旋转平移矩阵,阈值分割,点线投影

当对点或者点集进行变换时,如果xy与x2y2相同,那么表示绕该点旋转,如果不同,先对点进行一个类似xy到x2y2的平移,再绕x2y2旋转一个角度,(phi为逆,phi2为顺时针,旋转角度即为两者相减).分割结果为 比如light,对一个像素,原图 y(i),阈值图t(i),结果就是满足 y(i)>=t(i)+offset.(点,r,c),(线,r1,c1,r2,c2),输出:(结果点,resR,resC)原图,阈值图,结果区域(输出),偏差,黑或白。生成一个旋转平移矩阵。图像,分割结果,阈值。

2023-09-04 19:20:07 211 1

原创 Halcon超方便的算子,halcon直线相关算子

intersection_lines(,,,,,,r,c,isoverlaping),只需知道直线上的两点坐标。通过下面这个算子,可以直接获得过两点直线的角度,角度在-90到90之间。通过这个算子可以直接求得两条直线的交点,而不需建立直线方程,再求交点。

2023-08-12 17:15:57 501 1

原创 halcon卡尺基线定位:选择最长边缘轮廓

通过以上步骤即可实现提取最长边缘作为卡尺的基线。*计算这些边缘的长度,并存储下来。*先进行canny边缘检测。

2023-08-05 15:58:44 337 1

原创 机器视觉Halcon(1) vector_angle_to_rigid和affine_trans_point_2d算子,使用注意事项

halcon算子总结

2023-08-05 15:46:30 878 1

原创 calcopticalFlowFarnback 输出的数值具体意义,运动方向

opencv calcopticalFlowFarnback 的输出flow,所代表的具体意义和每个数值的意义

2022-12-23 17:46:33 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除