halcon 本地函数
Halcon学习(二十二)摄像机标定(函数详解)

Halcon学习(二十二)摄像机标定(函数详解)TmpCtrl_AllMarkRows := []TmpCtrl_AllMarkColumns := []TmpCtrl_StartPoses := []TmpCtrl_ReferenceIndex := 0StartParameters := [0.008,0,5.2e-006,5.2e-006,640,512,1280,1024]for Index := 0 to |ImageFiles|-1 by 1read_image (Image, ImageFiles[Index])find_caltab (Image, TmpObj_PlateRegion, 'E:/calibration_description/caltab_123mm.descr', 3, 112, 5) find_marks_and_pose (Image, TmpObj_PlateRegion, 'E:/calibration_description/caltab_123mm.descr', StartParameters, 128, 10, 18, 0.9, 15, 100, TmpCtrl_MarkRows, TmpCtrl_MarkColumns, TmpCtrl_EstimatedPose)TmpCtrl_AllMarkRows := [TmpCtrl_AllMarkRows, TmpCtrl_MarkRows]TmpCtrl_AllMarkColumns := [TmpCtrl_AllMarkColumns, TmpCtrl_MarkColumns]TmpCtrl_StartPoses := [TmpCtrl_StartPoses, TmpCtrl_EstimatedPose]endforcaltab_points('E:/calibration_description/caltab_123mm.descr', TmpCtrl_X, TmpCtrl_Y, TmpCtrl_Z)camera_calibration (TmpCtrl_X, TmpCtrl_Y, TmpCtrl_Z, TmpCtrl_AllMarkRows, TmpCtrl_AllMarkColumns, StartParameters, TmpCtrl_StartPoses, 'all', CameraParameters, TmpCtrl_FinalPoses, TmpCtrl_Errors)tuple_select_range (TmpCtrl_FinalPoses, 7*TmpCtrl_ReferenceIndex, 7*TmpCtrl_ReferenceIndex + 6, CameraPose)set_origin_pose (CameraPose, 0.0, 0.0, 0.001, CameraPose)stop ()一、读入图像,函数如下list_files ('E:/calibration_image', 'files', ImageFiles)for Index := 0 to |ImageFiles|-1 by 1read_image(Image, ImageFiles[Index])endfor注释:'E:/calibration_image':为图像路径,图像文件索引是从0开始的,所以|ImageFiles|(文件数量)减去1。
halcon函数详解

功能:从一个支持向量机的训练数据返回一个训练 样本。 10. get_sample_num_class_svm
功能:返回存储在一个支持向量机训练数据中的训 练样本的数量。
11. get_support_vector_class_svm 功能:从一个训练过的支持向量机返回一个支持向
支持语言:HDevelop 参数:DrawMode 缺省值: 'fill' 有 描效 述参:d数ev列_s表e:t_'fdillr'a,w'm定a义rg填in充' 模式的区域。 如果DrawMode设置 为“fill”,显示的区 域都填充;如果设置为“margin”,只显示轮 廓。在“margin”的模式,外观的轮廓,受到 de返v_回se结t_果li:ne无_w返i回dt值h,。set_line_approx和
新增资料样式: 函数编号:函数名 功能:XXXXXXX 支持语言: 如果是全语言的,那么列举:C++下面的一种格式否则列举 HDevelop的格式 参数: 参数名
并行性:
注意:需要注意的地方 描述:该函数详细解释。 前驱:一般需要先使用什么函数再使用该函数。 后继:一般用于后续哪些函数 替代项/改进: 相关函数:
功能:通过一个多层感知器计算一个特征向量的类 。 3. clear_all_class_mlp
功能:清除所有多层感知器。 4. clear_class_mlp
功能:清除一个多层感知器。 5. clear_samples_class_mlp
功能:清除一个多层感知器的训练数据。 6. create_class_mlp
halcon write_shape_model

Halcon write_shape_model?Halcon是一种功能强大的机器视觉开发工具,它拥有丰富的图像处理和模式识别功能,可以帮助用户快速、高效地实现各种视觉任务。
其中,write_shape_model是Halcon中用于创建形状模型的函数之一,它可以将输入的形状描述信息保存为一个模型文件,方便后续的模式匹配和识别任务。
本文将围绕Halcon的write_shape_model函数展开讨论,包括其基本原理、使用方法和注意事项等内容。
一、write_shape_model的基本原理在介绍write_shape_model的具体用法之前,我们先来了解一下它的基本原理。
write_shape_model函数的主要作用是将输入的形状描述信息保存为一个模型文件,这样就可以在后续的应用中直接加载模型文件进行模式匹配和识别。
形状描述信息通常包括目标的外形特征、边界轮廓、角点位置等,这些信息可以通过图像处理和特征提取等技术得到。
write_shape_model会将这些信息整合并保存为一个文件,以便后续的匹配任务使用。
二、write_shape_model的使用方法下面我们来看一下write_shape_model函数的具体使用方法。
在使用write_shape_model之前,我们首先需要获取目标的形状描述信息,通常可以通过find_shape_model等函数进行提取。
一旦获取到了形状描述信息,就可以使用write_shape_model将其保存为模型文件。
具体的调用方式如下:1. 定义模型文件的路径和名称在使用write_shape_model函数之前,我们需要先定义好模型文件的路径和名称。
可以选择将模型文件保存在本地文件系统中,也可以将其保存在网络存储设备或者数据库中。
不过需要注意的是,模型文件的路径和名称必须是唯一的,以确保后续的识别任务能够正确加载。
2. 调用write_shape_model函数进行保存一旦定义好了模型文件的路径和名称,就可以调用write_shape_model函数进行保存。
HALCON函数介绍

HALCON函数介绍HALCON函数介绍(转)sobel_amp( Image : EdgeAmplitude : FilterType, Size : )根据图像的一次导数计算图像的边缘close_edges( Edges, EdgeImage : RegionResult : MinAmplitude : )close_edges_length( Edges, Gradient : ClosedEdges : MinAmplitude, MaxGapLength : ) 使用边缘高度图像关闭边缘间隙。
输出的区域包含杯关闭的区域。
(感觉是对边缘的扩充)derivate_gauss( Image : DerivGauss : Sigma, Component : )watersheds( Image : Basins, Watersheds : : )从图像中提取风水岭。
zero_crossing( Image : RegionCrossing : : )零交点(二次导数)diff_of_gauss( Image : DiffOfGauss : Sigma, SigFactor : )近似日志算子( 拉普拉斯高斯) 。
laplace_of_gauss( Image : ImageLaplace : Sigma : )拉普拉斯高斯edges_color_sub_pix( Image : Edges : Filter, Alpha, Low, High : )精确的亚像素边缘提取(彩色图像)edges_sub_pix( Image : Edges : Filter, Alpha, Low, High : )精确边缘提取的亚像素(灰度图像)edges_color( Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )根据颜色进行边缘提取edges_image( Image : ImaAmp, ImaDir : Filter, Alpha, NMS, Low, High : )边缘提取skeleton( Region : Skeleton : : )计算区域的框架Skeleton == Regionfrei_amp( Image : ImageEdgeAmp : : )Frei-chen模板进行边缘检测(振幅)frei_dir( Image : ImageEdgeAmp, ImageEdgeDir : : ) Frei-chen 模板进行边缘检测(振幅和方向)nonmax_suppression_dir( ImgAmp, ImgDir : ImageResult : Mode : )使用方向图像抑制所有的超过给定最大值的图像灰度值的点gen_contours_skeleton_xld( Skeleton : Contours : Length, Mode : ) 将系统框架转换成XLD轮廓laplace( Image : ImageLaplace : ResultType, MaskSize, FilterMask : )使用有限差分计算拉普拉斯变换info_edges( : : Filter, Mode, Alpha : Size, Coeffs )估计滤波器的宽度kirsch_dir( Image : ImageEdgeAmp, ImageEdgeDir : : )使用Kirsch算子计算出边缘(振幅和方向)prewitt_amp( Image : ImageEdgeAmp : : )使用Prewitt 算子计算出边缘(振幅)kirsch_amp( Image : ImageEdgeAmp : : ) 使用Kirsch 算子计算出边缘(振幅)highpass_image( Image : Highpass : Width, Height : )从高频成分提取的图像。
halcon xml文件处理函数

一、什么是Halcon XML文件处理函数Halcon XML文件处理函数是指用于在Halcon编程语言中处理XML文件的一系列函数。
XML(Extensible Markup Language)是一种标记语言,它被设计用来传输和存储数据,同时也可以表示结构化的文档。
在Halcon中,XML文件处理函数可以让程序员方便地读取和修改XML文件,从而实现对数据的处理和管理。
二、Halcon XML文件处理函数的基本用法1. 读取XML文件Halcon提供了open_xml_file函数来读取XML文件。
该函数的基本语法如下:open_xml_file (FileName: 'path_or_url', Mode: 'r', GenParamName, GenParamValue, XMLData)其中,FileName是要打开的文件路径或URL,Mode可以是‘r’表示只读,‘w’表示写入。
GenParamName和GenParamValue是用来指定一些参数的,XMLData是输出的XML数据。
2. 创建XML文件使用create_xml_file函数可以在Halcon中创建一个新的XML文件。
其基本语法如下:create_xml_file (FileName: 'path_or_url', XMLData)其中,FileName是要创建的文件路径或URL,XMLData是输入的XML数据。
3. 修改和保存XML文件Halcon提供了相应的函数来对XML文件进行修改和保存。
一般来说,可以先使用open_xml_file函数来读取XML文件,然后对XMLData进行修改,最后使用save_xml_file函数来保存修改后的XML文件。
4. 查询和遍历XML文件Halcon还提供了一系列的函数来进行XML文件的查询和遍历。
get_xml_node_info函数可以获取XML节点的信息,get_xml_node_data可以获取XML节点的数据,get_xml_node_child可以获取某个节点的子节点,等等。
Halcon函数(不断更新)

Halcon函數(不斷更新)comment ( : : Comment : ) 注釋語句exit ( : : : ) 退出函數open_file ( : : FileName, FileType : FileHandle ) 創建('output' or 'append' )或者打開(output )文本文件fwrite_string ( : : FileHandle, String : ) 寫入stringdev_close_window ( : : : ) 關閉活躍的圖形窗口。
read_image ( : Image : FileName : ) ;加載圖片get_image_pointer1 ( Image : : : Pointer, Type, Width, Height )獲得圖像的數據。
如:類型(= ' 字節',' ' ',uint2 int2 等等) 和圖像的尺寸(的寬度和高度)dev_open_window( : :Row,Column,WidthHeight,Background :WindowHandle ) 打開一個圖形的窗口。
dev_set_part ( : : Row1, Column1, Row2, Column2 : ) 修改圖像顯示的位置dev_set_draw (』fill』) 填滿選擇的區域dev_set_draw (』margin』) 顯示的對象只有邊緣線,dev_set_line_width (3) 線寬用Line Width 指定threshold ( Image : Region : MinGray, MaxGray : ) 選取從輸入圖像灰度值的g 滿足下列條件:MinGray < = g < = MaxGray 的像素。
dev_set_colored (number) 顯示region 是用到的顏色數目dev_set_color ( : : ColorName : ) 指定顏色connection ( Region : ConnectedRegions : : ) 合並所有選定像素觸摸相互連通區fill_up ( Region : RegionFillUp : : ) 填補選擇區域中空洞的部分fill_up_shape ( Region : RegionFillUp : Feature, Min, Max : )select_shape ( Regions : SelectedRegions : Features, Operation, Min, Max : ) 選擇帶有某些特征的區域,Operation 是運算,如「與」「或」smallest_rectangle1 ( Regions : : : Row1, Column1, Row2, Column2 ) 以矩形像素坐標的角落,Column1,Row2(Row1,Column2) 計算矩形區域( 平行輸入坐標軸) 。
halcon concat函数

halcon concat函数Halcon concat函数是一种用于字符串拼接的函数,它可以将多个字符串连接成一个字符串。
在Halcon的开发中,concat函数非常常用,可以帮助我们实现各种字符串处理的需求。
我们需要了解concat函数的基本用法。
concat函数的语法是concat(String1, String2, ..., StringN),其中String1到StringN是要连接的字符串。
concat函数会按照参数的顺序将字符串连接起来,并返回一个新的字符串作为结果。
例如,如果我们调用concat("Hello", " ", "world"),函数将返回"Hello world"。
除了常规的字符串连接外,concat函数还支持多种高级用法。
首先,我们可以使用concat函数实现字符串的重复拼接。
例如,如果我们调用concat("Halcon ", "is ", concat("powerful ", "software")),函数将返回"Halcon is powerful software"。
通过嵌套使用concat函数,我们可以实现更加复杂的字符串拼接。
concat函数还可以与其他Halcon字符串处理函数结合使用,实现更多的功能。
例如,我们可以使用concat函数将字符串的首尾空格去除,通过调用strip函数实现。
具体操作是先使用concat函数将字符串两端加上一个空格,再使用strip函数将空格去除。
这样,我们就可以快速实现字符串的去除空格操作。
在使用concat函数时,我们需要注意一些细节。
首先,concat函数只接受字符串作为参数,如果传入其他类型的参数,函数将报错。
其次,concat函数对于特殊字符的处理需要特别注意。
Halcon学习(21)摄像机标定常用函数(二)

Halcon学习(二十一)摄像机标定常用函数(二)1.read_cam_par( : : CamParFile : CameraParam)从文件夹中读取相机的内参数。
2.disp_caltab( : : WindowHandle, CalTabDescrFile, CameraParam, CaltabPose, ScaleFac : )利用相机内外参数,把标定板模型投影到图像平面,显示标定点和连接线,X,Y轴也被显示出来。
3.vector_to_pose( : : WorldX, WorldY, WorldZ, ImageRow, ImageColumn, CameraParam,Method , QualityType : Pose, Quality)计算世界坐标和图像坐标之间关系的绝对位姿参数。
其中世界坐标至少选择不在同一条直线上的三个点。
世界坐标上的点如果在一个平面上,应该选择'planar_analytic' 作为Method的参数。
输出位姿和位姿质量。
4.write_pose( : : Pose, PoseFile : )把位姿写入TXT文件。
5.get_mbutton( : : WindowHandle : Row, Column, Button)返回鼠标点击的图像点像素坐标,以及鼠标按钮值,左键0,中间键2,右键4.6.image_points_to_world_plane( : : CameraParam, WorldPose, Rows, Cols, Scale : X,Y)把图像坐标转化成Z=0平面的世界坐标,输出为世界坐标的X,Y7.pose_to_hom_mat3d( : : Pose : HomMat3D)把3D位姿转化成齐次变换矩阵。
8.affine_trans_point_3d( : : HomMat3D, Px, Py, Pz : Qx, Qy, Qz)进行两个坐标系之间的3D坐标的仿射变换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
halcon 本地函数
Halcon是一个强大的机器视觉软件库,提供了一系列的函数和工具,用于
处理和分析图像数据。
在Halcon中,本地函数(HDevelop)是一种特殊
的函数,用于在HDevelop环境中进行图像处理和分析。
本地函数通常用于执行特定的图像处理任务,例如图像增强、特征提取、目标检测等。
这些函数通常由Halcon的开发人员编写,并在HDevelop环境中提供。
通过使用本地函数,用户可以更加灵活地定制和扩展Halcon的功能。
要使用本地函数,您需要先在HDevelop环境中创建一个新的程序或脚本,然后导入所需的本地函数库。
您可以使用Halcon的API或HDevelop的脚本语言来调用这些函数,并传递适当的参数以执行所需的图像处理任务。
请注意,本地函数的可用性和功能可能因Halcon版本而异。
要获取更多关于本地函数的信息,请参考Halcon的官方文档或与Halcon的支持团队联系。