Halcon算子中文功能注解
halcon算子较全的中文手册
1. Halcon算子概述Halcon是一种强大的机器视觉软件,它由MVTec开发,可用于各种工业和非工业应用。
在Halcon中,算子是至关重要的组成部分,它们可以实现图像处理中的各种功能,如滤波、边缘检测、特征提取等。
本文将以算子作为主题,深入探讨Halcon算子的各种特性和用法。
2. Halcon算子的分类Halcon算子可以分为预处理算子、过滤算子、分割算子、匹配算子、测量算子等多个类别。
每个类别都包含了众多的算子,它们可以根据图像处理任务的不同需求进行灵活组合和调用。
3. Halcon算子的特性Halcon算子具有许多独特的特性,如多样的输入输出形式、灵活的参数设置、高效的运算速度等。
这些特性使得Halcon算子在图像处理领域得到广泛应用,并受到了众多工程师和科研人员的喜爱。
4. Halcon算子的使用技巧在使用Halcon算子时,熟练掌握一些技巧和经验是非常重要的。
合理设置算子的参数、选择适当的算法、理解算子的内部原理等,都可以帮助我们更好地使用Halcon算子,提高图像处理的效率和准确性。
通过一些典型的应用案例,我们可以深入了解Halcon算子的实际应用。
这些案例涵盖了工业质检、医疗影像、无人驾驶、智能制造等多个领域,展示了Halcon算子的强大功能和广泛适用性。
6. 我对Halcon算子的个人理解作为一名Halcon用户,我对Halcon算子有着深刻的认识和体会。
我认为Halcon算子不仅仅是图像处理的工具,更是一种思维方式和解决问题的哲学。
通过深入学习和使用Halcon算子,我对图像处理和机器视觉有了全新的认识和理解。
总结与回顾通过本文的全面介绍和深度探讨,我们对Halcon算子有了更加全面和深入的了解。
从算子的分类到使用技巧,再到实际案例分析,我们逐步领略了Halcon算子的强大功能和潜力。
我相信,在今后的工作和研究中,我们可以更好地运用Halcon算子,为图像处理和机器视觉领域的发展做出更大的贡献。
halcon新手手册_1.0.1(修)
1.无论读入什么图像,读入图像显示效果明显和原始图像不一致,哪怕是从相机读入的图像,也是明显颜色差异。
什么原因引起?初步诊断是,显示的时候调用的颜色查找表存在异常不是default ,而是其它选项。
此时可以通过查阅相关参数,调用set_system解决,也可以在编辑-》参数选择-》颜色查找表进行更改。
2.裁剪图像;从图像上截取某段图像进行保存。
如何实现该操作?首先应该知道,region不具有单独构成图像的要素,他没有灰度值。
有用过opencv的应该知道ROI(感兴趣区域),设置好它后,对图像的大部分操作就转为图像的一个矩形区域内进行。
类似的,halcon有domain 概念。
首先设置好一个矩形区,然后使用reduce_domain(是一个矩形区域)后,再使用crop_domain 就裁剪出图像。
3.读入bmp,或tiff 图像显示该图不是bmp文件或不能读。
原因是什么?这个常有新手询问,画图,图像管理器都能打开,又或者是相机采集完直接存到硬盘。
Halcon 读取图像在windows下面到最后是调用windows库函数实现读图功能。
咱不清楚到底是怎么调用的。
对于图像格式,在读图函数F1说明很细。
基本bmp 如果文件头不是bw还是bm(百度百科bmp格式查找,编写此处时无网络,后续可能忘记),就读不进来。
其他规格欢迎补充。
解决办法,如果是相机采集,就在内存直接转换(参见halcon到VC.pdf 里面的halcon和bitmap互转);如果是采完的图片,大部分通过画图工具转换为24位bmp 格式,即可解决。
4.读入avi文件报错。
Halcon 通过directshow或另一个格式解析视频,正常来说应该可以读入市面大部分视频,实际测试发现只能读入最标准的avi文件格式。
如果需要临时处理,需要下格式工厂等工具转化为最标准的avi文件格式(论坛叶诺有发帖说明)。
5.Region 或xld 筛选。
Halcon提供了丰富的region 和xld筛选方法。
Halcon常见算子的用法
Halcon常见算子的用法1.threshold ( Image :Region : MinGray, MaxGray : )选取从输入图像灰度值的g满足下列条件:MinGray < = g < = MaxGray 的像素为目标。
2.bin_threshold( Image : Region : : )自动确定阈值 Region:黑暗区域为目标图像。
举例:threshold(Image,CircleRegion,200,255)bin_threshold(Image, Region)处理结果如下图:对于threshold 可用于提取任意区域,本例中白色为目标,可提取圆形。
bin_threshold只能将工件区域作为目标。
3.dyn_threshold ( OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )自适应阈值分割:主要用于光照不均匀图像的局部阈值分割,比较两个像素的图像像素RegionDynThresh(Out) 分割区域Offset: 减少噪音引起的问题LightDark 提取光明、黑暗或类似的地方常常与mean_image 函数一起用来处理背景光照分布不均匀的问题。
举例:mean_image (ParticlesRed, Mean, 31, 31) #均值滤波dyn_threshold (ParticlesRed, Mean, SmallRaw, 3, 'light')4.reduce_domain( Image, ROI : ImageReduced : : )主要用来获得选取Image图像中的ROI范围的区域。
用于提取原始图像中感兴趣的区域。
举例:read_image (Image, 'mreut')gen_circle (ROI, 256, 256, 200) * 创建一个圆reduce_domain (Image, ROI, ImageReduced) *和图像结合起来--- 选取图像中的圆范围的图像形成了ROIedges_sub_pix (ImageReduced, Edges, 'lanser2', 0.5, 20, 40) dev_display (Image)dev_display (ROI)dev_display (Edges)处理结果如下图:说明后续处理的区域都在圆的范围内。
Halcon算子介绍
图像、窗口基础操作部分基础操作dev_close_window()关闭当前激活的窗口read_image( : Image : FileName : )读取图像,可以支持多种格式,比如TIFF,PNG,JPEG-XR,JPEG-2000等,还支持一次性读取多个图像。
Image:输出,读取完后在halcon所存放的变量名FileName:图片路径,可以是多个路径,可以是绝对路径或者相对路径,还可以省略扩展名示例:* Reading an image:read_image(Image,'mreut')* Reading 3 images into an image array: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', 'green', 'cyan', 'magenta', 'forest green', 'lime green', 'coral', 'slate blue'Box:是否包含在一个背景框内,默认'true',可选'true', 'false'基础语法If(‘condition’) … else … endif条件判断While(‘condition’) … endwhileWhile循环for Index := ‘start‘ to ‘max’ by ‘step’… endfor for循环图像处理部分基础操作图像转化convert_image_type(Image : ImageConverted : NewType : )转换图像类型Image : 要转化的图像ImageConverted : 输出,转化后的图像NewType :要转化的图像类型,详见Halcon的图像像素类型decompose3(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 :输出,计算后的结果。
halcon命令中文注解
read_image (WaferDies, 'wafer_dies')read_image (图片在程序中的名称, '图片在计算机中的名称')reopen_window_fit (WaferDies, 700, 0, 0, WindowHandle)reopen_window_fit (图片在程序中的名称, 700, 0, 0, WindowHandle)init_font (WindowHandle, -1, 2)和字体有关的一个命令get_window_extents (WindowHandle, _, _, WindowWidth, WindowHeight)设置窗口大小和位置dev_update_all ('off')把所有的dev_update从'on'设到'off',这似乎是设定文本显示的滚动与否dev_set_draw ('margin')定义区域填充模式。
如果DrawMode设置为'fill',输出地区被填满,如果设置为'margin',只有轮廓显示出来。
get_image_pointer1 (WaferDies, _, _, Width, Height)get_image_pointer1( Image : : : Pointer, Type, Width, Height )Access the pointer of a channel.The operator get_image_pointer1 returns a pointer to the first channel of the image Image. Additionally, the image type (Type= 'byte', 'int2', 'uint2', etc.) and the image size (width and height) are returned. Consequently, a direct access to the image data in the HALCON database via the pointer is possible from the programming language in which HALCON is used. An image is stored in HALCON linearized in row major order, i.e., line by line.指令get_image_pointer1返回一个图像WaferDies的第一通道的指针。
HALCON算子中文解释
HALCON算子函数——Chapter 5 : Filter 5.1 Arithmetic1. 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算子解释
halcon算子解释
Halcon算子是Halcon软件中用于图像处理和分析任务的基本操作单元。
每一个Halcon算子都可以接收输入图像并产生输出图像或其他结果,例如区域、角度、面积等。
这些算子可以组合成更复杂的网络,以实现更高级的功能,例如识别、测量、分类、分割和跟踪任务。
Halcon的自定义算子包括算子名称、图标输入参数、图标输出参数、控制输入参数、控制输出参数等。
例如,算子名称可以是“dilation_seq”,用于顺序地扩大一个区域;或者“erosion1”,用于腐蚀一个区域。
Halcon算子的应用非常广泛,可以应用于各种图像处理和分析任务。
例如,可以使用Halcon算子进行图像增强、去噪、分割、特征提取等任务。
此外,Halcon还可以与其他编程语言和平台集成,以实现更复杂的图像处理和分析任务。
在使用Halcon算子时,需要了解每个算子的功能和参数设置,以便正确地选择和设置它们,以获得最佳的结果。
此外,还需要了解每个算子的输入和输出参数类型和格式,以确保它们与算子所需的格式匹配。
halcon算子lines_gauss参数
halcon算子lines_gauss参数一、算子简介lines_gauss是 Halcon 图像处理库中的一个算子,用于在二值图像中检测高斯线。
该算子利用高斯滤波和边缘检测技术,能够准确地检测出图像中的线条。
二、参数说明1.Image:输入图像,应为二值图像。
2.MaxLineLength:线条的最大长度,超过此长度的线条将被忽略。
3.MinLineLength:线条的最小长度,小于此长度的线条将被忽略。
4.Angle:线条的角度阈值,只检测与该角度相近的线条。
5.Var:高斯滤波器的标准差,用于控制滤波器的尺寸。
6.MaxEnds:每条线的最大端点数。
7.MinDist:检测到的线段之间的最小距离。
8.MinLength:线段的最小长度。
9.MaxDeviation:线段端点与高斯拟合曲线的最大偏差。
10.LineList:输出的线条列表。
11.Text:可选参数,用于指定输出文本的字体和大小。
12.Window:可选参数,用于指定图像的显示窗口。
三、使用示例以下是一个使用 lines_gauss算子的示例代码:// 读取二值图像HalconDotNet.HImage image = new HalconDotNet.HImage("test_image_bin.png");// 定义高斯滤波器的标准差double var = 1;// 调用 lines_gauss 算子检测线条HalconDotNet.HLineList lines = new HalconDotNet.HLineList();HalconDotNet.HImageWindow window = new HalconDotNet.HImageWindow();window.OpenWindow(0, 0, image.Width, image.Height, "black", "black", null);window.DispObj(image);lines = lines_gauss(image, var, null, null, null, null, null, null, null, null);window.DispObj(lines);。
Halcon算子中文功能注解
Chapter_1_: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功能:清除所有分类器。
HALCON算子函数整理1-19章
HALCON算子函数整理1-19章halcon算子中文解释open_file(::FileName,FileType:FileHandle)创建('output'or'append')或者打开(output)文本文件fwrite_tring(::FileHandle,String:)写入tringdev_cloe_window(:::)关闭活跃的图形窗口。
read_image(:Image:FileName:);加载图片get_image_pointer1(Image:::Pointer,Type,Width,Height)获得图像的数据。
如:类型(='字节',''',uint2int2等等)和图像的尺寸(的宽度和高度)dev_open_window(::Row,Column,WidthHeight,Background:WindowHan dle)打开一个图形的窗口。
dev_et_part(::Row1,Column1,Row2,Column2:)修改图像显示的位置dev_et_draw(’fill’)填满选择的区域dev_et_draw(’margin’)显示的对象只有边缘线,dev_et_line_width(3)线宽用LineWidth指定threhold(Image:Region:MinGray,Ma某Gray:)选取从输入图像灰度值的g满足下列条件:MinGray<=g<=Ma某Gray的像素。
dev_et_colored(number)显示region是用到的颜色数目dev_et_color(::ColorName:)指定颜色connection(Region:ConnectedRegion::)合并所有选定像素触摸相互连通区fill_up(Region:RegionFillUp::)填补选择区域中空洞的部分fill_up_hape(Region:RegionFillUp:Feature,Min,Ma某:)elect_hape(Region:SelectedRegion:Feature,Operation,Min,Ma 某:)选择带有某些特征的区域,Operation是运算,如“与”“或”mallet_rectangle1(Region:::Row1,Column1,Row2,Column2)以矩形像素坐标的角落,Column1,Row2(Row1,Column2)计算矩形区域(平行输入坐标轴)dev_diplay(Object:::)显示图片dip_rectangle1(::WindowHandle,Row1,Column1,Row2,Column2:)显示的矩形排列成的。
halcon get_measureedge算子解释 -回复
halcon get_measureedge算子解释-回复Halcon是一款常用于机器视觉应用的图像处理软件,其丰富的图像处理算法使其成为许多行业中首选的工具。
其中,get_measureedge(获取测量边缘)算子是Halcon中的一个重要函数,在实际应用中有着广泛的用途。
本文将以该算子为主题,一步一步详细解释其原理和使用方法。
一、算子简介get_measureedge算子是Halcon中用于检测和测量图像边缘的函数。
它能够利用指定的边缘检测方法,自动地在输入的图像中寻找边缘,并输出所测量到的边缘点信息。
该算子的主要输入参数是一个图像和一个边缘检测方法,它返回检测到的边缘点的坐标、亮度以及边缘的法线方向等信息。
二、边缘检测方法在使用get_measureedge算子前,我们需要选择合适的边缘检测方法。
Halcon提供了多种常用的边缘检测方法,如Sobel、Canny、Laplacian 等。
这些方法在边缘检测的原理和效果上有所区别,根据具体的应用场景可以选择合适的方法。
例如,Sobel方法适合于清晰的边缘,而Canny 方法在噪声较多的情况下具有更好的抗干扰能力。
三、算子调用步骤使用get_measureedge算子进行边缘检测和测量的步骤如下:1. 导入图像:首先,我们需要从硬盘或其他数据源中导入待处理的图像。
可以使用Halcon提供的read_image函数将图像加载到内存中,读取后的图像可以被用作get_measureedge算子的输入。
2. 确定边缘检测参数:在调用get_measureedge算子之前,我们需要明确边缘检测的参数。
这些参数包括边缘检测方法、灰度阈值、边缘强度阈值等。
不同的参数组合会影响边缘检测的准确性和结果。
可以通过调用set_edge_detection_parameters函数对参数进行设定。
3. 执行边缘检测和测量:调用get_measureedge函数,传入图像和边缘检测方法作为输入参数。
halcon算子解释
halcon算子解释Halcon算子是一种用于图像处理和计算机视觉领域的重要工具。
它通过使用预定义的数学运算符和操作来检测、分割和分析图像。
Halcon算子的设计目的是简化图像处理任务,提高处理精度和效率。
在本文中,我将解释Halcon算子的概念、功能和使用方法,让读者对其有一个全面的了解。
一、Halcon算子简介Halcon算子是由美国明尼苏达大学开发的一种图像处理工具。
它基于强大的数学环境,可以进行各种图像处理操作,包括滤波、边缘检测、形状匹配等。
Halcon算子以其高度灵活性和广泛适应性而受到了广泛的应用。
二、Halcon算子的功能1. 图像预处理:Halcon算子可以对图像进行预处理,包括灰度转换、平滑滤波、直方图均衡化等。
这些操作可以提高图像的质量,为后续的图像分析和处理提供更好的基础。
2. 特征提取与分析:Halcon算子可以检测图像中的特征,并进行跟踪和分析。
例如,可以使用Halcon算子进行形状匹配,找到图像中与参考形状相似的目标物体。
此外,Halcon算子还可以进行边缘检测、角点检测等操作。
3. 形状分割与识别:Halcon算子可以将图像中的目标物体进行分割,并对其进行识别和分类。
通过使用Halcon算子,可以根据目标物体的颜色、形状、纹理等特征将其与背景分离。
4. 三维视觉处理:Halcon算子可以处理三维图像数据,进行三维重建、三维测量等操作。
通过使用Halcon算子,可以提取三维物体的参数,如表面形状和体积等。
三、Halcon算子的使用方法Halcon算子的使用方法相对简单,主要包括以下几个步骤:1. 导入图像:首先,需要将待处理的图像导入到Halcon算子的环境中。
这可以通过图像文件的读取或者直接采集实时图像等方式来完成。
2. 预处理操作:对于导入的图像,可以根据需要进行一些预处理操作,如灰度转换、去噪处理等。
这些操作可以提高后续处理的准确性和效果。
3. 应用算子:根据具体的图像处理任务,选择合适的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 可在UNIX,NT/2000/xp 等等平台下作业,它独特的Library 提供了千余个为影像分析作业,数据可视化,除错等等功能所设计的运算符,用户可以利用它的功能以C 及C++等程序语言自行撰写图像处理程序。
此外,HALCON 亦支持Windows NT/2000/XP 下的COM 接口,所以您也可以透过Visual Basic 使用它,使得系统的整合更为容易。
HALCON 的设计使得影像区域,边缘,以及等值线的处理上更方便,优化的算法让这套软件在一般的硬件上也有很好的指令周期。
HALCON 包含了名为HDevelop 的程序设计界面,减少了设计软件所花的时间,还有一个好用的联机帮助,您可以查到关于HALCON 运算符间功能相近的替代者,可能的变化,以及交互的参考。
HALCON 从6.0 版开始提供两个版本,除了标准版外,还有支持平行运算的parallel HALCON,可使用多CPU 的机器,提高指令周期。
以下是HALCON 特点的说明1.1HALCON 强化的opreator library 提供有效率又有弹性的图像处理功能,简化了影像程序的设计HALCON operator library 有千余个运算符。
所有的HALCON 应用程序(像是HDevelop 和HALCON C++程序)皆是利用这个library 来工作。
这些运算符功能广泛,包含了简单的读取影像,到复杂的像是Kalman 滤波等。
基本上这些运算符各有其单一功能,而非包含了各种运算,因此一个影像分析功能是由好几个运算符组成的,所以其弹性远大于由少数而复杂的运算符组成的分析程序。
特化而复杂的运算符往往只适用于某些工作甚至于影像,应用范围狭窄。
相对于这种窘境,HALCON 运算符却能任意组合来完成工作。
众多的运算符中,有些是以不同的算法来达到相同的功能,例如只需要粗略定位时,可用fast_match 来作最快的运算,需要精确定位时,用best_match,以较多的时间来求得最准确结果。
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查询图像参数1、get_grayval(Image::Row,Column:Grayval)计算Image图像中坐标为(Row,Column)的点的灰度值Grayval。
2、get_image_pointer1(Image:::Pointer,Type,Width,Height)计算Image图像的数据指针Pointer,图像类型Type,图像宽度Width和高度Height。
Pointer指向了Image data的起点位置。
3、get_image_pointer3(ImageRGB:::PointerRed,PointerGreen, PointerBlue,Type,Width,Height)计算彩色图像ImageRGB的参数。
4、get_image_pointer1_rect(Image:::PixelPointer,Width,Height, VerticalPitch,HorizontalBitPitch,BitsPerPixel)计算Image图像中定义区域的最小的长方形的区域的指针Pointer,宽度Width,高度Height,VerticalPitch代表Image的Width*(HorizontalBitPitch/8)。
两个相邻象素的水平距离(以比特计算)HorizontalBitPitch,每像素的比特数BitsPerPixel。
5、get_image_time(Image:::MSecond,Second,Minute,Hour,Day,YDay, Month,Year)获取图像生成的时间。
摄像头获取图像和相关参数1、close_all_framegrabbers(:::)关闭所有图像采集设备。
2、close_framegrabber(::AcqHandle:)关闭Handle为AcqHandle的图像采集设备。
3、open_framegrabber(::Name,HorizontalResolution, VerticalResolution,ImageWidth,ImageHeight,StartRow,StartColumn, Field,BitsPerChannel,ColorSpace,Generic,ExternalTrigger, CameraType,Device,Port,LineIn:AcqHandle)打开图像采集设备参数信息:Name:图像采集设备的名称HorizontalResolution和VerticalResolution:分别指预期的图像采集接口的水平分辨率和垂直分辨率ImageWidth和ImageHeight:指预期图像的宽度部分和高度部分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chapter_1_: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功能:创建一个新的分类器。
5. descript_class_box功能:分类器的描述。
6. enquire_class_box功能:为一组属性分类。
7. enquire_reject_class_box功能:为一组带抑制类的属性分类。
8. get_class_box_param功能:获取关于现在参数的信息。
9. learn_class_box功能:训练分类器。
10. learn_sampset_box功能:用数据组训练分类器。
11. read_class_box功能:从一个文件中读取分类器。
12.read_sampset功能:从一个文件中读取一个训练数据组。
13. set_class_box_param功能:为分类器设计系统参数。
14. test_sampset_box功能:为一组数组分类。
15. write_class_box功能:在一个文件中保存分类器。
1.3 Neural-Nets1. add_sample_class_mlp功能:把一个训练样本添加到一个多层感知器的训练数据中。
2. classify_class_mlp功能:通过一个多层感知器计算一个特征向量的类。
3. clear_all_class_mlp功能:清除所有多层感知器。
4. clear_class_mlp功能:清除一个多层感知器。
5. clear_samples_class_mlp功能:清除一个多层感知器的训练数据。
6. create_class_mlp功能:为分类或者回归创建一个多层感知器。
7. evaluate_class_mlp功能:通过一个多层感知器计算一个特征向量的评估。
8. get_params_class_mlp功能:返回一个多层感知器的参数。
9. get_prep_info_class_mlp功能:计算一个多层感知器的预处理特征向量的信息内容。
10. get_sample_class_mlp功能:从一个多层感知器的训练数据返回一个训练样本。
11. get_sample_num_class_mlp功能:返回存储在一个多层感知器的训练数据中的训练样本的数量。
12. read_class_mlp功能:从一个文件中读取一个多层感知器。
13. read_samples_class_mlp功能:从一个文件中读取一个多层感知器的训练数据。
14. train_class_mlp、功能:训练一个多层感知器。
15. write_class_mlp功能:向一个文件中写入一个多层感知器。
16. write_samples_class_mlp功能:向一个文件中写入一个多层感知器的训练数据。
1.4 Support-Vector-Machines1. 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功能:从一个文件中读取一个支持向量机的训练数据。
15. reduce_class_svm功能:为了更快分类,用一个降低的支持向量机近似一个训练过的支持向量机。
16. train_class_svm功能:训练一个支持向量机。
17. write_class_svm功能:向一个文件中写入一个支持向量机。
18.write_samples_class_svm功能:向一个文件中写入一个支持向量机的训练数据。
Chapter_2 Control1.assign功能:为一个控制变量分配一个新值。
2.break功能:终止循环执行。
3. comment功能:向程序添加一行注释。
4. continue功能:跳过现在的循环执行。
5. else功能:条件语句的替换。
6. elseif功能:可选择的条件语句。
7. endfor功能:for循环的终止。
8. endif功能:if命令的终止。
9. endwhile功能:while循环的终止。
10. exit功能:终止HDevelop。
11. for功能:执行一定数量的主体。
12. if功能:条件语句。
13.ifelse功能:有选择的条件语句。
14. insert功能:向一个元组分配一个量。
15.repeat功能:repeat..until循环的开始。
16. return功能:终止程序调用。
17. stop功能:停止程序执行。
18.until功能:继续执行主体,只要条件是不真实的。
19. while功能:继续执行主体,只要条件是真实的。
Chapter_3 :Develop1. 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功能:定义灰度值输出模式。
20. dev_set_part功能:修改显示图像部分。
21. dev_set_preferences功能:通过设计设置HDevelop的参数选择。
22. dev_set_shape功能:定义区域输出形状。
23. dev_set_window功能:激活一个图形窗口。
24. dev_set_window_extents功能:改变一个图形窗口的位置和大小。
25. dev_unmap_par功能:为图形参数隐藏窗口。
26. dev_unmap_prog功能:隐藏主窗口。
27. dev_unmap_var功能:隐藏变量窗口。
28. dev_update_pc功能:在程序执行中指定PC的行为。
29. dev_update_time功能:为操作符打开或关闭切换时间测量。
30. dev_update_var功能:在程序执行中指定活动窗口的行为。
31. dev_update_window功能:在程序执行中指定输出行为。
Chapter_4_:File4.1 Images1. read_image功能:读取有不同文件格式的图像。
2. read_sequence功能:读取图像。
3. write_image功能:用图形格式写图像。