HALCON算子函数整理7 Image

合集下载

HALCON 算子函数 整理 1-19章

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函数是其重要的功能之一。

本文将围绕着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算子函数(六)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中的算子大全(中英对照)

HALCON中的算子大全(中英对照)
1.4 Support-Vector-Machines 1. add_sample_class_svm 功能:把一个训练样本添加到一个支持向量机的训练数据上。 2. classify_class_svm 功能:通过一个支持向量机为一个特征向量分类。 3. clear_all_class_svm 功能:清除所有支持向量机。 4. clear_class_svm 功能:清除一个支持向量机。 5. clear_samples_class_svm 功能:清除一个支持向量机的训练数据。 6. create_class_svm 功能:为模式分类创建一个支持向量机。 7. get_params_class_svm 功能:返回一个支持向量机的参数。 8. get_prep_info_class_svm 功能:计算一个支持向量机的预处理特征向量的信息内容。 9. get_sample_class_svm 功能:从一个支持向量机的训练数据返回一个训练样本。 10. get_sample_num_class_svm 功能:返回存储在一个支持向量机训练数据中的训练样本的数量。 11. get_support_vector_class_svm 功能:从一个训练过的支持向量机返回一个支持向量的索引。 12. get_support_vector_num_class_svm 功能:返回一个支持向量机的支持向量的数量。 13. read_class_svm 功能:从一个文件中读取一个支持向量机。 14. read_samples_class_svm
功能:停止程序执行。 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算子函数(七)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十九类算子汇总

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测量空间点到直线的算子

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_相机标定+矫正图像

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 ()。

HALCON算子中文解释

HALCON算子中文解释

HALCON算子中文解释HALCON算子函数——Chapter 5 : Filter 5.1 Arithmetic 1. abs_image功能:计算一个图像的绝对值(模数)。

2. add_image功能:使两个图像相加。

3. div_image功能:使两个图像相除。

4. invert_image功能:使一个图像反像。

5. max_image功能:按像素计算两个图像的最大值。

6. min_image功能:按像素计算两个图像的最大小值。

7. mult_image功能:使两个图像相乘。

8. scale_image功能:为一个图像的灰度值分级。

9. sqrt_image功能:计算一个图像的平方根。

10. sub_image功能:使两个图像相减。

5.2 Bit1. bit_and功能:输入图像的所有像素的逐位与。

2. bit_lshift功能:图像的所有像素的左移。

3. bit_mask功能:使用位掩码的每个像素的逻辑与。

4. bit_not功能:对像素的所有位求补。

5. bit_or功能:输入图像的所有像素的逐位或。

6. bit_rshift功能:图像的所有像素的右移。

7. bit_slice功能:从像素中提取一位。

8. bit_xor功能:输入图像的所有像素的逐位异或。

5.3 Color1. cfa_to_rgb功能:把一个单通道颜色滤波阵列图像变成RGB图像。

2. gen_principal_comp_trans功能:计算多通道图像的主要部分分析的转换矩阵。

3. linear_trans_color功能:计算多通道图像的颜色值的一个仿射转换。

4. principal_comp功能:计算多通道图像的主要部分。

5. rgb1_to_gray功能:把一个RGB图像转变成一个灰度图像。

6. rgb3_to_gray功能:把一个RGB图像转变成一个灰度图像。

7. trans_from_rgb功能:把一个图像从RGB颜色空间转变成任意颜色空间。

halcon derigass_image高斯卷积原理

halcon derigass_image高斯卷积原理

halcon derigass_image高斯卷积原理
Halcon中的derigass_image高斯卷积函数可以用于计算图像的高斯平滑梯度。

其原理如下:
1. 高斯卷积:首先,对输入图像进行高斯平滑操作。

高斯平滑是一种线性平滑滤波器,它通过用周围像素的加权平均值替代每个像素的值,从而减少图像中的噪声。

2. 梯度计算:高斯平滑后的图像被用于计算梯度。

梯度表示图像中像素值的变化率,对于边缘检测非常有用。

常用的梯度算子有Sobel算子、Prewitt算子等。

3. 方向估计:根据计算得到的梯度图像,可以进一步估计每个像素的梯度方向。

边缘的梯度方向通常与边缘的方向相一致。

derigass_image高斯卷积函数将以上三个步骤结合起来,一次性进行高斯平滑、梯度计算和方向估计,返回的结果是一个具有平滑梯度信息的图像。

可以通过调整函数的参数来控制平滑的程度和梯度的计算方式。

halcon中的常用算子的中文说明

halcon中的常用算子的中文说明

sub_image (ImageConverted1, ImageConverted2, ImageSub, 1, 0)一幅图减另一幅图。

用一幅图的灰度减另一幅的灰度成新的一幅图。

mult_image (Image, ImagePart, ImageResult, 0.015, 0)一幅图加一幅成的一幅图convert_image_type (Traffic2, ImageConverted2, 'int2')转换图像的格式crop_part (ImageNoise, ImagePart, 0, 0, Width, Height)取出一幅图的中部分dots_image (ImageResult, DotImage, 5, 'dark', 2)取出图像中圆点partition_dynamic (SelectedRegions, Partitioned, 25, 20)根据各个区域的特征将各个区域分割开。

intersection (Partitioned, Region, Characters)取出两个区域中重叠的部分,如果Region有两个区域在Partitioned中,则这两个区域合并成一区域。

difference (RegionDilation, RegionErosion, RegionDifference) 取出两个区域中不重叠的部分。

critical_points_sub_pix (FilterResponse, 'facet', 1.5, 0.7, RowMin, ColMin, RowMax, ColMax, RowSaddle, ColSaddle)取出图像中的关键点。

corner_response (Image, FilterResponse, 3, 0.04)auto_threshold (Image, Regions, 10)自动阈值分割,根据灰度直方图中两波峰中的波谷取出阈值。

halcon常用算子

halcon常用算子

halcon常用算子Halcon常用算子Halcon是一款强大的机器视觉软件,它提供了许多常用算子,可以帮助用户快速实现图像处理和分析。

本文将介绍Halcon常用算子的使用方法和应用场景。

1. 图像预处理算子图像预处理算子是Halcon中最常用的算子之一,它可以帮助用户对图像进行去噪、平滑、增强等操作。

其中,常用的算子包括:(1)median_image:中值滤波算子,可以有效地去除图像中的噪声。

(2)gauss_image:高斯滤波算子,可以平滑图像并增强图像的边缘。

(3)gradient_image:梯度算子,可以检测图像中的边缘和轮廓。

(4)scale_image:图像缩放算子,可以将图像缩小或放大。

2. 特征提取算子特征提取算子是Halcon中用于检测和识别目标的重要算子,它可以从图像中提取出目标的特征信息。

其中,常用的算子包括:(1)edges_image:边缘检测算子,可以检测图像中的边缘和轮廓。

(2)region_features:区域特征算子,可以提取出图像中的区域特征,如面积、周长、中心点等。

(3)shape_features:形状特征算子,可以提取出图像中的形状特征,如圆度、矩形度、偏心率等。

(4)texture_features:纹理特征算子,可以提取出图像中的纹理特征,如灰度共生矩阵、灰度共生矩阵等。

3. 目标匹配算子目标匹配算子是Halcon中用于目标检测和识别的重要算子,它可以将图像中的目标与模板进行匹配。

其中,常用的算子包括:(1)find_shape_model:形状匹配算子,可以将图像中的目标与形状模板进行匹配。

(2)find_template:模板匹配算子,可以将图像中的目标与灰度模板进行匹配。

(3)find_surface_model:表面匹配算子,可以将图像中的目标与表面模板进行匹配。

(4)find_bar_code:条形码匹配算子,可以将图像中的条形码进行识别和匹配。

halconcreate_class_gmm 算子参数解析

halconcreate_class_gmm 算子参数解析

halconcreate_class_gmm 算子参数解析Halconcreate_class_gmm 是 Halcon 中用于创建高斯混合模型 (GMM) 的算子。

GMM 是一种常用的概率模型,可用于对复杂数据分布进行建模和分类。

算子的参数设置将直接影响模型的准确性和运行效率。

本文将解析 Halconcreate_class_gmm 算子的参数,以便更好地理解和应用该算子。

1. 输入图像参数 (Image)输入图像是 Halconcreate_class_gmm 算子处理的主要数据源。

该参数接受一个灰度图像或彩色图像。

对于多通道的彩色图像,算子将自动将其转换为灰度图像进行处理。

2. 特征参数 (Feature)特征参数是用于训练 GMM 模型的特征向量。

根据应用需求,可以选择不同的特征参数。

常见的特征参数包括像素的灰度值、颜色特征、纹理特征等。

选择适合问题的特征参数对模型的准确性至关重要。

3. 类别数目 (NumClass)类别数目是 GMM 模型中高斯分量的数目。

它定义了模型所分割数据的类别数目。

该参数的选择需要根据具体问题进行调试。

若类别数目设置过多,模型可能过度拟合,导致训练集的准确性提高,但对未知数据的分类准确率下降。

相反,若类别数目设置过少,模型可能出现欠拟合的现象,分类效果不理想。

4. 数据权重 (Weights)数据权重参数用于指定每个数据点在模型训练中的重要性。

权重可以设为全局常数或根据输入图像的特点进行自适应调整。

对于特别重要的数据点,可以设置较大的权重,以增加它们在模型训练中的影响力。

数据权重的合理设置有助于提高模型的准确性。

5. 迭代次数 (MaxIterations)迭代次数参数定义训练 GMM 模型所使用的最大迭代次数。

GMM 是通过迭代优化来训练的,该参数决定了模型训练的时间和精度。

一般来说,增加迭代次数可以提高模型的准确性,但也会增加计算时间。

对于大规模数据集,可以适当增加迭代次数,以获得更准确的模型。

halcon scale_image 算子 用法

halcon scale_image 算子 用法

halcon scale_image 算子用法
Halcon的scale_image算子用于对输入图像进行缩放操作。

它可以将图像的尺寸按照指定的因子进行放大或缩小。

scale_image算子的语法如下:
scale_image(Image : ScaledImage, ScaleFactor : ScaleImageFactor)
参数说明:
- Image:输入图像。

- ScaledImage:缩放后的图像。

- ScaleFactor:缩放因子,可以为正数、负数或零。

其中正数表示放大图像,负数表示缩小图像,零表示不进行缩放。

示例代码如下:
scale_image(Image, ScaledImage, ScaleFactor)
这个代码将会对Image图像进行缩放,并将结果保存在ScaledImage中,缩放因子为ScaleFactor。

注意:缩放因子必须是一个浮点数,如果不是,则会进行隐式类型转换。

缩放因
子为1表示图像不进行缩放。

halcon学习经验

halcon学习经验

HalCon学习经验总结1.图像的开运算和闭运算算子开运算就是用消除图像上的小物体,小区域,将纤细相连的物体分开,将大物体的表面平滑与此同时不明显改变他的面积。

扩大背景(就是暗的部分),缩小前景(就是亮的部分)。

模板匹配等闭运算就是填充物体内细小的空洞,连接邻近的物体,平滑物体的边界同时呢不明显改变他的面积。

缩小背景(就是暗的部分),扩大前景(就是亮的部分)开运算:先对图像腐蚀然后膨胀闭运算:先对图像膨胀然后腐蚀必要的解释:一:HALCON提供了开运算、闭运算的函数(算子),根据结构元素的不同(圆的方的椭圆的或是自己定义也可以)细化出很多算子。

这些都是细枝末节。

此处不再赘余。

二:开闭运算的结构元素没有参考点(中心点)的概念。

三:开闭运算没有迭代的概念,就是图像被同样结构元素做开运算,处理一次和处理随意非零次的效果是一样的。

gray_opening_rect (ImageInvert, ImageOpening, 20, 20)gray_closing_rect (ImageInvert, ImageClosing, 20, 20)connection (ImageOpening,tophat)connection (ImageClosing,bothat)sub_image (bothat,tophat,ImageSub, 1, 0)union1 (ImageSub, RegionUnion)2.击中击不中(hit_or_miss),加厚(thickening),打薄(thinning)thickening:原始图像+ 对图像使用击中击不中产品的图像thinning:原始图像- 对图像使用击中击不中产品的图像击中击不中原理继膨胀、腐蚀、开运算和闭运算之后的有一个基本操作就是击中击不中变换(HMT),HMT变换可以同时探测图像的内部和外部。

在研究图像中的目标物体与图像背景之间的关系上,HMT能够取得很好的效果。

halcon的paint_region 算子说明

halcon的paint_region 算子说明

halcon的paint_region 算子说明Halcon 是一个机器视觉库,提供了一系列算子(函数)来处理和分析图像。

`paint_region` 是其中的一个算子,用于在给定的区域内填充颜色。

以下是 `paint_region` 算子的基本说明:算子名称: `paint_region`描述:在指定的区域内填充颜色。

输入:1. `Image`:要进行操作的图像。

2. `Region`:要填充颜色的区域。

3. `Type`:填充类型,可以是以下之一:`'solid'`:使用一个单一的颜色填充区域。

`'gradient'`:使用从中心到边缘的渐变颜色填充区域。

`'checkerboard'`:使用棋盘格模式填充区域。

4. `Color`(可选):对于 `'solid'` 类型,指定要使用的颜色。

通常以 `(R, G,B)` 的形式提供,其中 R、G 和 B 是 0 到 255 之间的整数。

输出:填充后的图像。

示例:```halcon假设 'Image' 是输入的图像,'Region' 是要填充的区域Image := read_image('')Region := region_grow(Image, 50, 50, 10) % 创建一个从 (50,50) 开始,宽度为 10 的区域PaintedImage := paint_region(Image, Region, 'solid', (255, 0, 0)) %使用红色填充该区域```注意:在使用 `paint_region` 时,确保你已正确地定义了要填充的区域,否则可能得不到预期的结果。

此外,确保你使用的颜色值在正确的范围内(通常是 0 到 255)。

halcon 函数 中文说明

halcon 函数 中文说明

halcon 函数中文说明
Halcon 是一种计算机视觉库,提供了丰富的函数来进行图像处理和分析。

以下是一些常见的 Halcon 函数及其中文说明:
1. read_image:读取图像文件。

2. write_image:将图像数据写入文件。

3. rgb_to_gray:将 RGB 图像转换为灰度图像。

4. threshold:进行图像二值化处理。

5. reduce_domain:将图像限制在指定的区域内。

6. crop_rectangle:裁剪图像的矩形区域。

7. find_shape_model:在图像中查找指定形状的模板。

8. affine_trans_image:对图像进行仿射变换。

9. gen_circle_contour_xld:生成圆形轮廓。

10. intersection_lines:计算两条直线的交点。

以上只是 Halcon 库中的一小部分函数,它还提供了许多其他的函数和工具,用于各种图像处理和计算机视觉任务。

halcon 函数gamma_image 函数说明 -回复

halcon 函数gamma_image 函数说明 -回复

halcon 函数gamma_image 函数说明-回复gamma_image函数是Halcon图像处理库中的一个函数,它主要用于对图像进行gamma校正的操作。

本文将以gamma_image函数为主题,详细介绍其功能和使用方式,并逐步回答相关问题。

第一步,我们先了解什么是gamma校正。

gamma校正是一种非线性的色彩校正方式,用于调整图像的亮度和对比度。

人眼的感知能力遵循伽马曲线,而显示设备如电脑显示器、电视等则具有不同的伽马曲线。

通过进行gamma校正,可以使输入图像的亮度和对比度更符合人眼的感知能力,并且在不同的显示设备上呈现出相似的效果。

接下来,我们来了解一下gamma_image函数的基本功能。

gamma_image函数可以对输入图像进行伽马校正,将其转换为新的图像。

该函数的输入参数包括待校正的图像、伽马值以及输出图像。

通过调整伽马值,可以改变输出图像的亮度和对比度。

此外,gamma_image函数还支持一些可选参数,包括校正类型、输入图像范围以及输出图像范围。

校正类型可以选择线性或非线性,对应于不同的伽马曲线。

输入图像范围和输出图像范围用于指定图像的灰度范围,可以根据具体应用需求进行设置。

下一步,我们详细了解一下gamma_image函数的调用方式。

首先,需要导入Halcon库,并初始化图像窗口。

然后,可以使用read_image函数读取待校正的图像,并显示。

接下来,可以通过设置伽马值、校正类型以及输入图像范围和输出图像范围等参数,来调用gamma_image函数进行图像校正。

最后,可以使用disp_image函数显示校正后的图像,并保存至文件。

通过以上几个步骤,我们就可以使用gamma_image函数对图像进行gamma校正了。

通过调整伽马值和设置其他参数,可以获得不同的图像效果。

同时,也可以将此函数应用于不同的应用场景,如图像处理、计算机视觉等领域。

在使用gamma_image函数时,可能会遇到一些常见问题。

Halcon算子介绍

Halcon算子介绍

图像、窗口基础操作部分基础操作dev_close_window()关闭当前激活得窗口read_image( :Image:: )读取图像,可以支持多种格式,比如TIFF,PNG,JPEG-XR,JPEG—2000等,还支持一次性读取多个图像。

Image:输出,读取完后在halcon所存放得变量名:图片路径,可以就是多个路径,可以就是绝对路径或者相对路径,还可以省略扩展名示例:*Readingan image:read_image(Image,'mreut')*Reading 3 images into an imagearray:read_image(Images,[’ic0','ic1’,'ic2'])stop()停止程序(等待用户继续运行)get_image_size(Image:: :Width,Height)获取图像得尺寸Image:要获取尺寸得图像Width:输出,图像得宽度Height:输出,图像得高度dev_open_window(::Row, Column,Width, Height,Background:WindowHandle)打开一个新得图像窗口Row:图像窗口左上角得起始行,默认0。

(好像没什么用)Column:图像窗口左上角得起始列,默认0、(好像没什么用)Width:图像窗口得宽度,默认256Height:图像窗口得高度,默认256Background:新窗口得背景颜色,默认黑色(black)WindowHandle:窗口得识别Iddev_display(Object :::)将图像显示到当前得图像窗口上Object:要显示得图像对象dev_set_draw( : :DrawMode :)设置Region得显示形式DrawMode:区域得显示形式,默认'fill',可选'fill','margin’,fill表示显示实心区域,margin 表示只显示区域得外边界dev_set_color(::ColorName :)设置输出颜色ColorName:颜色名称,默认’white’,可选值(格式):’white',’black’,’gray', 'red', 'green','blue', '#003075’,’#e53019’,'#ffb529'disp_message( ::WindowHandle, String,CoordSystem,Row, Column,Color,Box:)输出一段文字信息WindowHandle:要显示文字得窗口handleString:要显示得文字信息,会显示在一个行里CoordSystem:使用得坐标系,默认window,可选’window', 'image'Row,Column:文字坐标,默认12Color:文字颜色,默认'black’,可选'’,'black’,'blue’,’yellow',’red', 'gr een','cyan’,’magenta’,’forest green', 'lime green’,'coral’,'slate blue' Box:就是否包含在一个背景框内,默认'true’,可选'true','false'基础语法If(‘condition’)… else … endif条件判断While(‘condition’)… endwhileWhile循环forIndex := ‘start‘ to ‘max’ by ‘step’… endforfor循环图像处理部分基础操作图像转化convert_image_type(Image:ImageConve rted: NewType:)转换图像类型Image : 要转化得图像ImageConverted: 输出,转化后得图像NewType:要转化得图像类型,详见Halcon得图像像素类型depose3(MultiChannelImage :Image1, Image2,Image3 ::)把一个RGB图像转化为3个单通道得图像MultiChannelImage:输入得多通道图像(应该就是3通道?)Image1, Image2, Image3:输出,转化后得单通道图像,1就是red,2就是green,3就是bluergb1_to_gray(RGBImage :GrayImage :: )把一张RGB图像转化为灰度图像RGBImage:输入得RGB图像GrayImage:输出,得到得灰度图像腐蚀膨胀gen_disc_se(: SE:Type,Width,Height, Smax :)创建一个椭圆形结构元素,用于图像得腐蚀膨胀SE:输出,生成后得结构元素,图像类型Type:结构元素得图像像素类型,默认就是'byte’,可选:'byte’,’uint2’,'real’,详见Halcon得图像像素类型gray_erosion(Image,SE : ImageErosion::)使用结构元素对图像做腐蚀操作(结构元素可以就是gen_disc_se得输出)Image:要做腐蚀操作得图像SE:结构元素ImageErosion:输出,腐蚀后得图像gray_dilation(Image,SE : ImageDilation::)使用结构元素对图像做膨胀操作(结构元素可以就是gen_disc_se得输出)Image:要做膨胀操作得图像SE:结构元素ImageDilation:输出,膨胀后得图像区域处理部分基础操作threshold(Image: Region:MinGray,MaxGray: )将图像根据灰度值二值化Image:需要进行二值化得图像Region:输出,二值化后得结果区域MinGray:最小灰度值,默认128MaxGray:最大灰度值,默认255,必须大于MinGrayconnection(Region :ConnectedRegions::)计算出区域中连接得部分Region:要计算得区域ConnectedRegions:输出,计算后得Region数组,相连得部分将被划分为一个区域,会以不同颜色加以区分select_shape(Regions :SelectedRegions: Features,Operation,Min, Max:)从一个区域数组中选择出符合某特征条件得区域Regions:输入得区域数组SelectedRegions:输出,选出得符合某些特征条件得区域数组Features:条件特征,详见区域特征说明Operation:对于符合特征得区域得连接操作,可以就是And或者OrMin:特征得最小值Max:特征得最大值示例:read_image(Image,'monkey')threshold(Image,S1,160,255)connection(S1,S2)select_shape(S2,Eyes,['area','anisometry'],'and’,[500,1、0],[50000,1、7]) disp_region(Eyes,WindowHandle)difference(Region,Sub: RegionDifference :: )计算两个区域得差Region:需要处理得区域Sub:被减去得区域RegionDifference:输出,计算后得结果.示例:* providesthe regionXwithoutthe pointsinYdifference(X,Y,RegionDifference)u: )Reg connection过得区域数组)Regunion2(Region1,Region2:RegionUnion : : )把两个区域合并成一个区域Region1:要合并得第一个区域Region2:要合并得第二个区域RegionUnion:输出,合并后得区域plement(Region :Regionplement ::)计算一个区域得补(一般指全图像区域减去该区域)Region:要计算得区域Regionplement:输出,计算后得区域阈值分割threshold(Image :Region:MinGray, MaxGray:)详见:thresholdauto_threshold(Image :Regions : Sigma:)自动阈值分割bin_threshold(Image :Region :: )用于提取背景为白色,且前后北京较为分明;自动选取sigma值进行告诉光滑处理,光滑直到只有一个最小值;例如提取白纸黑字,可以用此算子;mage :输入得图像Region:输出,分割后得区域char_threshold(Image,HistoRegion : Characte rs :Sigma, Percent:Threshold)阈值分割提取字符Image:输入得图像HistoRegion :要提取字符所在得区域Characters :输出,提取得到得字符区域Sigma:高斯光滑因子Percent:灰度直方图中得灰度值差得百分比Threshold:得到得用于阈值处理得阈值示例:read_image(Image, 'letters’)char_threshold(Image,Image,Seg,0、0,5、0, Threshold)connection (Seg,Connected)dual_threshold(Image :RegionCrossings :MinSize,MinGray,Threshold : )应用于分隔符号图像得阈值处理。

halconcreate_class_gmm 算子参数解析

halconcreate_class_gmm 算子参数解析

HalconCreateClassGMM 是一个用于创建高斯混合模型 (Gaussian Mixture Model, GMM) 的算子。

GMM 是一种概率模型,常用于图像分割和聚类。

以下是 HalconCreateClassGMM 算子的参数解析:1. ObjectHandle: 输出参数,表示新创建的 GMM 对象的句柄。

2. Image: 输入参数,表示要用于创建 GMM 的图像。

3. ModelType: 输入参数,指定 GMM 的类型。

可能的值有:HalconModelTypeGaussian:使用高斯分布。

HalconModelTypeMixtureOfGaussians:使用混合的高斯分布。

4. ClassCount: 输入参数,指定要创建的 GMM 类数。

5. MaxIterations: 输入参数,指定最大迭代次数,用于估计 GMM 的参数。

6. Variance: 输入/输出参数,表示要估计的方差或标准差。

对于每个类和每个颜色通道,这个参数定义了模型参数的初始估计。

7. Precision: 输入参数,指定用于计算 GMM 的精度。

8. Method: 输入参数,指定用于估计 GMM 参数的方法。

可能的值有:HalconMethodExpectationMaximization:使用期望最大化算法。

HalconMethodKMeans:使用 K-means 算法。

9. ObjectHandleExcluded: 输入参数,指定要排除的对象的句柄。

10. Background: 输入/输出参数,表示用于分割的背景像素值的数组。

如果指定了这个参数,Halcon 将自动创建一个基于背景的 GMM。

11. VariancesExcluded: 输入/输出参数,表示要排除的方差或标准差的数组。

12. ObjectHandlesExcluded: 输入/输出参数,表示要排除的对象句柄的数组。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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功能:把一个矢量域图像转变为两个实值图像。

相关文档
最新文档