halcon学习笔记——实例篇 长度和角度测量+

合集下载

halcon圆柱角点展平案例

halcon圆柱角点展平案例

halcon圆柱角点展平案例Halcon圆柱角点展平是一种常用的图像处理技术,用于将圆柱形状的物体的角点展平以便于后续处理。

下面是关于Halcon圆柱角点展平的一些案例。

1. 圆柱表面上的角点检测:Halcon可以使用边缘检测和角点检测算法来检测圆柱表面上的角点。

通过对图像进行边缘检测,可以得到圆柱的边缘信息,然后使用角点检测算法来检测圆柱表面上的角点。

2. 圆柱角点的定位:在得到圆柱表面上的角点后,Halcon可以使用图像处理算法来定位这些角点的位置。

通过对图像进行角点定位,可以得到角点的坐标信息,从而可以对圆柱进行进一步处理。

3. 圆柱角点的展平:Halcon可以使用圆柱角点展平算法将圆柱表面上的角点展平。

通过将圆柱表面上的角点进行展平处理,可以使得角点的位置更加准确,从而可以提高后续处理的精度。

4. 圆柱角点的特征提取:在展平圆柱角点后,Halcon可以使用特征提取算法来提取圆柱角点的特征。

通过对展平后的角点进行特征提取,可以得到角点的形状、大小等特征信息,从而可以对圆柱进行更加精细的处理。

5. 圆柱角点的匹配:在提取圆柱角点的特征后,Halcon可以使用特征匹配算法来匹配不同圆柱角点之间的关系。

通过对不同圆柱角点之间的特征进行匹配,可以得到圆柱的整体形状和位置信息,从而可以进行更加准确的定位和识别。

6. 圆柱角点的测量:在匹配圆柱角点后,Halcon可以使用测量算法来测量圆柱的各个参数。

通过对圆柱角点之间的距离、角度等进行测量,可以得到圆柱的直径、高度等参数信息,从而可以对圆柱进行更加精确的测量。

7. 圆柱角点的校正:在测量圆柱的参数后,Halcon可以使用校正算法来校正圆柱的形状。

通过对圆柱的角点进行校正处理,可以使得圆柱的形状更加准确,从而可以提高后续处理的精度。

8. 圆柱角点的分类:在校正圆柱的形状后,Halcon可以使用分类算法来对圆柱角点进行分类。

通过对圆柱角点的形状、大小等进行分类,可以得到不同类型的圆柱角点,从而可以对圆柱进行更加细致的分析和处理。

halcon圆柱角点展平案例

halcon圆柱角点展平案例

halcon圆柱角点展平案例Halcon圆柱角点展平是一种用于处理图像中圆柱体表面的技术。

它可以通过识别圆柱体的角点,并将其展平为一个二维图像,从而方便后续的图像处理和分析。

下面将列举一些关于Halcon圆柱角点展平的案例,以帮助读者更好地理解这一技术的应用。

1. 检测圆柱瓶口位置在生产线上,经常需要对圆柱瓶的瓶口进行检测。

利用Halcon圆柱角点展平技术,可以准确地检测到瓶口的位置和形状,从而实现自动化的生产线控制。

2. 检测圆柱体表面缺陷圆柱体表面的缺陷对于某些行业来说非常重要,例如电子元器件的制造。

利用Halcon圆柱角点展平技术,可以对圆柱体表面的缺陷进行高精度的检测和分析,提高产品的质量和可靠性。

3. 圆柱体表面贴标检测在包装行业中,常常需要对圆柱体上的标签进行检测和识别。

利用Halcon圆柱角点展平技术,可以准确地检测到标签的位置和形状,从而实现自动化的包装生产线。

4. 圆柱体的三维重建通过多个角度拍摄圆柱体的图像,结合Halcon圆柱角点展平技术,可以实现对圆柱体的三维重建。

这对于一些需要对圆柱体进行形状分析和测量的应用非常有用。

5. 检测圆柱体的偏斜角度在一些工业应用中,需要对圆柱体的偏斜角度进行检测和测量。

利用Halcon圆柱角点展平技术,可以准确地测量圆柱体的偏斜角度,从而实现对产品的质量控制。

6. 圆柱体的表面缺陷分类在某些应用中,需要对圆柱体的表面缺陷进行分类。

利用Halcon圆柱角点展平技术,可以将圆柱体的表面缺陷分为不同的类别,从而实现对产品质量的评估和控制。

7. 圆柱体表面的纹理分析圆柱体表面的纹理对于某些应用来说非常重要,例如纺织品的质量检测。

利用Halcon圆柱角点展平技术,可以对圆柱体表面的纹理进行分析和识别,从而实现对产品质量的控制。

8. 圆柱体的形状匹配在一些应用中,需要将一个圆柱体与一个标准模板进行形状匹配。

利用Halcon圆柱角点展平技术,可以实现对圆柱体形状的高精度匹配,从而实现对产品的质量控制。

halcon相机标定和测量示例

halcon相机标定和测量示例

Halcon单相机标定和测量示例相机标定有很多方式:九点标定法、棋盘格标定法、圆形阵列标定法;本次采用圆形阵列标定法。

1Halcon相机标定1.1标定板描述文件编制此次相机标定采用的是网购的标定板(直接在万能的某宝搜halcon标定板),如图1。

采购的时候卖家会提供标定板的相应参数,如图2。

图1标定板图 2 标定板参数用halcon标定助手标定的时候需要用到标定板的描述文件,此文件可以用gen_caltab算子自己编制。

如下为函数说明:gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : ) 函数说明:创建一个标定文件和相应的脚本文件。

函数参数:Xnum:输入X方向标记(圆点)的数量,Xnum>1;Ynum:输入Y方向标记(圆点)的数量,Ynum>1;MarkDist:标记圆圆心间距离,单位“m”;(我看过一个资料翻译为标记点大小,差点被坑死)DiameterRatio:两标记点距离和标记直径的比值,默认:0.5。

0<DiameterRatio<1.0;CalPlateDescr:输入要保存的标定文件(此文件保存路径在算子窗口可更改),默认值: 'caltab.descr',参考: 'caltab.descr', 'caltab_100mm.descr', 'caltab_10mm.descr', 'caltab_200mm.descr', 'caltab_30mm.descr';CalPlatePSFile :标定板图像文件的文件路径(此文件保存路径在算子窗口可更改),默认: 'caltab.ps',后缀:ps。

此算子“XNum, YNum, MarkDist, DiameterRatio”这四个参数根据图2所示的标定板参数设置。

halcon measure_pos参数说明

halcon measure_pos参数说明

halcon measure_pos参数说明全文共四篇示例,供读者参考第一篇示例:Halcon是一款强大的机器视觉软件工具,广泛应用于工业自动化、检测、识别等领域。

其中measure_pos是Halcon中一个重要的参数,用于位置测量和定位。

本文将详细介绍measure_pos的参数说明和用法,帮助读者更好地理解和应用该参数。

1. 参数说明measure_pos是Halcon中用于位置测量的函数,主要用于检测图像中的边缘、线条或者特征点,并得到其位置信息。

其效果类似于寻找图像中的标志物,帮助机器视觉系统完成位置识别和测量任务。

该函数的基本语法为:measure_pos(Image, RowEdge, ColumnEdge, ROI, Row, Column)Image表示输入的图像,RowEdge和ColumnEdge表示边缘的坐标,ROI表示感兴趣区域,Row和Column表示目标位置的坐标。

2. 参数用法measure_pos函数主要用于以下几个方面:(1) 边缘检测:通过measure_pos函数可以检测图像中的边缘,找到边缘的位置信息。

这对于工业检测、定位等任务非常有用。

(2) 线条检测:除了边缘检测,measure_pos还可以用于检测图像中的线条或者特定形状的目标。

通过调整参数,可以实现不同精度和角度的线条检测。

(3) 特征点定位:在某些场景下,需要定位图像中的特征点或者关键点,比如机器人视觉导航、医学影像识别等。

通过measure_pos函数可以精确定位这些特征点的位置。

3. 参数调节measure_pos函数有多个参数可以调节,以适应不同的应用场景和需求:(1) ROI参数:可以设置感兴趣区域,限定检测的范围,提高检测速度和准确性。

(2) 参数设置:可以根据具体情况设置边缘检测的阈值、灰度差异等参数,以获得最佳的检测结果。

(3) 精度和速度:根据实际需求可以调节参数,平衡检测的精度和速度,使检测适应不同的应用场景。

机器视觉之halcon入门(8)-一文弄懂如何用相机测量物体长度

机器视觉之halcon入门(8)-一文弄懂如何用相机测量物体长度

机器视觉之halcon入门(8)-一文弄懂如何用相机测量物体长度第三节测量3.3.1 简单的啰嗦几十句所谓的测量,主要是测量出物理尺寸,就是我们现实中所说的尺寸。

毕竟算出像素尺寸实在是不是太难。

Halcon里面的物理尺寸测量分1d,2d,3d测量,作为入门书籍我们这儿只讲1d的,就是长度测量。

比如咱们的标定板长度的测量。

有没有很想学?哈哈……3.3.2 言归正传图 3-3-2-1如上图(3-3-2-1),单击助手里面的第四个选项'Measure'。

会弹出下图(3-3-3-2),在输入栏有两个参数需要我们来填,第一个是第一红框里面的,待测量图片的来源,可以选择你已经拍好的照片,就是图像文件,单击那一行后面小框框可以选择图片路径,下一行是通过图像采集助手,就是相机采集图片来测量,如果你还没有打开图像采集助手,一选中就会自动弹出图像采集助手来帮你选择相机,本章第一节刚好你学了连接相机,怎么利用图像采集助手实在是难不倒你。

如果你选中后面的'实时采集',就可以实时采集每一张图片来进行测量了。

一切配置好后,下面一个框内是要相机的内参外参了,上一节刚好学的标定。

希望你有保存。

'.cal'和'.dat'刚好就对应了两个参数保存文件的格式。

还是点击最后面的小框添加。

图 3-2-2-2一切配置好后,就可以进入第二页选项卡如下图:此时你halcon 的图像窗口应该是在实时显示的图片。

把标定板放进视野中,如下图(3-3-2-3)。

图 3-3-2-3图 3-3-2-4然后选择上图(3-3-2-4)中最上你们的小方框,这是画直线的功能,到halcon图像窗口中画一条测量的线,保证这条线穿过要测量的物体的两个边缘,如下图(3-3-2-5):图 3-3-2-5通常情况下,还是要调整下上图(3-3-2-4)中红框框内的三种参数:最小边缘幅度,意思是说halcon自己沿着线路找边缘,当某个地方灰度值差大于这个幅度的时候就认为它为边缘。

halcon测量

halcon测量

Line distance_pl distance_sl distance_lc distance_lr
Line Segment distance_ps distance_sl distance_ss distance_sc distance_sr
Contour distance_pc distance_lc distance_sc distance_cc distance_cc_min -
0
3
6
剖面
9
12
15
index
1D 测量: measure_thresh
为测量对象计算剖面灰度值 通过阈值提取剖面函数和插值的交点 参数:
Image:输入图像 MeasureHandle: 剖面测量句柄 Sigma: 剖面高斯平滑的色散 Threshold: 剖面函数点提取阈值 Select:选取点的位置 Row/ColumnThres: 提取点的坐标(sub-pixels) Distance: 两连续点的距离(sub-pixels)
1D 测量: measure_pairs
measure_pairs( Image, MeasureHandle,1.0,25.0,'all','all', RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, InterDistance, IntraDistance)
在 线
图像
灰度投影 和边缘检测
选择 & 分组 边缘
1D 测量
定位边缘ROI 直线和圆弧形状的ROI ROI 宽度可变,灰度投影 边缘选取和分组

halcon卡尺工具原理

halcon卡尺工具原理

halcon卡尺工具原理
Halcon卡尺工具是一种基于数字图像处理技术和计算机视觉理论的辅助工具,主要用于检测和测量二维图像中目标物体的尺寸、角度、位置等参数。

其原理主要包括以下几个步骤:
第一步,设置卡尺参数
在使用Halcon卡尺工具之前,需要针对具体的图像和目标物体,设置卡尺的相关参数,例如卡尺的长度、方向、宽度、灵敏度等。

其中,最重要的参数是卡尺的方向和长度。

卡尺方向应该与待测量的对
象边缘线段垂直,而卡尺长度应该略大于待测量对象的实际大小。

第二步,寻找卡尺起点
在确定了卡尺参数后,需要在图像中寻找卡尺的起点。

为此,Halcon卡尺工具可以通过多种方式来寻找卡尺起点,例如基于边缘检测、二值化、阈值化等算法。

一旦找到卡尺起点,Halcon卡尺工具就
可以开始进行测量。

第三步,测量目标物体
在卡尺起点确定之后,Halcon卡尺工具会沿着卡尺方向,不断拓展卡尺线段,直至检测到目标物体的边界线段。

在检测到目标物体边
界线段之后,Halcon卡尺工具就可以计算出该线段的长度、位置和方
向等参数。

第四步,输出结果
当Halcon卡尺工具完成测量之后,会将测量结果以文本或图像
的形式输出。

这些结果可以用于后续的图像处理分析、物体识别或机
器视觉检测等应用。

通过以上步骤,Halcon卡尺工具能够快速、准确地实现对二维图像中目标物体的测量和检测,为数字图像处理和计算机视觉技术的研
究和应用提供了有力支撑。

halcon 测距方法

halcon 测距方法

halcon 测距方法
Halcon是一个强大的机器视觉软件库,提供了多种测距方法。

以下是一些常见的测距方法:
1. 边缘测距:通过提取物体的边缘信息,计算边缘之间的距离。

2. 模板匹配:将待测物体与标准模板进行匹配,计算两者之间的距离。

3. 特征提取:提取物体的特征点,利用特征点之间的几何关系计算距离。

4. 相位测量:利用相位差来计算物体之间的距离。

5. 立体视觉:通过两个或多个相机从不同角度拍摄图像,通过立体匹配算法计算物体之间的距离。

这些方法可以根据不同的应用场景和需求选择使用。

例如,在工业自动化领域中,可以使用边缘测距和模板匹配来检测生产线上的零件位置和尺寸;在医疗领域中,可以使用立体视觉和特征提取方法来测量器官和组织的大小和形状。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

halcon学习笔记——实例篇长度和角度测量实例二:长度和角度测量
素材图片:
halcon代码:
1: *读取并截取图片
2: dev_close_window()
3: read_image (Image, 'D:/MyFile/halcon/长度和角度测量/图.png')
4: crop_rectangle1 (Image, ImagePart, 75, 0, 400, 400)
5: get_image_size (ImagePart, Width, Height)
6: dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
7: dev_display (ImagePart)
8:
9: *获取图形的边界
10: threshold (ImagePart, Regions, 0, 112)
11:
12: *分离三角形和圆形
13: connection(Regions,ConnectedRegions)
14: sort_region(ConnectedRegions,SortedRegions,'upper_left','true','column')
15: select_obj(SortedRegions,Circle,1)
16: select_obj(SortedRegions,Triangle,2)
17:
18: *获取三角形各边的信息
19: skeleton(Triangle,TriangleSkeleton)
20: gen_contours_skeleton_xld(TriangleSkeleton,TriangleContours,1,'filter')
21: segment_contours_xld(TriangleContours,ContoursSplit,'lines_circles', 5, 4, 2)
22:select_contours_xld(ContoursSplit,SelectedContours, 'contour_length',100, 999, -0.5, 0.5)
23: fit_line_contour_xld (SelectedContours, 'tukey', -1, 10, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
24:
25: *计算三角形角度
26:angle_ll (RowBegin[0], ColBegin[0], RowEnd[0], ColEnd[0], RowBegin[1], ColBegin[1], RowEnd[1], ColEnd[1], Angle1)
27:angle_ll (RowBegin[0], ColBegin[0], RowEnd[0], ColEnd[0], RowBegin[2], ColBegin[2], RowEnd[2], ColEnd[2], Angle2)
28:angle_ll (RowBegin[1], ColBegin[1], RowEnd[1], ColEnd[1], RowBegin[2], ColBegin[2], RowEnd[2], ColEnd[2], Angle3)
29: Angle1:=abs(deg(Angle1))
30: Angle2:=abs(deg(Angle2))
31: Angle3:=abs(deg(Angle3))
32:
33: *获取圆的信息
34: area_center(Circle,AreaCircle, RowCircle, ColumnCircle)
35:
36: *计算圆心到三角形各边的距离
37: Distance := []
38:for Index := 0 to 2 by 1
39:distance_pl (RowCircle, ColumnCircle, RowBegin[Index], ColBegin[Index], RowEnd[Index], ColEnd[Index], ThisDistance)
40: Distance := [Distance,ThisDistance]
41: endfor。

相关文档
最新文档