当前位置:文档之家› HALCON 算子函数 整理 1-19章

HALCON 算子函数 整理 1-19章

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

halcon算子中文解释

comment ( : : Comment : ) 注释语句

exit ( : : : ) 退出函数

open_file ( : : FileName, FileType : FileHandle ) 创建('output' or 'append' )或者打开(output )文本文件

fwrite_string ( : : FileHandle, String : ) 写入string

dev_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) 计算矩形区域( 平行输入坐标轴) 。

dev_display ( Object : : : ) 显示图片

disp_rectangle1 ( : : WindowHandle, Row1, Column1, Row2, Column2 : ) 显示的矩形排列成的。disp_rectangle1 显示一个或多个矩形窗口的产量。描述一个矩形左上角(Row1,Column1) 和右下角(Row2,Column2) 。显示效果如图1.

texture_laws ( Image : ImageT exture : FilterTypes, Shift, FilterSize : )

texture_laws 实行纹理变换图像FilterTypes: 预置的过滤器Shift :减少灰度变化FilterSize :过滤的尺寸

mean_image ( Image : ImageMean : MaskWidth, MaskHeight : ) 平滑图像, 原始灰度值的平均数MaskWidth: 过滤器的宽度面具

bin_threshold ( Image : Region : : ) 自动确定阈值 Region: 黑暗的区域的图像

dyn_threshold ( OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )

比较两个像素的图像像素RegionDynThresh(Out) 分割区域Offset: 减少噪音引起的问题LightDark 提取光明、黑暗或类似的地方?

dilation_circle ( Region : RegionDilation : Radius : ) 扩张有一个圆形结构元素的地区Radius 圆半径

complement ( Region : RegionComplement : : ) 返还补充的区域

reduce_domain ( Image, Region : ImageReduced : : ) 减少定义领域的图像

ImageReduced=Image- Region

opening_circle ( Region : RegionOpening : Radius : ) 打开具有圆形结构元素的地区,平滑图像的边界。 Radius :半径

dev_clear_window ( : : : ) 清除视图窗体

get_mbutton ( : : WindowHandle : Row, Column, Button ) 原地等待直到鼠标按下

select_region_point ( Regions : DestRegions : Row, Column : ) 选择所有包含给定像素的区域

dilation_rectangle1 ( Region : RegionDilation : Width, Height : ) 扩张有矩形元素地区 Width 构建的矩形的宽度

difference ( Region, Sub : RegionDifference : : ) 计算两个区域的差异

gen_region_line ( : RegionLines : BeginRow, BeginCol, EndRow, EndCol : ) 计算区域(起始点和终点)中的线段

intersection ( Region1, Region2 : RegionIntersection : : ) 计算两个区域的交叉点

shape_trans ( Region : RegionTrans : Type : ) 变换形状,形状取决于Type

Halcon腐蚀膨胀算子

腐蚀:删除对象边界某些像素,具有收缩图像作用

膨胀:添加对象边界某些像素,具有扩大图像作用

结构元素:由数值为1或0组成的矩阵,在每个像素位置与二值图像对应的区域进行特定的逻辑运算。运算结果为输出图像相应的像素。运算效果取决于结构元素的大小内容以及逻辑运算的性质。

腐蚀算法:使用一个nXn结构元素去扫描图像中的每一个像素。用结构元素与其覆盖的二值图像做“与”操作,如果都为1,这图像的该像素为1,否则为0. 腐蚀之后,图像边界向内收缩

膨胀算法:使用一个nXn结构元素去扫描图像中的每一个像素。用结构元素与其覆盖的二值图像做“与”操作,如果都为0,这图像的该像素为0,否则为1. 膨胀之后,图像边界向外扩大

HALCON 算子函数(一) Classification

HALCON 算子函数——Chapter 1 : Classification

1.1 Gaussian-Mixture-Models

1.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 Hyperboxes

1. 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-Nets

1. 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-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

功能:从一个文件中读取一个支持向量机的训练数据。

15. reduce_class_svm

功能:为了更快分类,用一个降低的支持向量机近似一个训练过的支持向量机。

16. train_class_svm

功能:训练一个支持向量机。

17. write_class_svm

功能:向一个文件中写入一个支持向量机。

18.write_samples_class_svm

功能:向一个文件中写入一个支持向量机的训练数据。

HALCON 算子函数——Chapter 2 : Control 1.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

功能:继续执行主体,只要条件是真实的。

HALCON 算子函数——Chapter 3 : 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

功能:定义灰度值输出模式。

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

功能:在程序执行中指定输出行为。

HALCON 算子函数——Chapter 4 : File

4.1 Images

1. read_image

功能:读取有不同文件格式的图像。

2. read_sequence

功能:读取图像。

3. write_image

功能:用图形格式写图像。

4.2 Misc

1. delete_file

功能:删除一个文件。

2. file_exists

功能:检查文件是否存在。

3. list_files

功能:列出目录中的所有文件。

4. read_world_file

功能:从一个ARC/INFO世界文件中读取地理编码。

4.3 Region

1. read_region

功能:读取二值图像或者HALCON区域。

2. write_region

功能:在文件中写入地域。

4.4 Text

1. close_all_files

功能:关闭所有打开的文件。

2.close_file

功能:关闭一个文本文件。

3. fnew_line

功能:创建一个换行符。

4. fread_char

功能:从一个文本文件中读取一个字符。

5. fread_line

功能:从一个文本文件中读取一行。

6. fread_string

功能:从一个文本文件中读取字符串。

7. fwrite_string

功能:向一个文本文件中写入值。

8. open_file

功能:打开文本文件。

4.5 Tuple

1. read_tuple

功能:从一个文件中读取一个数组。

2. write_tuple

功能:向一个文件中写入一个数组。

4.6_XLD

1. read_contour_xld_arc_info

功能:从用ARC/INFO生成格式表示的文件读取XLD轮廓。

2. read_contour_xld_dxf

功能:从一个DXF文件中读取_XLD轮廓。

3. read_polygon_xld_arc_info

功能:从用ARC/INFO生成格式表示的文件读取XLD多边形。

4. read_polygon_xld_dxf

功能:从一个DXF文件中读取_XLD多边形。

5. write_contour_xld_arc_info

功能:向用ARC/INFO生成格式表示的文件写入XLD轮廓。

6. write_contour_xld_dxf

功能:向一个DXF格式的文件中写入_XLD轮廓。

7. write_polygon_xld_arc_info

功能:向用ARC/INFO生成格式表示的文件写入XLD多边形。

8. write_polygon_xld_dxf

功能:向一个DXF 格式的文件中写入_XLD 多边形。

HALCON算子函数——Chapter 7 : Image

7.1 Access

1. get_grayval

功能:获取一个图像目标的灰度值。

2. get_image_pointer1

功能:获取一个通道的指针。

3. get_image_pointer1_rect

功能:获取图像数据指针和输入图像区域内最小矩形内部的图像数据。

4. get_image_pointer3

功能:获取一个彩色图像的指针。

5. get_image_time

功能:查找图像被创建的时间。

7.2 Acquisition

1. 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 Channel

1. 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 Creation

1. 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 Domain

1. add_channels

功能:把两个灰度值添加到区域中。

2. change_domain

功能:改变一个图像的定义区间。

3. full_domain

功能:把一个图像的区域扩大到最大值。

4. get_domain

功能:获取一个图像的区域。

5. rectangle1_domain

功能:把一个图像的区域缩小到一个矩形。

6. reduce_domain

功能:缩小一个图像的区域。

7.6 Features

1. 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 Format

1. 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 Manipulation

1. overpaint_gray

功能:重新绘制一个图像的灰度值。

2. overpaint_region

功能:重新绘制一个图像的区域。

3. paint_gray

功能:把一个图像的灰度值画在另一个图像上。

4. paint_region

功能:把区域画在一个图像中。

5. paint_xld

功能:把XLD目标画在一个图像中。

6.set_grayval

功能:在一个图像中设置单灰度值。

7.9 Type-Conversion

1. complex_to_real

功能:把一个复杂图像转变为两个实际图像。

2. convert_image_type

功能:转变一个图像的类型。

3. real_to_complex

功能:把两个实际图像转变为一个复杂图像。

4. real_to_vector_field

功能:把两个实值图像转变为一个矢量域图像。

5. vector_field_to_real

功能:把一个矢量域图像转变为两个实值图像。

Chapter_12:OCR(光字符识别)

12.1 Hyperboxes

1. close all ocrs

功能:删除所有光字符,释放存储空间,但会丢失所有的测试数据。

2. close ocr_

功能:重新分配拥有OcrHandle数目的分级器的存储,但所有相应的数据会丢失,不过这些数据可由write ocr事先保存。

3. create ocr class box

功能:创建新的OCR分级器。

4. do ocr multi

功能:给每一个Character(字符)分配一个类。

5. do ocr single

功能:给一些Character(字符)分配一些类。

6. info ocr class box

功能:反馈ocr的有关信息。

7. ocr change char

功能:为字符建立新的查阅表。

8. ocr get features

功能:计算给定Character(字符)的特征参数。

9. read ocr

功能:从文件的FileName(文件名)读取OCR分级器。

10. testd ocr class box

功能:测试给定类中字符的置信度。

11. traind ocr class box

功能:通过一幅图像的特定区域直接测试分级器。

12. trainf ocr class box

功能:根据指定测试文件测试分级器的OCRHandle。

13. write ocr

功能:将OCR分级器的OCRHandle写入文件的FileName(文件名)。

12.2 Lexica

1.clear_all_lexica

功能:清除所有的词汇(词典),释放它们的资源。

2. clear lexicon

功能:清除一个词汇(词典),释放相应的资源。

3. create lexicon

功能:根据一些Words(单词)的元组创建一个新的词汇(词典)。

4.Import lexicon

功能:通过FileName(文件名)选定的文件中的一系列单词创建一个新的词典。

5. inspect lexicon

功能:返回Words参数的词典中所有单词的元组。

6. lookup lexicon

功能:检查Word(单词)是否在词典的LexiconHandle中,若在返回1否则返回0。

7. suggest lexicon

功能:将Word(单词)与词典中所有词汇相比较,计算出将Word从词典中导入单词中所需的足校的编辑操作符NUMcorrections。

12.3 Neural-Nets(神经网络)

1. clear all ocr class mlp

功能:清除所有的create ocr class mlp创建的OCR分级器,释放分级器占据的存储空间。

2. clear ocr class mlp

功能:清除所有的由OCRHandle给定的且由create ocr class mlp创建的OCR分级器,释放所有的分级器占据的存储空间。

3. create ocr class mlp

功能:利用MLP(多层感知器)创建一个新的OCR分级器。

4. do ocr multi class mlp

功能:为根据给定区域字符和OCR分级器OCRHandle的灰度图像值而给定的每个字符计算出最好的类,将类返回到Class中,且将类的置信度返回到Confidence中。

5. do ocr single class mlp

功能:为根据给定区域字符和OCR分级器OCRHandle的灰度图像值而给定的字符计算出最好的Num类,将类返回到Class中,且将类的置信度返回到Confidence中。

6. do ocr word mlp

功能:功能与do ocr multi class mlp相同,只是do ocr word mlp将字符组作为一个实体。

7.get_features_ocr_class_mlp

功能:为根据OCR分级器OCRHandle确定的字符计算其特征参数,并将它们返回到Features。

8. get params ocr class mlp

功能:返回一个OCR分级器的参数只有当分级器由do ocr multi class mlp创建时。

9. get prep info ocr class mlp

功能:计算OCR分级器预设定矢量特性的信息。

10. read ocr class mlp

功能:从一个文件中读取OCR分级器。

11. trainf ocr class mlp

功能:测试OCR分级器的OCRHandle,根据存储在OCR文件中的测试特性。

12. write ocr class mlp

功能:将OCR分级器的OCRHandle写入由文件名确定的文件中。

12.4 Support-Vector-Machines_(支持矢量机)

1. clear_all ocr class svm

功能:清除所有的基于OCR分级器的SVM,释放相应的存储空间。

2. clear ocr class svm

功能:清除基于OCR分级器的一个SVM,释放相应的存储空间。

3. create ocr class svm

功能:利用支持向量机创建一个OCR分级器。

4. do ocr multi class svm

功能:根据基于OCR分级器的SVM将大量字符分类。

5. do ocr single class svm

功能:根据基于OCR分级器的SVM将单个字符分类。

6. do ocr word svm

功能:利用OCR分级器将一系列相关字符分类。

7. get features ocr class svm

功能:计算一个字符的特征。

8. get params ocr class svm

功能:返回一个OCR分级器的参数。

9. get prep info ocr class svm

功能:计算基于OCR分级器的SVM的预定义特征矢量的信息内容。

10. get support vector num ocr class svm

功能:返回OCR分级器支持的矢量的数目。

11. get support vector ocr class svm

功能:返回基于支持向量机的已测试OCR分级器中支持向量的索引。

12. read ocr class svm

功能:从文件中读取基于OCR分级器的SVM。

13. reduce ocr class svm

功能:根据一个减小的SVM来接近一个基于OCR分级器的SVM。14.Trainf ocr class svm

功能:测试一个OCR分级器。

15. write ocr class svm

功能:将一个OCR分级器写入文件。

12.5 Tools

1.Segment characters

功能:将一副图像给定区域的字符分割。

2. select characters

功能:从一个给定区域中选择字符。

3.text line orientation

功能:决定一个文本行或段落的定向(定位)。

4.text_line slant

功能:决定一个文本行或段落的字符的倾斜。

12.6 Training-Files

1. append ocr trainf

功能:将字符添加到一个测试文件中。

2. concat ocr trainf

功能:合并测试文件。

3.read_ocr trainf

功能:从文件中读取字符,将其转换到图像中。

4. read ocr trainf names

功能:查询哪些字符存储在测试文件中。

5.read ocr trainf_select

功能:从文件中读取测试特定字符,将其转换到图像中。

6. write ocr trainf

功能:将已测试的字符存储到文件中。

7. write ocr trainf image

功能:将字符写入正在测试的文件中。

HALCON算子函数——Chapter 8 : Lines

8.1 Access

1. approx_chain

功能:通过弧和线近似一个轮廓。

2. approx_chain_simple

功能:通过弧和线近似一个轮廓。

8.2 Features

1. line_orientation

功能:计算线的方位。

2. line_position

功能:计算一条线的重心、长度和方位。

3. partition_lines

功能:通过各种标准区分线。

4. select_lines

功能:通过各种标准选择线。

5. select_lines_longest

功能:选择最长输入线。

HALCON算子函数——Chapter 9 : Matching

9.1 Component-Based

1. clear_all_component_models

功能:释放所有组件模型的内存。

2. clear_all_training_components

功能:释放所有组件训练结果的内存。

3. clear_component_model

功能:释放一个组件模型的内存。

4. clear_training_components

功能:释放一个组件训练结果的内存。

5. cluster_model_components

功能:把用于创建模型组件的新参数用于训练结果。

6. create_component_model

功能:基于确定的指定组件和关系准备一个匹配的组件模型。

7. create_trained_component_model

功能:基于训练过的组件准备一个匹配的组件模型。

8. find_component_model

功能:在一个图像中找出一个组件模型的最佳匹配。

9. gen_initial_components

功能:提取一个组件模型的最初组件。

10. get_component_model_params

功能:返回一个组件模型的参数。

11. get_component_model_tree

功能:返回一个组件模型的查找树。

12. get_component_relations

功能:返回包含在训练结果内的模型组件间的关系。

13. get_found_component_model

功能:返回一个组件模型的一个创建例子的组件。

14. get_training_components

功能:在一个特定的图像中返回初始值或者模型组件。

15. inspect_clustered_components

功能:检查从训练获取的刚性的模型组件。

16. modify_component_relations

功能:修改一个训练结果中的关系。

17. read_component_model

功能:从一个文件中读取组件模型。

18. read_training_components

功能:从一个文件中读取组件训练结果。

19. train_model_components

功能:为基于组件的匹配训练组件和关系。

20. write_component_model

功能:把一个组件模型写入一个文件中。

21. write_training_components

功能:把一个组件训练结果写入一个文件中。

9.2 Correlation-Based

1. clear_all_ncc_models

功能:释放NCC模型的内存。

2. clear_ncc_model

功能:释放NCC模型的内存。

3. create_ncc_model

功能:为匹配准备一个NCC模型。

4. find_ncc_model

功能:找出一个图像中的一个NCC模型的最佳匹配。

5. get_ncc_model_origin

功能:返回一个NCC模型的原点(参考点)。

6. get_ncc_model_params

功能:返回一个NCC模型的参数。

7. read_ncc_model

功能:从一个文件中读取一个NCC模型。

8. set_ncc_model_origin

功能:设置一个NCC模型的原点(参考点)。

9. write_ncc_model

功能:向一个文件中写入NCC模型。

9.3 Gray-Value-Based

1. adapt_template

功能:把一个模板用于一个图像的大小。

2. best_match

功能:寻找一个模板和一个图像的最佳匹配。

3. best_match_mg

功能:在金字塔中寻找最佳灰度值匹配。

4. best_match_pre_mg

功能:在预生成的金字塔中寻找最佳灰度值匹配。5. best_match_rot

功能:寻找一个模板和一个旋转图像的最佳匹配。6. best_match_rot_mg

功能:寻找一个模板和一个旋转金字塔的最佳匹配。

7. clear_all_templates

功能:所有模板的内存分配。

9. clear_template

功能:一个模板的内存分配。

10. create_template

功能:为模板匹配准备一个格式。

11. create_template_rot

功能:为旋转模板匹配准备一个格式。

12. fast_match

功能:寻找一个模板和一个图像的所有好的匹配。13. fast_match_mg

功能:在金字塔中寻找所有好的灰度值匹配。

14. read_template

功能:从一个文件中读取一个模板。

15. set_offset_template

功能:模板的灰度值偏差。

16. set_reference_template

功能:为一个匹配模板定义参考位置。

halcon知识点

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筛选方法。Region可以使用select_shape_xld,选择出符合要求的区域,如果不能满足还可以通过类似 region feature 这样关键字组合成的算子获取区域特征,然后通过 tuple 排序或相加减,再通过 tuple_find 确定是对应哪个区域的特征。同样的halcon也提供了 select_contours_xld 进行轮廓筛选。 6. Halcon分几类对象,每个类的功用是? Halcon总分俩大类,tuple和图标对象obj 。Tuple涵盖了对所有基础数据类型的封装,可以理解为她是halcon定义的数组类。Obj 是alcon定义图标类基类。衍生出了许多类型,其中 Region ,Xld,Image 其中最主要的类型。 7. F1说明,参数部分 -array 是什么意思? 该符号说明,该参数接受一组输入,对tuple就是一组tuple,对obj 就是通过concat_obj 或其它操作产生的一组obj元组。 8. 俩个相对方形物体的距离计算。 如果这俩个物体和背景对比清晰,最近的距离在俩条边下则可以再预处理之后进行如下操作:

HALCON形状匹配总结

HALCON形状匹配总结 Halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种 方法。 先要补充点知识:形状匹配常见的有四种情况一般形状匹配模板shape_model、线性变形匹配模板 planar_deformable_model、局部可变形模板 local_deformable_model、和比例缩放模板Scale_model 第一种是不支持投影变形的模板匹配,但是速度是最高的,第二种和第四种是支持投影变形的匹配,第三种则是支持局部变形的匹配。 一般形状匹配模板是最常用的,模板的形状和大小一经制作完毕便不再改变,在查找模板的过程中,只会改变模板的方向和位置等来匹配目标图像中的图像。这个方法查找速度很快,但是当目标图像中与模板对应的图像存在比例放大缩小

或是投影变形如倾斜等,均会影响查找结果。涉及到的算子通常为create_shape_model 和find_shape_model 线性变形匹配模板planar_deformable_model是指模板在行列方向上可以进行适当的缩放。行列方向上可以分别独立的进行一个适当的缩放变形来匹配。主要参数有行列方向查找缩放比例、图像金字塔、行列方向匹配分数(指可接受的匹配分数,大于这个值就接受,小于它就舍弃)、设置超找的角度、已经超找结果后得到的位置和匹配分数 线性变形匹配又分为两种:带标定的可变形模板匹配和不带标定的可变形模板匹配。涉及到的算子有: 不带标定的模板:创建和查找模板算子 create_planar_uncalib_deformable_model和 find_planar_uncalib_deformable_model 带标定模板的匹配:先读入摄像机内参和外参 read_cam_par 和read_pose 创建和查找模板算子create_planar_calib_deformable_model和 find_planar_calib_deformable_model 局部变形模板是指在一张图上查找模板的时候,可以改变模板的尺寸,来查找图像上具有局部变形的模板。例如包装纸袋上图案查找。参数和线性变形额差不多 算子如下:create_local_deformable_model和 find_local_deformable_model

HALCON算子函数整理10 Matching-3D

HALCON算子函数——Chapter 10 : Matching-3D 1. affine_trans_object_model_3d 功能:把一个任意有限3D变换用于一个3D目标模型。 2. clear_all_object_model_3d 功能:释放所有3D目标模型的内存。 3. clear_all_shape_model_3d 功能:释放所有3D轮廓模型的内存。 4. clear_object_model_3d 功能:释放一个3D目标模型的内存。 5. clear_shape_model_3d_ 功能:释放一个3D轮廓模型的内存。 6. convert_point_3d_cart_to_spher 功能:把直角坐标系中的一个3D点转变为极坐标。 7. convert_point_3d_spher_to_cart 功能:把极坐标中的一个3D点转变为直角坐标。 8. create_cam_pose_look_at_point 功能:从摄像机中心和观察方向创建一个3D摄像机位置。 9. create_shape_model_3d 功能:为匹配准备一个3D目标模型。 10. find_shape_model_3d 功能:在一个图像中找出一个3D模型的最佳匹配。 11. get_object_model_3d_params

功能:返回一个3D目标模型的参数。 12. get_shape_model_3d_contours 功能:返回一个3D轮廓模型视图的轮廓表示。 13. get_shape_model_3d_params 功能:返回一个3D轮廓模型的参数。 14. project_object_model_3d 功能:把一个3D目标模型的边缘投影到图像坐标中。 15. project_shape_model_3d 功能:把一个3D轮廓模型的边缘投影到图像坐标中。 16. read_object_model_3d_dxf 功能:从一个DXF文件中读取一个3D目标模型。 17. read_shape_model_3d 功能:从一个文件中读取一个3D轮廓模型。 18. trans_pose_shape_model_3d 功能:把一个3D目标模型的坐标系中的位置转变为一个3D轮廓模型的参考坐标系中的位 置,反之亦然。 19. write_shape_model_3d 功能:向一个文件写入一个3D轮廓模型。

Halcon学习之四:有关图像生成的函数

Halcon学习之四:有关图像生成的函数 1、copy_image ( Image : DupImage : : ) 复制image图像 2、region_to_bin ( Region : BinImage : ForegroundGray, BackgroundGray,Width, Height : ) 将区域Region转换为一幅二进制图像BinImage。 ForegroundGray, BackgroundGray分别为前景色灰度值和背景色灰度值。Width, Height为Region的宽度和高度。 3、region_to_label ( Region : ImageLabel : Type, Width, Height : ) 将区域Region转换为一幅Lable图像ImageLabel。 Type为imagelabel的类型。 Width, Height为Region的宽度和高度。 4、region_to_mean ( Regions, Image : ImageMean : : ) 绘制ImageMean图像,将其灰度值设置为Regions和Image的平均灰度值。相关例子: [c-sharp]view plaincopyprint? 1.* 读取图像 2.read_image (Image, 'G:/Halcon/机器视觉 /images/bin_switch/bin_switch_2.png') 3.* 复制图像 4.copy_image (Image, DupImage) 5.* 区域生长算法

6.regiongrowing (Image, Regions, 3, 3, 1, 100) 7.* 生成ImageMean 8.region_to_mean (Regions, Image, ImageMean) 9.* 将Region转换为二进制图像 10.r egion_to_bin (Regions, BinImage, 255, 0, 512, 512) 11.*将Region转换为Label图像 12.r egion_to_label (Regions, ImageLabel, 'int4', 512, 512)

机器视觉之Halcon算子--区域特征

H a l c o n算子--区域特征 当我们想要提取Region时,图像处理后,往往存在几个类似的Region,此时,需要根据Region的一 些特殊特征,来选择指定的Region。 求Region指定特征值:region_features(Regions : : Features : Value) 根据特征值选择区域:select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : ) Region特征一览: 特征英译备注area Area of the object 对象的面积 row Row index of the center 中心点的行坐标 column Column index of the center 中心点的列坐标 width Width of the region 区域的宽度 height Height of the region 区域的高度 row1 Row index of upper left corner 左上角行坐标 column1 Column index of upper left corner 左上角列坐标 row2 Row index of lower right corner 右下角行坐标 column2 Column index of lower right corner 右下角列坐标 circularity Circularity 圆度0~1 compactness Compactness 紧密度0~1 contlength Total length of contour 轮廓线总长 convexity Convexity 凸性 rectangularity Rectangularity 矩形度0~1 ra Main radius of the equivalent ellipse 等效椭圆长轴半径长度 rb Secondary radius of the equivalent ellipse 等效椭圆短轴半径长度 phi Orientation of the equivalent ellipse 等效椭圆方向 anisometry Anisometry 椭圆参数,Ra/Rb长轴与短轴的比值 bulkiness Bulkiness 椭圆参数,蓬松度π*Ra*Rb/A struct_factor Structur Factor? 椭圆参数, Anisometry*Bulkiness-1

halcon基础数据类型详解

halcon基础数据类型详解 #if defined(__CHAR_UNSIGNED__) || defined(__sgi) #define INT1 signed char /* integer, signed 1 Byte */ #define INT1_MIN SCHAR_MIN #define INT1_MAX SCHAR_MAX #else #define INT1 char /* integer, signed 1 Byte */ #define INT1_MIN CHAR_MIN #define INT1_MAX CHAR_MAX #endif #define UINT1 unsigned char /* integer, unsigned 1 Byte */ #define UINT1_MIN 0 #define UINT1_MAX UCHAR_MAX #define LONG_FORMAT _INT64_FORMAT typedef INT4_8 Hlong; typedef UINT4_8 Hulong; 看粗体部分,可以看到Hlong型在32位的机器上其实就是long型代表4个字节32位,在64位机器上有另一种定义 再来看看halcon中最重要的数据类型HTuple,在C++里面,halcon将HTuple类型封 装了类,其始祖类HRootObject,这个类相当于MFC里面的CObject,halcon从HRootObject 派生了HBaseArray,当然这两个类是虚基类,有一些方法需要我HTuple自己实现,当然也 有一些方法可以直接用的。这两个类在HCPPUtil里,可以看看。 HTuple类就是从HBaseArray派生,元组基类,相当于数组,具有如下的构造函数: HTuple(int l); HTuple(float f); HTuple(double d); HTuple(constchar *s);

Halcon学习(24)总结(一)

Halcon学习(二十四)总结(一) 好久没有写篇文章了。写一篇总结吧。 1、Halcon的自我描述 Program Logic ? Each program consists of a sequence of HALCON operators ? The program can be structured into procedures ? The sequence can be extended by using control operators like if, for, repeat, or while ? The results of the operators are passed via variables ? No implicit data passing is applied ? Input parameters of operators can be variables or expressions ? Output parameters are always variables ? HDevelop has no features to design a graphical user interface ? An HDevelop program is considered as a prototypic solution of the vision part of an application ? HDevelop is typically not used for the final application 由此可以看出,Halcon的定位是一个类库,有着完整、快速实现函数,同时提供了HDevelop 作为快速开发的图形化(IDE)界面;但是,Halcon程序并不是一个完整的最终应用软件,它没有用户界面,也不提供显示的数据(公用的数据格式)。 Halcon的初学者也应当从参考Halcon的程序入手,熟悉Halcon类库,也即HDevelop-Based Programming;在此基础上,进入ORClass-Oriented Programming。这也是Halcon推荐的开发方式: The vision part is solved with HDevelop, and the application is developed with C++ or Visual Basic。 2、HDevelop界面的学习 通过阅读Halcon的PPT,学到了下面一些有用的信息: ? 文件——浏览示例,可以看到很多有用的例子; ? 程序窗体中,可以浏览与编辑Procedues(过程),这个其实就是自定义函数咯~还可以自己修改这些过程,并添加说明文档; ? F4——将函数语句注释掉;F3——激活; ? 本地过程(Local Procedue)与外部过程(Externel Procedue) 3、基本语法结构 Halcon的语法结构 类似于Pascal 与 Visual Basic,大部分的语句是Halcon提供的算子,此外也包含了少部分的控制语句; 不允许单独声明变量; 提供自动的内存管理(初始化、析构及OverWrite),但句柄则需要显示释放; C++(算子模式) 通过代码导出,以C++为例,默认导出为算子型的语法结构,而非面向对象的;在此模式下,全部函数声明为全局类型,数据类型只需要用Hobject、HTuple两类类型进行声明; C++(面向对象) 可以以面向对象的方式重写代码,也即利用类及类的成员函数;

HALCON算子函数Chapter 16:System

HALCON算子函數——Chapter 16 : System 16.1 Database 1. count_relation 功能:在HALCON數據庫中實體的數目。 2. get_modules 功能:查詢已使用模塊和模塊關鍵碼。 3. reset_obj_db 功能:HALCON系統的初始化。 16.2 Error-Handling 1. get_check 功能:HALCON控制模式的說明。 2. get_error_text 功能:查詢HALCON錯誤測試後錯誤數目。3. get_spy 功能:HALCON調試工具當前配置。 4. query_spy 功能:查詢HALCON調試工具可能的設置。5. set_check 功能:激活和鈍化HALCON控制模式。

6. set_spy 功能:HALCON調試工具的控制。 16.3 Information 1. get_chapter_info 功能:獲取程序有關章節的信息。 2. get_keywords 功能:獲取指定給程序的關鍵字。 3. get_operator_info 功能:獲取關於HALCON程序的信息。 4. get_operator_name 功能:獲取由給定字符串作為它們的名字的程序。 5. get_param_info 功能:獲取關於程序參數的信息。 6. get_param_names 功能:獲取一個HALCON程序參數的名字。 7. get_param_num 功能:獲取一個HALCON程序不同參數類的數目。 8. get_param_types 功能:獲取一個HALCON程序控制參數的缺省數據類型。

HALCON算子函数Chapter 15: Segmentation

HALCON算子函數——Chapter 15 : Segmentation 15.1 Classi?cation 1. add_samples_image_class_gmm 功能:將從圖像中獲取的測試樣本添加到高斯混合模型的測試數據庫中。2.add samples_image_class_mlp 功能:將從圖像中獲取的測試樣本添加到多層視感控器的測試數據庫中。 3. add_samples_image_class_svm 功能:將從圖像中獲取的測試樣本添加到一個支持向量機的測試數據庫中。 4. class_2dim_sup 功能:采用二維空間像素分類分割圖像。 5. class 2dim unsup 功能:將兩幅圖像以聚類分割。 6.class ndim_box 功能:利用立方體將像素分類。 7. class_ndim_norm 功能:利用球體或立方體將像素分類。 8. classify_image_class_gmm 功能:根據高斯混合模式分類圖像。 9. classify_image_class_mlp 功能:根據多層視感控器分類圖像_。 10. classify_image_class_svm 功能:根據支持向量機分類圖像。 11. learn_ndim_box

功能:利用多通道圖像測試一個分級器。 12. learn_ndim_norm 功能:為class_ndim_norm構建類。 15.2 Edges 1. detect_edge_segments 功能:檢測直線邊緣分割。 2. hysteresis_threshold 功能:對一副圖像采取磁滯門限操作。 3. nonmax_suppression_amp 功能:抑制一幅圖像上的非最大值點。 4. nonmax_suppression_dir 功能:利用指定圖像抑制一幅圖像上的非最大值點。 15.3 Regiongrowing 1. expand_gray 功能:依據灰度值或顏色填充兩個區域的間隙或分割重疊區域。 2. expand_gray_ref 功能:依據灰度值或顏色填充兩個區域的間隙或分割重疊區域。 3. expand_line 功能:從給定線開始擴充區域。 4. regiongrowing 功能:利用區域增長分割圖像。

HALCON中filter函数

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 Bit 1. 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 Color

1. 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颜色空间转变成任意颜色空间。 8. trans_to_rgb 功能:把一个图像从任意颜色空间转变成RGB颜色空间。 5.4 Edges 1.close_edges 功能:使用边缘幅值图像消除边缘缺陷。 2. close_edges_length 功能:使用边缘幅值图像消除边缘缺陷。 3. derivate_gauss 功能:用高斯派生物对一个图像卷积。 4. diff_of_gauss 功能:近似高斯的拉普拉斯算子。 5. edges_color 功能:使用Canny、Deriche或者_Shen_滤波器提取颜色边缘。 6. edges_color_sub_pix 功能:使用Canny、Deriche或者_Shen_滤波器提取子像素精确颜色边缘。 7. edges_image 功能:使用Deriche、_Lanser、Shen或者_Canny滤

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 == Region

halcon常用算法

1、read_image (Image, 'F:/image/001.bmp') 读入图像 2、threshold (Image, region, 100, 200) 阈值分割,获取区域 3、dev_close_window() 关闭当前图形窗口 4、dev_open_window (0, 0, 640, 480, 'black', WindowHandle) 打开一个新的图像窗口 5、decompose3 (Image, Red, Green, Blue) 三通道图像转换成三幅单通道图像 5.5、compose3(Red, Green, Blue, Image) 三幅单通道图像组合为三通道图像 6、connection (Region, ConnectedRegions) 将像素有相连的区域合并成一个元素element 7、count_obj(ConnectedRegions, Number) 计算元素element的个数 8、select_shape(Regions, SelectedRegions, Features, Operation, Min, Max) select_shape (ConnectedRegions,SelectedRegions,['area','anisometry'], 'and', [500,1.0], [50000,1 .7]) 连通域形状的选择 circularity:表示环状;充实度 roundness:圆度 9、dev_set_color('red') 设定输出的颜色 10、dev_set_draw ('margin') 或者 dev_set_draw ('fill') 确定区域填充模式 11、get_image_size (Image, Width, Height) 得到图像的宽度和高度 12、get_image_pointer1 (Image_slanted, Pointer, Type, Width, Height) 设定Pointer指向Image_slanted的起点位置。 13、dev_set_part (0, 0, Height-1, Width-1) 设定图像需要显示的范围 14、dev_display (Image_slanted) 显示图像 15、disp_continue_message(WindowHandle, 'blue', 'false') 等待用户操作是否继续stop () 16、projective_trans_image (Image_slanted, Image_rectified, HomMat2D, 'bilinear', 'false', 'false') 将投影变换应用于一幅图像中。 17、dev_set_line_width (5) 为区域轮廓线设定线宽 18、disp_message (WindowHandle, 'Decoded string: ', 'window', -1, -1, 'black', 'true') 程序写一个文本信息 19、union_collinear_contours_xld 合并在同一直线的XLD union_cocircular_contours_xld 合并在同圆的XLD union_adjacent_contours_xld 合并邻近的XLD 20、fit_line_contour_xld 拟合直线 21、trans_from_rgb(Rimage,Gimage,Bimage,Image1,Image2,Image3,'hsv') rgb颜色空间图像转换到hsv颜色空间图像 22、trans_to_rgb(Image1,Image2,Image3,ImageRed,ImageGreen,ImageBlue,'hsv') hsv颜色空间图像转换到rgb颜色空间图像 23、set_display_font (WindowID, 20, 'mono', 'true', 'false') 设置字体(bottle.hdev) 24、fill_up_shape (RawSegmentation, RemovedNoise, 'area', 1, 5) 根据给定的形状特征填补区域中的不足 25、opening_circle (RemovedNoise, ThickStructures, 2.5) 以半径为2.5像素先腐蚀再膨胀,开运算去除小区域。 26、fill_up (ThickStructures, Solid) 填补区域中的空洞 27、intersection (ConnectedPatterns, ThickStructures, NumberCandidates) 求两个区域的交集然后输出,求ConnectedPatterns区域和ThickStructures 区域的交集,输出 NumberCandidates 28、dev_set_shape ('rectangle1') 设置外接矩形 29、distance_lr (SelectedRegions, Row1, Col1, Row2, Col2, DistanceMin, DistanceMax) 计算直线和区域之间的距离,出现最小距离和最大距离 30、disp_line (WindowID, Row1, Col+100, Row2, Col) 绘制直线段( Col+100, Row1)为起点,(Col, Row2)为终点

HALCON 算子函数 整理 1-19章

halcon算子中文解释 comment ( : : Comment : ) 注释语句 exit ( : : : ) 退出函数 open_file ( : : FileName, FileType : FileHandle ) 创建('output' or 'append' )或者打开(output )文本文件 fwrite_string ( : : FileHandle, String : ) 写入string dev_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) 计算矩形区域( 平行输入坐标轴) 。 dev_display ( Object : : : ) 显示图片 disp_rectangle1 ( : : WindowHandle, Row1, Column1, Row2, Column2 : ) 显示的矩形排列成的。disp_rectangle1 显示一个或多个矩形窗口的产量。描述一个矩形左上角(Row1,Column1) 和右下角(Row2,Column2) 。显示效果如图1. texture_laws ( Image : ImageT exture : FilterTypes, Shift, FilterSize : ) texture_laws 实行纹理变换图像FilterTypes: 预置的过滤器Shift :减少灰度变化FilterSize :过滤的尺寸 mean_image ( Image : ImageMean : MaskWidth, MaskHeight : ) 平滑图像, 原始灰度值的平均数MaskWidth: 过滤器的宽度面具 bin_threshold ( Image : Region : : ) 自动确定阈值 Region: 黑暗的区域的图像 dyn_threshold ( OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : ) 比较两个像素的图像像素RegionDynThresh(Out) 分割区域Offset: 减少噪音引起的问题LightDark 提取光明、黑暗或类似的地方? dilation_circle ( Region : RegionDilation : Radius : ) 扩张有一个圆形结构元素的地区Radius 圆半径 complement ( Region : RegionComplement : : ) 返还补充的区域 reduce_domain ( Image, Region : ImageReduced : : ) 减少定义领域的图像

HALCON函数

HALCON函数 dev_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) 计算矩形区域( 平行输入坐标轴) 。 dev_display ( Object : : : ) 显示图片 disp_rectangle1 ( : : WindowHandle, Row1, Column1, Row2, Column2 : ) 显示的矩形排列成的。disp_rectangle1 显示一个或多个矩形窗口的产量。描述一

Halcon

Halcon 目录 1、相机接入且拍摄 (2) 1.1 步骤 (2) 1.2 后续处理函数 (5) 2、相机标定 (7) 2.1标定步骤 (7) 3、手眼系统标定 (11) 3.1 标定步骤 (11) 4、图像坐标和机器臂坐标转换 (13) 4.1 转换步骤 (14) 5、模版匹配(基于形状) (19) 5.1 步骤 (19) 6、常见函数 (25) 6.1 图像分割 (25) 6.2 轮廓提取、处理 (31)

1、相机接入且拍摄 1.1 步骤 (1)连接相机 open_framegrabbe(Name, HorizontalResolution, VerticalResolution, ImageWidth, ImageHeight, StartRow, StartColumn, Field, BitsPerChannel, ColorSpace, Generic, ExternalTrigger, CameraType, Device, Port, LineIn, AcqHandle) 在算子窗口内输入函数名,填入参数后点击“确定”按钮即可将函数加入程序中。 注: Name: 图像采集设备的名称 可通过以下步骤确定: 1、在Halcon菜单栏里点击“窗口”,选择“打开算子窗口”。 (若算子窗口已打开则直接进入第二步) 2、在“输入算子或函数”栏内输入“open_framegrabbe” 回车后出现下图

3、在“参数”栏中的Name后点击即可自动检测连接的设 备(笔记本电脑摄像头检测后为’DirectShow’) 此参数若随意填写,可能导致程序报错 HorizontaResolution、VerticalResolution:预期的图像采集接口的水平分辨率和垂直分辨率 ImageWidth、ImageHeight:预期图像的宽度和高度部分StartRow、StartColumn:显示预期图像的开始坐标 Field:预期图像是一半的图像或者是完整图像 BitsPerChannel:每像素比特数和图像通道 ColorSpace:获取图像的输出形式(gray、raw、rgb、yuv、default)说明:此参数设置不同的值可以得到不同的图像效果,如设置

相关主题
文本预览
相关文档 最新文档