《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观测点数据