HALCON算子函数整理7 Image
HALCON 算子函数 整理 1-19章

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 map_image原理

halcon map_image原理Halcon Map_Image原理Halcon是一款广泛应用于机器视觉领域的图像处理软件,其中的Map_Image函数是其重要的功能之一。
本文将围绕着Halcon Map_Image的原理进行详细介绍。
一、Map_Image函数的作用Map_Image函数在Halcon中用于将输入图像中的像素值映射到输出图像中。
通过该函数,用户可以对图像进行灰度映射、颜色映射和像素值转换等操作,以实现对图像的增强、调整和处理。
二、Map_Image函数的参数Map_Image函数的参数包括输入图像(Image),输出图像(Image), 映射类型(Type)和映射参数(Param)等。
其中,输入图像为待处理的原始图像,输出图像为处理后的结果图像。
映射类型决定了如何映射像素值,常见的类型有线性映射、非线性映射和颜色映射等。
映射参数则根据映射类型的不同提供不同的设置选项,以满足用户对图像处理的需求。
三、Map_Image的实现原理Map_Image函数的实现原理主要分为以下几个步骤:1. 参数检查:首先,Halcon会对输入的图像、映射类型和映射参数进行合法性检查,确保输入的图像和参数符合要求。
2. 图像分析:Halcon会对输入图像进行分析,获取图像的尺寸、分辨率和通道数等信息。
3. 空白图像生成:根据输入图像的信息,Halcon会生成一个与输入图像大小相同的空白图像,用于存储处理后的结果。
4. 像素值映射:根据映射类型和映射参数,Halcon会对输入图像中的每个像素值进行映射计算,并将结果存储到输出图像中的对应位置。
5. 结果显示:最后,Halcon会将输出图像显示在屏幕上,供用户查看和进一步处理。
四、Map_Image的应用场景Map_Image函数在机器视觉领域有着广泛的应用场景,如图像增强、图像调整、目标检测、图像分割等。
通过对图像的像素值进行映射,可以使图像的亮度、对比度、颜色等特征得到调整和增强,从而提高图像处理的效果和准确度。
HALCON算子函数(六)Graphics

HALCON算子函数(六)GraphicsHALCON 算子函数——Chapter 6 : Graphics 6.1 Drawing1. drag_region1功能:一个区域的交互运动。
2. drag_region2功能:一个带有定点规格区域的交互运动。
3. drag_region3功能:一个带有限制位置区域的交互运动。
4. draw_circle功能:一个圆的交互绘图。
5. draw_circle_mod功能:一个圆的交互绘图。
6. draw_ellipse功能:一个椭圆的交互绘图。
7. draw_ellipse_mod_功能:一个椭圆的交互绘图。
8. draw_line功能:画一根线。
9. draw_line_mod功能:画一根线。
10. draw_nurbs功能:一个NURBS曲线的交互绘图。
11. draw_nurbs_interp功能:使用插值的一个NURBS曲线的交互绘图。
12. draw_nurbs_interp_mod功能:使用插值的一个NURBS曲线的交互修正。
13. draw_nurbs_mod功能:一个NURBS曲线的交互修正。
14. draw_point功能:画一个点。
15. draw_point_mod功能:画一个点。
16.draw_polygon功能:一个多边形的交互绘图。
17. draw_rectangle1功能:画一个与坐标轴平行的矩形。
18. draw_rectangle1_mod功能:画一个与坐标轴平行的矩形。
19. draw_rectangle2功能:任意定向矩形的交互绘图。
20. draw_rectangle2_mod功能:任意定向矩形的交互绘图。
21. draw_region功能:一个闭区域的交互绘图。
22. draw_xld功能:一个轮廓的交互绘图。
23. draw_xld_mod功能:一个轮廓的交互修正。
6.2 Gnuplot1. gnuplot_close功能:关闭所有打开的gnuplot文件或者终止一个活动的gnuplot子流程。
HALCON中的算子大全(中英对照)

功能:停止程序执行。 18.until 功能:继续执行主体,只要条件是不真实的。 19. while 功能:继续执行主体,只要条件是真实的。
Chapter3 :Develop 1.dev_clear_obj 功能:从 HALCON 数据库中删除一个图标。 2. dev_clear_window 功能:清除活动图形窗口。 3. dev_close_inspect_ctrl 功能:关闭一个控制变量的监视窗口。 4. dev_close_window 功能:关闭活动图形窗口。 5. dev_display 功能:在现有图形窗口中显示图像目标。 6. dev_error_var 功能:定义或者不定义一个错误变量。 7. dev_get_preferences 功能:通过设计查询 HDevelop 的参数选择。 8. dev_inspect_ctrl 功能:打开一个窗口来检查一个控制变量。 9. dev_map_par 功能:打开一个对话框来指定显示参数。 10. dev_map_prog 功能:使 HDevelop 的主窗口可视化。 11. dev_map_var 功能:在屏幕上绘制可视化窗口。 12. dev_open_window 功能:打开一个图形窗口。 13. dev_set_check 功能:指定错误处理。 14. dev_set_color 功能:设置一个或更多输出颜色。 15. dev_set_colored 功能:设置混合输出颜色。 16. dev_set_draw 功能:定义区域填充模式。 17. dev_set_line_width 功能:定义区域轮廓输出的线宽。 18. dev_set_lut 功能:设置查询表(lut). 19. dev_set_paint
HALCON算子函数(七)Image

HALCON算子函数(七)ImageHALCON 算子函数——Chapter 7 : Image7.1 Access1. get_grayval功能:获取一个图像目标的灰度值。
2. get_image_pointer1功能:获取一个通道的指针。
3. get_image_pointer1_rect功能:获取图像数据指针和输入图像区域内最小矩形内部的图像数据。
4. get_image_pointer3功能:获取一个彩色图像的指针。
5. get_image_time功能:查找图像被创建的时间。
7.2 Acquisition1. close_all_framegrabbers功能:关闭所有图像获取设备。
2. close_framegrabber功能:关闭指定的图像获取设备。
3. get_framegrabber_lut功能:查找图像获取设备的查询表。
4. get_framegrabber_param功能:查找一个图像获取设备的指定参数。
5. grab_data功能:从指定的图像获取设备获取图像和预处理图像数据。
6. grab_data_async功能:从指定的图像获取设备获取图像和预处理图像数据并且开始下一个异步获取。
7. grab_image功能:从指定的图像获取设备获取一个图像。
8. grab_image_async功能:从指定的图像获取设备获取一个图像并且开始下一个异步获取。
9. grab_image_start功能:从指定的图像获取设备开始下一个异步获取。
10. info_framegrabber功能:从指定的图像获取设备查找信息。
11. open_framegrabber功能:打开并配置一个图像获取设备。
12. set_framegrabber_lut功能:设置图像获取设备查询表。
13. set_framegrabber_param功能:设置一个图像获取设备的指定参数。
7.3 Channel1. access_channel功能:获取一个多通道图像的一个通道。
Halcon十九类算子汇总

HALCON算子一Classification1.1 Gaussian-Mixture-Models1.add_sample_class_gmm把一个训练样本添加到一个高斯混合模型的训练数据上。
2.classify_class_gmm通过一个高斯混合模型来计算一个特征向量的类。
3. clear_all_class_gmm清除所有高斯混合模型。
4. clear_class_gmm清除一个高斯混合模型。
5. clear_samples_class_gmm清除一个高斯混合模型的训练数据。
6. create_class_gmm为分类创建一个高斯混合模型。
7.evaluate_class_gmm通过一个高斯混合模型评价一个特征向量。
8. get_params_class_gmm返回一个高斯混合模型的参数。
9. get_prep_info_class_gmm计算一个高斯混合模型的预处理特征向量的信息内容。
10. get_sample_class_gmm从一个高斯混合模型的训练数据返回训练样本。
11. get_sample_num_class_gmm返回存储在一个高斯混合模型的训练数据中的训练样本的数量。
12. read_class_gmm从一个文件中读取一个高斯混合模型。
13. read_samples_class_gmm从一个文件中读取一个高斯混合模型的训练数据。
14. train_class_gmm训练一个高斯混合模型。
15. write_class_gmm向文件中写入一个高斯混合模型。
16. write_samples_class_gmm向文件中写入一个高斯混合模型的训练数据。
1.2 Hyperboxes1. clear_sampset释放一个数据集的内存。
2. close_all_class_box清除所有分类器。
3. close_class_box清除分类器。
4. create_class_box创建一个新的分类器。
halcon测量空间点到直线的算子

Halcon测量空间点到直线的算子1. 简介Halcon是一种强大的机器视觉库,提供了丰富的图像处理和测量算法。
本文将介绍Halcon中用于测量空间点到直线的算子。
2. 算法原理测量空间点到直线的算法基于点到直线的距离公式。
给定一个空间点和一条直线,可以通过计算点到直线的距离来测量它们之间的关系。
点到直线的距离公式为:distance = |(a * x + b * y + c) / sqrt(a^2 + b^2)|其中,(x, y)是点的坐标,a和b是直线的方向向量,c是直线的截距。
3. Halcon中的测量算子Halcon提供了多个用于测量空间点到直线的算子,包括distance_pl、distance_pl_dist和distance_pl_points。
3.1 distance_pldistance_pl算子用于计算点到直线的距离。
它接受直线的参数和点的坐标作为输入,并返回点到直线的距离。
示例代码如下:gen_parallel_line (Line, X1, Y1, X2, Y2)distance_pl (Line, PointX, PointY, Distance)其中,gen_parallel_line用于生成一条直线,Line是直线的参数,(X1, Y1)和(X2, Y2)是直线上的两个点的坐标,PointX和PointY是点的坐标,Distance是点到直线的距离。
3.2 distance_pl_distdistance_pl_dist算子用于计算一组点到直线的距离。
它接受直线的参数和点的坐标数组作为输入,并返回每个点到直线的距离。
示例代码如下:gen_parallel_line (Line, X1, Y1, X2, Y2)distance_pl_dist (Line, PointsX, PointsY, Distances)其中,PointsX和PointsY是点的坐标数组,Distances是点到直线的距离数组。
Halcon算子笔记3_相机标定+矫正图像

Map_image.hdev: 矫正图像*关闭窗口dev_close_window ()dev_close_window ()*打开指定大小、颜色背景的窗口dev_open_window (0, 0, 768/2, 576/2, 'black', WindowHandle1)dev_update_pc ('off')dev_update_window ('off')dev_update_var ('off')dev_update_time ('off')dev_set_draw ('margin')dev_set_line_width (3)** Calibrate the camera.(标定相机)步骤一** 标定板描述文件CaltabName := 'caltab_big.descr'* make sure that the file 'CaltabDescrName' is in the current directory,* the HALCONROOT/calib directory, or use an absolut path*初始相机参数:焦距、畸变系数Kappa,Sx,Sy,Cx,Cy,ImageWidth,ImageHeight StartCamPar := [0.008,0,0.0000086,0.0000086,384,288,768,576]*物体在空间坐标系中的位姿数组NStartPose := []*行角点数组NRow := []*列角点数组NCol := []*X、Y、Z从标定表文件获取计算值caltab_points (CaltabName, X, Y, Z)*创建空的图像元组gen_empty_obj (Images)*图像的数目NumImages := 10*接下来for循环,依次读取、处理NumImages张图像for I := 1 to NumImages by 1*读取图像:Image得到图像数据read_image (Image, 'calib/calib-3d-coord-'+I$'02d')*将单个Image加入元组Images中concat_obj (Images, Image, Images)*显示Imagedev_display (Image)*在图像中找到标定板的区域:图像,标定板描述文件,滤波核大小,二值化值find_caltab (Image, Caltab, CaltabName, 3, 112, 5)*设置区域颜色:绿色dev_set_color ('green')*显示图像中标定板的区域dev_display (Caltab)*(核心函数:搜寻图像的原始点)在图像中找到标定板的各个角点坐标和初始位姿find_marks_and_pose (Image, Caltab, CaltabName, StartCamPar, 128, 10, 18, 0.9, 15, 100, RCoord, CCoord, StartPose)*设置颜色:红色dev_set_color ('red')*在窗口上圆形标记角点的位置disp_circle (WindowHandle1, RCoord, CCoord, gen_tuple_const(|RCoord|,1.5))*一个图像位姿加入位姿元组NStartPose := [NStartPose,StartPose]*所有图像角点行坐标数组相连NRow := [NRow,RCoord]*所有图像角点列坐标数组相连NCol := [NCol,CCoord]endfordev_update_time ('on')disp_continue_message (WindowHandle1, 'black', 'true')stop ()** Calculate the mapping.(计算带矫正信息的图像)步骤二**(核心函数)标定相机参数,对步骤一的数据进行计算处理camera_calibration (X, Y, Z, NRow, NCol, StartCamPar, NStartPose, 'all', CamParam, NFinalPose, Errors)*生成空的对象:包含矫正映射信息的图像gen_empty_obj (Maps)*for循环一次处理一组对应的图像for NumImage := 1 to NumImages by 1* Obtain the pose of the calibration table.*获取标定出来的位姿3DPose := NFinalPose[(NumImage-1)*7:(NumImage-1)*7+6]*设置新的原始3D位姿set_origin_pose (Pose, -1.125, -1.0, 0, PoseNewOrigin)*(核心函数)生成带矫正映射信息的图像MapSinglegen_image_to_world_plane_map (MapSingle, CamParam, PoseNewOrigin, 768, 576, 900, 800, 0.0025, 'bilinear')*将单张图像加入图像元组Mapsconcat_obj (Maps, MapSingle, Maps)endfordisp_continue_message (WindowHandle1, 'black', 'true')stop ()*代码到此处:有了NumImages张标定的原图+ NumImages张带矫正映射信息的图像,*接下来While循环,一张一张的矫正图像** Map the images.(矫正图像)步骤三**窗口设置dev_open_window (0, 391, 900/2, 800/2, 'black', WindowHandle2)Button := 0NumImage := 1while (Button # 1)dev_set_window (WindowHandle1)dev_set_part (0, 0, 575, 767)dev_clear_window ()*从图像元组中选择一张图像select_obj (Images, Image, NumImage)*显示选择的图像dev_display (Image)disp_message (WindowHandle1, 'Press any mouse button to stop', 'image', -1, -1, 'black', 'true')*选择对应位置的带矫正信息的图像select_obj (Maps, MapSingle, NumImage)*(核心函数)矫正图像:原图,带矫正信息图,矫正结果图map_image (Image, MapSingle, ImageMapped)*以下为窗口、循环之类的处理,与图像处理没什么关系dev_set_window (WindowHandle2)dev_set_part (0, 0, 799, 899)dev_clear_window ()dev_display (ImageMapped)NumImage := NumImage + 1if (NumImage > NumImages)NumImage := 1endifdev_error_var (Error, 1)dev_set_check ('~give_error')get_mposition (WindowHandle1, R, C, Button)dev_error_var (Error, 0)dev_set_check ('give_error')if (Error#H_MSG_TRUE)Button := 0endifif (Button)breakendifendwhiledev_set_window (WindowHandle2) dev_close_window ()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HALCON算子函数——Chapter 7 : Image7.1 Access1. get_grayval功能:获取一个图像目标的灰度值。
2. get_image_pointer1功能:获取一个通道的指针。
3. get_image_pointer1_rect功能:获取图像数据指针和输入图像区域内最小矩形内部的图像数据。
4. get_image_pointer3功能:获取一个彩色图像的指针。
5. get_image_time功能:查找图像被创建的时间。
7.2 Acquisition1. close_all_framegrabbers功能:关闭所有图像获取设备。
2. close_framegrabber功能:关闭指定的图像获取设备。
3. get_framegrabber_lut功能:查找图像获取设备的查询表。
4. get_framegrabber_param功能:查找一个图像获取设备的指定参数。
5. grab_data功能:从指定的图像获取设备获取图像和预处理图像数据。
6. grab_data_async功能:从指定的图像获取设备获取图像和预处理图像数据并且开始下一个异步获取。
7. grab_image功能:从指定的图像获取设备获取一个图像。
8. grab_image_async功能:从指定的图像获取设备获取一个图像并且开始下一个异步获取。
9. grab_image_start功能:从指定的图像获取设备开始下一个异步获取。
10. info_framegrabber功能:从指定的图像获取设备查找信息。
11. open_framegrabber功能:打开并配置一个图像获取设备。
12. set_framegrabber_lut功能:设置图像获取设备查询表。
13. set_framegrabber_param功能:设置一个图像获取设备的指定参数。
7.3 Channel1. access_channel功能:获取一个多通道图像的一个通道。
2. append_channel功能:把附加模型(通道)添加到图像上。
3. channels_to_image功能:把单通道图像转变为一个多通道图像。
4. compose2功能:把两个图像转变为一个两通道图像。
5. compose3功能:把三个图像转变为一个三通道图像。
6. compose4功能:把四个图像转变为一个四通道图像。
7. compose5功能:把五个图像转变为一个五通道图像。
8. compose6功能:把六个图像转变为一个六通道图像。
9. compose7功能:把七个图像转变为一个七通道图像。
10. count_channels功能:计算图像的通道。
11. decompose2功能:把一个两通道图像转变为两个图像。
12. decompose3功能:把一个三通道图像转变为三个图像。
13. decompose4功能:把一个四通道图像转变为四个图像。
14. decompose5功能:把一个五通道图像转变为五个图像。
15. decompose6功能:把一个六通道图像转变为六个图像。
16. decompose7功能:把一个七通道图像转变为七个图像。
17. image_to_channels功能:把一个多通道图像转变为一个通道图像。
7.4 Creation1. copy_image功能:复制一个图像并为它分配新内存。
2. gen_image1功能:从像素的一个指针创建一个图像。
3. gen_image1_extern功能:从带存储管理的像素的一个指针创建一个图像。
4. gen_image1_rect功能:从像素(带存储管理)的指针创建一个矩形区域的图像。
5. gen_image3功能:从像素(红、绿、蓝)的三个指针创建一个图像。
6. gen_image_const功能:创建一个固定灰度值的图像。
7. gen_image_gray_ramp功能:创建一个灰度值阶梯。
8. gen_image_interleaved功能:从交叉像素的一个指针创建一个三通道图像。
9. gen_image_proto功能:创建一个指定的固定灰度值的图像。
10. gen_image_surface_first_order功能:创建一阶多项式的一个弯曲灰度表面。
11. gen_image_surface_second_order功能:创建二阶多项式的一个弯曲灰度表面。
12. region_to_bin功能:把一个区域转变为一个二进制字节图像。
13. region_to_label功能:把区域转变为一个标签图像。
14. region_to_mean功能:用它们的平均灰度值绘制区域。
7.5 Domain1. add_channels功能:把两个灰度值添加到区域中。
2. change_domain功能:改变一个图像的定义区间。
3. full_domain功能:把一个图像的区域扩大到最大值。
4. get_domain功能:获取一个图像的区域。
5. rectangle1_domain功能:把一个图像的区域缩小到一个矩形。
6. reduce_domain功能:缩小一个图像的区域。
7.6 Features1. area_center_gray功能:计算一个灰度值图像的区域面积和重心。
2. cooc_feature_image功能:计算一个同时出现的矩阵并得出相关灰度值特征。
3. cooc_feature_matrix功能:从一个同时出现的矩阵计算灰度值特征。
4. elliptic_axis_gray功能:在一个灰度值图像中计算一个区域的方位和主轴。
5. entropy_gray功能:确定一个图像的熵和各向异性。
6. estimate_noise功能:从一个单一图像估计图像噪声。
7. fit_surface_first_order功能:通过一个一阶表面(平面)计算灰度值力矩和近似值。
8. fit_surface_second_order功能:通过一个二阶表面(平面)计算灰度值力矩和近似值。
9. fuzzy_entropy功能:确定区域的模糊熵。
10. fuzzy_perimeter功能:计算一个区域的模糊周长。
11. gen_cooc_matrix功能:在一个图像中计算一个区域中同时出现的矩阵。
12. gray_histo功能:计算灰度值分布。
13. gray_histo_abs功能:计算灰度值分布。
14. gray_projections功能:计算水平和垂直灰度值预测。
15. histo_2dim功能:计算两通道灰度值图像的直方图。
16. intensity功能:计算灰度值的平均值和偏差。
17. min_max_gray功能:计算区域内的最大和最小灰度值。
18. moments_gray_plane功能:通过一个平面计算灰度值力矩和近似值。
19. plane_deviation功能:从近似像平面计算灰度值的偏差。
20. select_gray功能:选择基于灰度值特征的区域。
21. shape_histo_all功能:用极限值确定特征的一个直方图。
22. shape_histo_point功能:用极限值确定特征的一个直方图。
7.7 Format1. change_format功能:改变图像大小。
2. crop_domain功能:去掉确定的灰度值。
3. crop_domain_rel功能:去掉和定义域有关的图像区域。
4. crop_part功能:去掉一个矩形图像区域。
5. crop_rectangle1功能:去掉一个矩形图像区域。
6. tile_channels功能:把多重图像拼成一个大图像。
7. tile_images功能:把多重图像目标拼成一个大图像。
8. tile_images_offset功能:把多重图像目标拼成一个有确定的位置信息的大图像。
7.8 Manipulation1. overpaint_gray功能:重新绘制一个图像的灰度值。
2. overpaint_region功能:重新绘制一个图像的区域。
3. paint_gray功能:把一个图像的灰度值画在另一个图像上。
4. paint_region功能:把区域画在一个图像中。
5. paint_xld功能:把XLD目标画在一个图像中。
6.set_grayval功能:在一个图像中设置单灰度值。
7.9 Type-Conversion1. complex_to_real功能:把一个复杂图像转变为两个实际图像。
2. convert_image_type功能:转变一个图像的类型。
3. real_to_complex功能:把两个实际图像转变为一个复杂图像。
4. real_to_vector_field功能:把两个实值图像转变为一个矢量域图像。
5. vector_field_to_real功能:把一个矢量域图像转变为两个实值图像。