《zw版·Halcon-delphi系列原创教程》 Halcon分类函数004·edge,边缘处理

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数004·edge,边缘处理

为方便阅读,在不影响说明的前提下,笔者对函数进行了简化:

  • :: 用符号“**”,替换:“procedure”
  • :: 用大写字母“X”,替换:“IHUntypedObjectX”
  • :: 省略了字符:“const”、“OleVariant”

【示例】 说明

函数:

procedure AddNoiseWhiteContourXld( const Contours: IHUntypedObjectX; out NoisyContours: IHUntypedObjectX; NumRegrPoints: OleVariant; Amp: OleVariant);

简化后为:

** AddNoiseWhiteContourXld( Contours: X; out NoisyContours: X; NumRegrPoints, Amp);

 1 ** CloseEdges( Edges: X; EdgeImage: X; out RegionResult: X; MinAmplitude); 
 2 说明,  close_edges,使用边缘幅值图像消除边缘缺陷。
 3 
 4 ** CloseEdgesLength( Edges: X; Gradient: X; out ClosedEdges: X; MinAmplitude, MaxGapLength); 
 5 说明,  close_edges_length,使用边缘幅值图像消除边缘缺陷。
 6 
 7 ** CombineRoadsXld( EdgePolygons: X; ModParallels: X; ExtParallels: X; CenterLines: X; out RoadSides: X; MaxAngleParallel, MaxAngleColinear, MaxDistanceParallel, MaxDistanceColinear); 
 8 说明,  combine_roads_xld,合并两个等级分辨率中的路(road)。
 9 
10 ** DetectEdgeSegments( Image: X; SobelSize, MinAmplitude, MaxDistance, MinLength, out BeginRow, out BeginCol, out EndRow, out EndCol); 
11 说明,  detect_edge_segments,检测直线边缘分割。
12 
13 ** EdgesColor( Image: X; out ImaAmp: X; out ImaDir: X; Filter, Alpha, NMS, Low, High); 
14 说明,  edges_color,使用Canny、Deriche或者 Shen 滤波器提取颜色边缘。
15 
16 ** EdgesColorSubPix( Image: X; out Edges: X; Filter, Alpha, Low, High); 
17 说明,  edges_color_sub_pix,使用Canny、Deriche或者 Shen 滤波器提取子像素精确颜色边缘。
18 
19 ** EdgesImage( Image: X; out ImaAmp: X; out ImaDir: X; Filter, Alpha, NMS, Low, High);
20 
21 ** EdgesSubPix( Image: X; out Edges: X; Filter, Alpha, Low, High); 
22 说明,  edges_sub_pix,使用Deriche、 Lanser、Shen或者 Canny滤波器提取子像素精确边缘。
23 
24 ** FreiAmp( Image: X; out ImageEdgeAmp: X); 
25 说明,  frei_amp,使用Frei-Chen算子检测边缘(幅值)。
26 
27 ** FreiDir( Image: X; out ImageEdgeAmp: X; out ImageEdgeDir: X); 
28 说明,  frei_dir,使用Frei-Chen算子检测边缘(幅值和相位)。
29 
30 ** FuzzyMeasurePairing( Image: X; MeasureHandle, Sigma, AmpThresh, FuzzyThresh, Transition, Pairing, NumPairs, out RowEdgeFirst, out ColumnEdgeFirst, out AmplitudeFirst, out RowEdgeSecond, out ColumnEdgeSecond, out AmplitudeSecond, out RowPairCenter, out ColumnPairCenter, out FuzzyScore, out IntraDistance); 
31 说明,  fuzzy_measure_pairing,提取与矩形或环状弧垂直的直线边缘。
32 
33 ** FuzzyMeasurePairs( Image: X; MeasureHandle, Sigma, AmpThresh, FuzzyThresh, Transition, out RowEdgeFirst, out ColumnEdgeFirst, out AmplitudeFirst, out RowEdgeSecond, out ColumnEdgeSecond, out AmplitudeSecond, out RowEdgeCenter, out ColumnEdgeCenter, out FuzzyScore, out IntraDistance, out InterDistance);
34 
35 ** FuzzyMeasurePos( Image: X; MeasureHandle, Sigma, AmpThresh, FuzzyThresh, Transition, out RowEdge, out ColumnEdge, out Amplitude, out FuzzyScore, out Distance);
36 
37 ** InfoEdges( Filter, Mode, Alpha, out Size, out Coeffs); 
38 说明,  info_edges,在edges_image估计滤波器的宽度。
39 
40 ** KirschAmp( Image: X; out ImageEdgeAmp: X); 
41 说明,  kirsch_amp,使用Kirsch算子检测边缘(幅值)。
42 
43 ** KirschDir( Image: X; out ImageEdgeAmp: X; out ImageEdgeDir: X); 
44 说明,  kirsch_dir,使用Kirsch算子检测边缘(幅值和相位)。
45 
46 ** LoadParKnowledge( FileName); 
47 说明,  load_par_knowledge,从文件中导入自动平行化信息。
48 
49 ** MeasurePairs( Image: X; MeasureHandle, Sigma, Threshold, Transition, Select, out RowEdgeFirst, out ColumnEdgeFirst, out AmplitudeFirst, out RowEdgeSecond, out ColumnEdgeSecond, out AmplitudeSecond, out IntraDistance, out InterDistance); 
50 说明,  measure_pairs,提取与矩形或环状弧垂直的直线边缘。
51 
52 ** MeasurePos( Image: X; MeasureHandle, Sigma, Threshold, Transition, Select, out RowEdge, out ColumnEdge, out Amplitude, out Distance);
53 
54 ** PrewittAmp( Image: X; out ImageEdgeAmp: X); 
55 说明,  prewitt_amp,使用Prewitt算子检测边缘(幅值)。
56 
57 ** PrewittDir( Image: X; out ImageEdgeAmp: X; out ImageEdgeDir: X); 
58 说明,  prewitt_dir,使用Prewitt算子检测边缘(幅值和相位)。
59 
60 ** ReadAopKnowledge( FileName, ParamName, ParamValue, out Attributes, out OperatorNames); 
61 说明,  读取aop观测点数据
62 
63 ** RobinsonAmp( Image: X; out ImageEdgeAmp: X); 
64 说明,  robinson_amp,使用Robinson算子检测边缘(幅值)。
65 
66 ** RobinsonDir( Image: X; out ImageEdgeAmp: X; out ImageEdgeDir: X); 
67 说明,  robinson_dir,使用Robinson算子检测边缘(幅值和相位)。
68 
69 ** SobelAmp( Image: X; out EdgeAmplitude: X; FilterType, Size); 
70 说明,  sobel_amp,使用Sobel算子检测边缘(幅值)。
71 
72 ** SobelDir( Image: X; out EdgeAmplitude: X; out EdgeDirection: X; FilterType, Size); 
73 说明,  sobel_dir,使用Sobel算子检测边缘(幅值和相位)。
74 
75 ** StoreParKnowledge( FileName); 
76 说明,  store_par_knowledge,在文件中存储关于自动平行化的信息。
77 
78 ** WriteAopKnowledge( FileName, ParamName, ParamValue); 
79 说明,  保存aop观测点数据