文档库 最新最全的文档下载
当前位置:文档库 › HALCON算子中文解释

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 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滤波器提取边缘。

8. edges_sub_pix

功能:使用Deriche、_Lanser、Shen或者_Canny滤波器提取子像素精确边缘。

9. frei_amp

功能:使用Frei-Chen算子检测边缘(幅值)。

10. frei_dir

功能:使用Frei-Chen算子检测边缘(幅值和相位)。

11. highpass_image

功能:从一个图像提取高频成分。

12. info_edges

功能:在edges_image估计滤波器的宽度。

13. kirsch_amp

功能:使用Kirsch算子检测边缘(幅值)。

14. kirsch_dir

功能:使用Kirsch算子检测边缘(幅值和相位)。

15. laplace

功能:使用有限差计算拉普拉斯算子。

16. laplace_of_gauss

功能:高斯的拉普拉斯算子。

17. prewitt_amp

功能:使用Prewitt算子检测边缘(幅值)。

18. prewitt_dir

功能:使用Prewitt算子检测边缘(幅值和相位)。

19. Roberts

功能:使用Roberts滤波器检测边缘。

20. robinson_amp

功能:使用Robinson算子检测边缘(幅值)。

21. robinson_dir

功能:使用Robinson算子检测边缘(幅值和相位)。

22. sobel_amp

功能:使用Sobel算子检测边缘(幅值)。

23. sobel_dir

功能:使用Sobel算子检测边缘(幅值和相位)。 5.5 Enhancement

1. adjust_mosaic_images

功能:全景图像的自动颜色更改。

2. coherence_enhancing_diff

功能:执行一个图像的一个一致性增强扩散。

3. emphasize

功能:增强图像对比度。

4. equ_histo_image

功能:图像的柱状图线性化。

5. illuminate

功能:增强图像对比度。

6. mean_curvature_flow

功能:把平均曲率应用在一个图像中。

7. scale_image_max_

功能:最大灰度值在0到255范围内。

8. shock_filter

功能:把一个冲击滤波器应用到一个图像中。

5.6 FFT

1. convol_fft

功能:用在频域内的滤波器使一个图像卷积。

2. convol_gabor

功能:用在频域内的一个Gabor滤波器使一个图像卷积。

3. correlation_fft

功能:计算在频域内的两个图像的相互关系。

4. energy_gabor

功能:计算一个两通道图像的能量。

5. fft_generic

功能:计算一个图像的快速傅里叶变换。

6. fft_image

功能:计算一个图像的快速傅里叶变换。

7. fft_image_inv

功能:计算一个图像的快速傅里叶逆变换。

8. gen_bandfilter

功能:生成一个理想带通滤波器。

9. gen_bandpass

功能:生成一个理想带通滤波器。

10. gen_derivative_filter

功能:在频域内生成一个倒数滤波器。

11. gen_filter_mask

功能:在空域内存储一个滤波器掩码作为实时图像。

12. gen_gabor

功能:生成一个Gabor滤波器。

13. gen_gauss_filter

功能:在频域内生成一个高斯滤波器。

14. gen_highpass

功能:生成一个理想高通滤波器。

15. gen_lowpass

功能:生成一个理想低通滤波器。

16. gen_sin_bandpass

功能:用正弦形状生成一个带通滤波器。

17. gen_std_bandpass

功能:用高斯或者正弦形状生成一个带通滤波器。

18. optimize_fft_speed

功能:使FFT的运行时间最优化。

19. optimize_rft_speed

功能:使实值的FFT的运行时间最优化。

20. phase_deg

功能:返回用角度表示的一个复杂图像的相位。

21. phase_rad

功能:返回用弧度表示的一个复杂图像的相位。

22. power_byte

功能:返回一个复杂图像的功率谱。

23. power_ln_

功能:返回一个复杂图像的功率谱。

24. power_real

功能:返回一个复杂图像的功率谱。

25. read_fft_optimization_data

功能:从一个文件中下载FFT速度最优数据。 26. rft_generic

功能:计算一个图像的实值快速傅里叶变换。 27. write_fft_optimization_data

功能:把FFT速度最优数据存储在一个文件中。

5.7 Geometric-Transformations

1. affine_trans_image

功能:把任意仿射2D变换应用在图像中。

2. affine_trans_image_size

功能:把任意仿射2D变换应用在图像中并且指定输出图像大小。

3. gen_bundle_adjusted_mosaic

功能:把多重图像合成一个马赛克图像。

4. gen_cube_map_mosaic

功能:创建球形马赛克的6方位图像。

5. gen_projective_mosaic

功能:把多重图像合成一个马赛克图像。

6. gen_spherical_mosaic

功能:创建一个球形马赛克图像。

7. map_image

功能:把一个一般变换应用于一个图像中。

8. mirror_image

功能:镜像一个图像。

9. polar_trans_image

功能:把一个图像转换成极坐标。

10. polar_trans_image_ext

功能:把一个图像中的环形弧转变成极坐标。

11. polar_trans_image_inv

功能:把极坐标中的图像转变成直角坐标。

12. projective_trans_image

功能:把投影变换应用于一个图像中。

13. projective_trans_image_size

功能:把投影变换应用于一个图像中并且指定输出图像的大小。

14. rotate_image

功能:以一个图像的中心为圆心旋转。

15. zoom_image_factor

功能:把一个图像缩放规定因子倍。

16. zoom_image_size

功能:把一个图像缩放到规定大小。

5.8 Inpainting

1. harmonic_interpolation

功能:对一个图像区域执行谐波插值。

2. inpainting_aniso

功能:通过各向异性扩散执行图像修复。

3. inpainting_ced

功能:通过一致性增强扩散执行图像修复。

4. inpainting_ct

功能:通过连贯传送执行图像修复。

5. inpainting_mcf

功能:通过水平线平滑执行图像修复。

6. inpainting_texture

功能:通过结构传导执行图像修复。

5.9 Lines

1. bandpass_image

功能:使用带通滤波器提取边缘。

2. lines_color

功能:检测色线和它们的宽度。

3. lines_facet

功能:使用面模型检测线。

4. lines_gauss

功能:检测线和它们的宽度。

5.10 Match

1. exhaustive_match

功能:模板和图像的匹配。

2. exhaustive_match_mg

功能:在一个分辨率塔式结构中匹配模板和图像。

3. gen_gauss_pyramid

功能:计算一个高斯金字塔。

4. monotony

功能:计算单一操作。

5.11 Misc

1. convol_image

功能:用一个任意滤波掩码对一个图像卷积。

2. expand_domain_gray

功能:扩大图像区域并且在扩大的区域中设置灰度值。

3. gray_inside

功能:对图像中的每一点在图像边界的任意路径计算尽可能低的灰度值。

4. gray_skeleton

功能:灰度值图像的细化。

5. lut_trans

功能:使用灰度值查询表转换一个图像。

6. symmetry

功能:沿一行的灰度值的对称性。

7. topographic_sketch

功能:计算一个图像的地理原始草图。

5.12 Noise

1. add_noise_distribution

功能:向一个图像添加噪声。

2. add_noise_white

功能:向一个图像添加噪声。

3. gauss_distribution

功能:产生一个高斯噪声分布。

4. noise_distribution_mean

功能:测定一个图像的噪声分布。

5. sp_distribution

功能:产生一个椒盐噪声分布。

5.13 Optical-Flow

1. optical_flow_mg

功能:计算两个图像之间的光流。

2. unwarp_image_vector_field

功能:使用一个矢量场来展开一个图像。

3. vector_field_length

功能:计算一个矢量场的矢量长度。

5.14 Points

1. corner_response

功能:在图像中寻找角点。

2. dots_image

功能:在一个图像中增强圆形点。

3. points_foerstner

功能:使用F?rstner算子检测关注点。 4. points_harris

功能:使用Harris算子检测关注点。

5. points_sojka

功能:使用Sojka算子找出角点。

5.15 Smoothing

1. anisotrope_diff

功能:通过保边各向异性扩散平滑一个图像。

2. anisotropic_diffusion

功能:对一个图像执行各向异性扩散。

3. binomial_filter

功能:使用binomial滤波器平滑一个图像。 4. eliminate_min_max

功能:在空域内平滑一个图像来抑制噪声。

5. eliminate_sp

功能:用中值替代阀值外的值。

6. fill_interlace

功能:插补两个半个视频图像。

9. gauss_image

功能:使用离散高斯函数平滑图像。

10. info_smooth

功能:平滑滤波器smooth_image的信息。 11. isotropic_diffusion

功能:对一个图像执行各向同性扩散。

12. mean_image

功能:通过平均平滑一个图像。

13. mean_n

功能:几个通道的平均灰度值。

14. mean_sp

功能:抑制椒盐噪声。

15. median_image

功能:使用不同级别掩码的中值滤波。

16. median_separate_

功能:使用矩形掩码的离散中值滤波。

17. median_weighted

功能:使用不同级别掩码的加权中值滤波。

18. midrange_image

功能:计算掩码内最大和最小值的平均。 19. rank_image

功能:通过一个任意等级掩码平滑一个图像。

20. sigma_image

功能:使用sigma滤波器的非线性平滑。

21. smooth_image

功能:使用递归滤波器平滑一个图像。

22. trimmed_mean

功能:使用任意等级掩码平滑一个图像。

5.16 Texture

1. deviation_image

功能:计算矩形窗口内的灰度值的标准偏差。

2. entropy_image

功能:计算矩形窗口内的灰度值的熵。

3. texture_laws

功能:使用一个Laws文本滤波器过滤一个图像。

5.17 Wiener-Filter

1. gen_psf_defocus

功能:产生一个均匀散焦模糊的脉冲相应。

2. gen_psf_motion

功能:产生一个(线性)运动模糊的脉冲相应。

3. simulate_defocus

功能:对一个图像的均匀散焦模糊进行仿真。 4. simulate_motion

功能:(线性)运动模糊的仿真。

5. wiener_filter

功能:通过Wiener滤波进行图像恢复。

6. wiener_filter_ni

功能:通过Wiener滤波进行图像恢复。

Halcon_VC相关

如何使用VC在Halcon中得到像素的信息 作者:支源,时间2007-3-16 Halcon的强大功能使我们省去很多图像处理(机器视觉)中的很多麻烦而又重复性的工作。但是,面向不同的应用,应该编写自己最核心的算法,从而达到最佳的处理效果;而且Halcon并不可能把各种情况都考虑进去。以下是我初步入门Halcon和VC的一点感触和想法,已经被实验证明了是正确的。 1,在VC中,使用Halcon打开图像文件,这里要注意read_image()和get_image_pointer1()指令被HDevelop翻译过来以后如下: Hobject Image HTuple Pointer, Type, Width, Height get_image_pointer1(Image, &Pointer, &Type, &Width, &Height); VC中如下声明: Halcon::Hobject Image Halcon::HTuple Pointer, Type, Width, Height VC中也可以如下声明使用: Hobject Image Char lpcsType[MAX_STRING] Hlong Pointer, Width, Height 或long Width, Height (如果定义为HTuple Pointer ; Hlong Width, Height; 编译会出现错误; 使用Halcon::HTuple Pointer, Type, Width, Height的话,后续中需要 图像的高宽时,强制类型转换不可用; 当然Hlong可以换成long,推荐使用Hlong。) get_image_pointer1(Image, &Pointer, lpcsType, &Width, &Height); 这里注意,在VC中如果get_image_pointer1( )中的字节类型使用tuple变量,那么Width和Height也必须使用tuple变量,否则编译时候容易出错误,至于原因是什么,可能halcon编译的时候需要各个参数的类型形式一致。 2,tuple类型的返回指针Pointer指向图像数据区域(如果是彩色则指向色彩的第一通道),图像的RGB色彩存放是同一种色彩信号最放在一起。注意Pointer所指向区域的大小比图像必须的色彩信息要大许多,这里可能是因为必须为tuple变量定义一定的类型限制,从而使用的空间变大了(由于不了解tuple的内部存储格式,所以不敢断定)。请看下面一段例子程序:使用Halcon,把彩色图像转化为灰度图像,然后使用Pointer指针得到灰度图像并显示,包括在VC窗口中进行显示部分。 using namespace Halcon; char lpcsType[MAX_STRING]; Hlong PointerGray,WidthGray, HeightGray; rgb1_to_gray(objImage, &objImageGray); get_image_pointer1(objImage, &PointerGray, lpcsType, &WidthGray, &HeightGray); BYTE * lpByte; BYTE * ImageGray; int bytewidth; bytewidth = ((long) WidthGray * 3 + 3 ) / 4 * 4 ;

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

vb连接halcon读取图像

halcon基本,vb连接halcon读取图像,视频 halcon学习方法:安装完halcon之后,在开始里出现一些文档 quick_guide.pdf 快速入门halcon hdevelop_users_guide.pdf 详细讲解在hdevelop中使用halcon,及hdevelop的操作 programmers_guide.pdf 详细讲解在高级语言中的使用halcon reference_hdevelop.pdf 讲解各个算子、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、vb中使用halcon窗口加载图像 1.读取图像 [cpp]view plaincopyprint? 1.read_image (Lena, 'F:/image/lena.jpg') 2.get_image_size (Lena, Width, Height) 3.dev_close_window () 4.dev_open_window (0, 0, Width/2, Height/2, 'black', WindowHandle) 5.set_display_font (WindowHandle, 14, 'mono', 'true', 'false') 6.dev_display (Lena) 7.disp_continue_message (WindowHandle, 'black', 'true') 8.stop () 2.导出vb的bas代码 选择文件/导出,弹出

注意:此处选择使用halcon窗口 3.vb中调用read_image.bas 先看一下read_image.bas的内容,可知在需要的地方直接调用main即可 [vb]view plaincopyprint? 1.... 2. 3.' Main procedure 4.Private Sub action() 5. 6. ' Local iconic variables 7. Dim ho_Lena As HUntypedObjectX 8. 9. 10. ' Local control variables 11. Dim hv_Width As Variant, hv_Height As Variant 12. Dim hv_WindowHandle As Variant 13. 14. 15. Call Op.ReadImage(ho_Lena, "F:/image/lena.jpg") 16. Call Op.GetImageSize(ho_Lena, hv_Width, hv_Height) 17. If COMExpWinHandleStack.IsOpen() Then 18. Op.CloseWindow (COMExpWinHandleStack.Pop()) 19. End If 20. Call Op.SetWindowAttr("background_color", "black") 21. Call Op.OpenWindow(0, 0, Tuple.TupleDiv( _ 22. hv_Width, 2), Tuple.TupleDiv(hv_Height, 2), 0, "", "", hv_WindowHandle) 23. COMExpWinHandleStack.Push (hv_WindowHandle) 24. Call set_display_font(hv_WindowHandle, 14, "mono", "true", "false") 25. If COMExpWinHandleStack.IsOpen() Then 26. Call Op.DispObj(ho_Lena, COMExpWinHandleStack.GetActive()) 27. End If 28. Call disp_continue_message(hv_WindowHandle, "black", "true") 29. HDevelopStop 30.End Sub 31. 32. 33. 34.#If Not NO_EXPORT_APP_MAIN Then 35.Sub InitHalcon() 36. ' Default settings used in HDevelop 37. Call Op.SetSystem("do_low_error", "false") 38.End Sub 39. 40.Sub Main() 41. Call InitHalcon 42. Call action 43.End Sub 44. 45.#End If

Halcon机器视觉二维码实例及分步注解

Halcon机器视觉二维码实例及分步注解 [plain]view plaincopy 1.*2D Code generated by Image Acquisition01 2.*QR Code 3.dev_close_window() 4.dev_open_window(0,0,400,400,'black',WindowHandle) 5.*先关闭活动图形窗口,再打开这个窗口,标识符为WindowHandle; 6.*相对于界面左上角第0行、第0列,大小为400×400像素,颜色为黑色。 7.open_framegrabber('DirectShow',1,1,0,0,0,0,'default',8,'rgb',-1,'false','defa ult','Gsou USB2.0Camera',0,-1,AcqHandle) 8.*打开帧接收器(图像采集设备,如摄像头,工业相机等),参数(Parameter)详见这个算子 9.*注意摄像头的名称,可以用工具栏中的“助手”——打开新的Image Acquisition获取摄像头及插入代码 10.grab_image_start(AcqHandle,-1) 11.while(true) 12.grab_image_async(Image,AcqHandle,-1) 13.create_data_code_2d_model('QR Code',[],[],DataCodeHandle) 14.*二维码的创建开头的算子,clear为结束清除的算子,见下。 15.set_display_font(WindowHandle,16,'mono','true','false') 16.dev_set_color('forest green') 17.dev_set_draw('margin') 18.dev_set_line_width(3) 19.set_data_code_2d_param(DataCodeHandle,'default_parameters','enhanced_recognition') 20.*设置选定参数的二维数据模型,参数详见这个算子 21.find_data_code_2d(Image,SymbolXLDs,DataCodeHandle,[],[],ResultHandles,DecodedDa taStrings) 22.*检测和读取二维代码符号,也支持读取二维数据模型的序列,参数详见这个算子 23.for i:=0to|ResultHandles|-1by1 24.select_obj(SymbolXLDs,SymbolXLD,i+1) 25.get_contour_xld(SymbolXLD,Row,Col) 26.get_string_extents(WindowHandle,DecodedDataStrings[i],Ascent,Descent,TxtWidth ,TxtHeight) 27.disp_message(WindowHandle,DecodedDataStrings[i],'image',max(Row-50),max([min( Col+30)-TxtWidth/2,1]),'black','true') 28.endfor 29.*这段for循环语句的目的是让解码到的字符串(二维码的内容)显示到二维码深绿色(forest green上 面定义)的解码区域框的行列位置。 30.*disp_message(WindowHandle,DecodedDataStrings,'window',12,12,'black','true') 31.*如果不需要设置显示到区域框中间的位置,而是显示到窗体的上方或其他位置,那么不需要上面那段for 语句,只需这段信息显示的语句即可显示到窗体相应位置。 32.if(|DecodedDataStrings|>0) 33.disp_continue_message(WindowHandle,'black','true')

机器视觉之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算子注解查询手册

Chapter 1 :Classification (4) 1.1 Gaussian-Mixture-Models (4) 1.2 Hyperboxes (4) 1.3 Neural-Nets (5) 1.4 Support-Vector-Machines (6) Chapter 2 Control (7) Chapter3 :Develop (8) Chapter 4 :File (10) 4.1 Images (10) 4.2 Misc (10) 4.3 Region (10) 4.4 Text (10) 4.5 Tuple (11) Chapter 5:Filter (12) 5.1 Arithmetic (12) 5.2 Bit (12) 5.3 Color (13) 5.4 Edges (13) 5.5 Enhancement (14) 5.6 FFT (15) 5.7 Geometric-Transformations (16) 5.8 Inpainting (17) 5.9 Lines (17) 5.10 Match (18) 5.11 Misc (18) 5.12 Noise (18) 5.13 Optical-Flow (19) 5.14 Points (19) 5.15 Smoothing (19) 5.16 Texture (20) 5.17 Wiener-Filter (20) Chapter 6 :Graphics (21) 6.1 Drawing (21) 6.2 Gnuplot (22) 6.3 LUT (22) 6.4 Mouse (23) 6.5 Output (23) 6.6 Parameters (24) 6.7 Text (26) 6.8 Window (27) Chapter 7 :Image (28) 7.1 Access (28) 7.2 Acquisition (28) 7.3 Channel (29)

Halcon学习笔记之缺陷检测(二)教学教材

Halcon学习笔记之缺陷检测(二)例程:detect_indent_fft.hdev 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波); 然后,将原图和构造的滤波器进行快速傅里叶变换; 最后,利用形态学算子将缺陷表示在滤波后的图片上(在缺陷上画圈)。 注:代码中绿色部分为个人理解和注释,其余为例程中原有代码 *Initialization(初始化) dev_updata_off() //这一句包含如下三个算子: //dev_updata_pc(‘off’) 关闭更新程序计数器//dev_updata_var(‘off’) 关闭更新变量窗口 //dev_updata_window(‘off’) 关闭更新图像窗口(即通过命令来显示想要在图像窗口显示的图片) dev_close_window() //关闭活动的图像窗口 read_image(Image,’plastics / plastics_01’) //载入图片//参数说明:为读入图片命名(Image)// 文件名(’plastics/plastics_01’) get_image_size(Image,Width,height) //获取图片的长宽;//参数说明:之前读入或生成的图片(Image)// 图片的宽(Width)// 图片的高(Height) dev_open_window(0,0,Width,Height,’Black’,WindowHandle) //打开一个新的图像窗口//参数说明:起始坐标(0,0)// 大小(Width,Height)// 背景颜色(’Black’)// 窗口句柄(WindowHandle) set_display_font (WindowHandle,14,’mono’,’ture’,’false’)//设置不依赖操作系统的字体 //参数说明:窗口句柄(WindowHandle)

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算子中文功能注解

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 功能:向一个文件中写入一个多层感知器的训练数据。

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中文中文注解

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 ) 获取图像生成的时间。

Halcon学习笔记之缺陷检测(二)

Halcon学习笔记之缺陷检测(二)例程: 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波器(将原图通过高斯滤波器滤波); 然后,将原图和构造的滤波器进行快速傅里叶变换; 最后,利用形态学算子将缺陷表示在滤波后的图片上(在缺陷上画圈)。 注:代码中绿色部分为个人理解和注释,其余为例程中原有代码 *Initialization(初始化) dev_updata_off() //这一句包含如下三个算子: //dev_updata_pc(‘off’) 关闭更新程序计数器//dev_updata_var(‘off’) 关闭更新变量窗口 //dev_updata_window(‘off’) 关闭更新图像窗口(即通过命令来显示想要在图像窗口显示的图片) dev_close_window() //关闭活动的图像窗口 read_image(Image,’plastics / plastics_01’) //载入图片//参数说明:为读入图片命名(Image)// 文件名(’plastics/plastics_01’)get_image_size(Image,Width,height) //获取图片的长宽;//参数说明:之前读入或生成的图片(Image)// 图片的宽(Width)// 图片的高(Height) dev_open_window(0,0,Width,Height,’Black’,WindowHandle) //打开一个新的图像窗口//参数说明:起始坐标(0,0)// 大小(Width,Height)// 背景颜色(’Black’)// 窗口句柄(WindowHandle) set_display_font (WindowHandle,14,’mono’,’ture’,’false’)//设置不依赖操作系统的字体 //参数说明:窗口句柄(WindowHandle) // 字体大小(14) // 字体类型(’mono’) // 是否黑体(’ture’) // 是否倾斜(’false’) dev_set_draw(‘Margin’) //定义区域填充模式//参数说明:填充模式(’Margin’或者’Fill’) dev_set_line_width(3)//设置输出区域轮廓线的线宽//可以修改参数来看最后缺陷区域标示的区别dev_set_color(’red’)//设置一种或者多种输出颜色 * *Optimize the fft speed for the specific image size(根据指定图像大小进行fft速度最优化) optimize_rft_speed(Width,Height,’standard’)//对指定大小的图片的fft速度进行优化//参数说明:图片大小(Width,Height)// 优化模式(’standard’) * *Construct a suitable filter by combining two Gaussian filters(结合两个高斯滤波器构造一*个合适的滤波器)Sigma1 :=

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 : : ) 减少定义领域的图像

相关文档
相关文档 最新文档