分享好友 编程语言首页 频道列表

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数007, match,图像匹配

delphi文章/教程  2023-02-09 10:280

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数007, match,图像匹配


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

  • :: 用符号“**”,替换:“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 ** BestMatch( Image: X; TemplateID, MaxError, SubPixel, out Row, out Column, out Error); 
  2 说明,  best_match,寻找一个模板和一个图像的最佳匹配。
  3 
  4 ** BestMatchMg( Image: X; TemplateID, MaxError, SubPixel, NumLevels, WhichLevels, out Row, out Column, out Error); 
  5 说明,  best_match_mg,在金字塔中寻找最佳灰度值匹配。
  6 
  7 ** BestMatchPreMg( ImagePyramid: X; TemplateID, MaxError, SubPixel, NumLevels, WhichLevels, out Row, out Column, out Error); 
  8 说明,  best_match_pre_mg,在预生成的金字塔中寻找最佳灰度值匹配。
  9 
 10 ** BestMatchRot( Image: X; TemplateID, AngleStart, AngleExtend, MaxError, SubPixel, out Row, out Column, out Angle, out Error); 
 11 说明,  best_match_rot,寻找一个模板和一个旋转图像的最佳匹配。
 12 
 13 ** BestMatchRotMg( Image: X; TemplateID, AngleStart, AngleExtend, MaxError, SubPixel, NumLevels, out Row, out Column, out Angle, out Error); 
 14 说明,  best_match_rot_mg,寻找一个模板和一个旋转金字塔的最佳匹配。
 15 
 16 ** ClearAllSurfaceMatchingResults; 
 17 说明,  清除所有表面匹配数据
 18 
 19 ** ClearSurfaceMatchingResult( SurfaceMatchingResultID); 
 20 说明,  清除表面匹配数据
 21 
 22 ** ExhaustiveMatch( Image: X; RegionOfInterest: X; ImageTemplate: X; out ImageMatch: X; Mode); 
 23 说明,  exhaustive_match,模板和图像的匹配。
 24 
 25 ** ExhaustiveMatchMg( Image: X; ImageTemplate: X; out ImageMatch: X; Mode, Level, Threshold); 
 26 说明,  exhaustive_match_mg,在一个分辨率塔式结构中匹配模板和图像。
 27 
 28 ** FastMatch( Image: X; out Matches: X; TemplateID, MaxError); 
 29 说明,  fast_match,寻找一个模板和一个图像的所有好的匹配。
 30 
 31 ** FastMatchMg( Image: X; out Matches: X; TemplateID, MaxError, NumLevel); 
 32 说明,  fast_match_mg,在金字塔中寻找所有好的灰度值匹配。
 33 
 34 ** FindAnisoShapeModel( Image: X; ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness, out Row, out Column, out Angle, out ScaleR, out ScaleC, out Score); 
 35 说明,  find_aniso_shape_model,在一个图像中找出一个各向异性尺度不变轮廓的最佳匹配。
 36 
 37 ** FindAnisoShapeModels( Image: X; ModelIDs, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness, out Row, out Column, out Angle, out ScaleR, out ScaleC, out Score, out Model); 
 38 说明,  find_aniso_shape_models,找出多重各向异性尺度不变轮廓模型的最佳匹配。
 39 
 40 ** FindCalibDescriptorModel( Image: X; ModelID, DetectorParamName, DetectorParamValue, DescriptorParamName, DescriptorParamValue, MinScore, NumMatches, CamParam, ScoreType, out Pose, out Score); 
 41 说明,  检测校准描述模型
 42 
 43 ** FindComponentModel( Image: X; ComponentModelID, RootComponent, AngleStartRoot, AngleExtentRoot, MinScore, NumMatches, MaxOverlap, IfRootNotFound, IfComponentNotFound, PosePrediction, MinScoreComp, SubPixelComp, NumLevelsComp, GreedinessComp, out ModelStart, out ModelEnd, out Score, out RowComp, out ColumnComp, out AngleComp, out ScoreComp, out ModelComp); 
 44 说明,  find_component_model,在一个图像中找出一个组件模型的最佳匹配。
 45 
 46 ** FindLocalDeformableModel( Image: X; out ImageRectified: X; out VectorField: X; out DeformedContours: X; ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, ResultType, ParamName, ParamValue, out Score, out Row, out Column);
 47 
 48 ** FindNccModel( Image: X; ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, out Row, out Column, out Angle, out Score); 
 49 说明,  find_ncc_model,找出一个图像中的一个NCC模型的最佳匹配。
 50 
 51 ** FindPlanarCalibDeformableModel( Image: X; ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, ParamName, ParamValue, out Pose, out CovPose, out Score); 
 52 说明,  检测校准平面变形模型
 53 
 54 ** FindPlanarUncalibDeformableModel( Image: X; ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, ParamName, ParamValue, out HomMat2d, out Score); 
 55 说明,  检测无校准平面变形模型
 56 
 57 ** FindScaledShapeModel( Image: X; ModelID, AngleStart, AngleExtent, ScaleMin, ScaleMax, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness, out Row, out Column, out Angle, out Scale, out Score); 
 58 说明,  find_scaled_shape_model,在一个图像中找出一个尺度不变轮廓模型的最佳匹配。
 59 
 60 ** FindScaledShapeModels( Image: X; ModelIDs, AngleStart, AngleExtent, ScaleMin, ScaleMax, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness, out Row, out Column, out Angle, out Scale, out Score, out Model); 
 61 说明,  find_scaled_shape_models,找出多重尺度不变轮廓模型的最佳匹配。
 62 
 63 ** FindShapeModel( Image: X; ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness, out Row, out Column, out Angle, out Score); 
 64 说明,  find_shape_model,在一个图像中找出一个轮廓模型的最佳匹配。
 65 
 66 ** FindShapeModels( Image: X; ModelIDs, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness, out Row, out Column, out Angle, out Score, out Model); 
 67 说明,  find_shape_models,找出多重轮廓模型的最佳匹配。
 68 
 69 ** FindSurfaceModel( SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue, out Pose, out Score, out SurfaceMatchingResultID); 
 70 说明,  找出表面模型
 71 
 72 ** FindUncalibDescriptorModel( Image: X; ModelID, DetectorParamName, DetectorParamValue, DescriptorParamName, DescriptorParamValue, MinScore, NumMatches, ScoreType, out HomMat2d, out Score); 
 73 说明,  找出无校准平面变形模型
 74 
 75 ** GetFoundComponentModel( out FoundComponents: X; ComponentModelID, ModelStart, ModelEnd, RowComp, ColumnComp, AngleComp, ScoreComp, ModelComp, ModelMatch, MarkOrientation, out RowCompInst, out ColumnCompInst, out AngleCompInst, out ScoreCompInst); 
 76 说明,  get_found_component_model,返回一个组件模型的一个创建例子的组件。
 77 
 78 ** GetSurfaceMatchingResult( SurfaceMatchingResultID, ResultName, ResultIndex, out ResultValue); 
 79 说明,  获取表面匹配结果
 80 
 81 ** MatchEssentialMatrixRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, CamMat1, CamMat2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out EMatrix, out CovEMat, out Error, out Points1, out Points2); 
 82 说明,  按RANSA算法匹配矩阵
 83 
 84 ** MatchFourierCoeff( RealCoef1, ImaginaryCoef1, RealCoef2, ImaginaryCoef2, MaxCoef, Damping, out Distance); 
 85 说明,  match_fourier_coeff,两个元组的相似性。
 86 
 87 ** MatchFunct1DTrans( Function1, Function2, Border, Params, UseParams, out Params, out ChiSquare, out Covar); 
 88 说明,  match_funct_1d_trans,计算两个函数传递参数。
 89 
 90 ** MatchFundamentalMatrixDistortionRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out FMatrix, out Kappa, out Error, out Points1, out Points2); 
 91 说明,  按RANSA算法匹配矩阵,有失真度参数
 92 
 93 ** MatchFundamentalMatrixRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out FMatrix, out CovFMat, out Error, out Points1, out Points2); 
 94 说明,  按RANSA算法匹配矩阵,基本匹配
 95 
 96 ** MatchRelPoseRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, CamPar1, CamPar2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out RelPose, out CovRelPose, out Error, out Points1, out Points2); 
 97 说明,  按RANSA算法匹配相对位置
 98 
 99 ** ProjMatchPointsDistortionRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Kappa, out Error, out Points1, out Points2); 
100 说明,  Ransac算法节点投影失真计算
101 
102 ** ProjMatchPointsDistortionRansacGuided( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, HomMat2dGuide, KappaGuide, DistanceTolerance, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Kappa, out Error, out Points1, out Points2); 
103 说明,  Ransac引导算法节点投影失真计算
104 
105 ** ProjMatchPointsRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Points1, out Points2); 
106 说明,  Ransac算法,投影节点匹配
107 
108 ** ProjMatchPointsRansacGuided( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, HomMat2dGuide, DistanceTolerance, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Points1, out Points2); 
109 说明,  Ransac引导算法,投影节点匹配
110 
111 ** RefineSurfaceModelPose( SurfaceModelID, ObjectModel3D, InitialPose, MinScore, ReturnResultHandle, GenParamName, GenParamValue, out Pose, out Score, out SurfaceMatchingResultID); 
112 说明,  细化表面模型
113 
114 ** SelectMatchingLines( RegionIn: X; out RegionLines: X; AngleIn, DistIn, LineWidth, Thresh, out AngleOut, out DistOut); 
115 说明,  select_matching_lines,选取HNF中线的集合中匹配区域最好的线。
116 
117 ** TupleRegexpMatch( Data, Expression, out Matches); 
118 说明,  tuple_regexp_match,利用公式提取子链。
119 
120 ** TupleRegexpTest( Data, Expression, out NumMatches); 
121 说明,  tuple_regexp_test,测试一个字符串是否满足一个规则公式的要求。

 

查看更多关于【delphi文章/教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Delphi中的消息处理机制 delphi 方法
每一个VCL都有一内在的消息处理机制,其基本点就是构件类接收到某些消息并把它们发送给适当的处理方法,如果没有特定的处理方法,则调用缺省的消息处理句柄。    其中mainwndproc是定义在Twincontrol类中的一个静态方法,不能被重载(Override)。它不直接处

0评论2023-02-09482

Delphi CompilerVersion Constant / Compiler Conditional Defines
http://delphi.wikia.com/wiki/CompilerVersion_Constant The CompilerVersion constant identifies the internal version number of the Delphi compiler.It is defined in the System unit and may be referenced either in code just as any other consta

0评论2023-02-09888

Delphi revelations #1 – kbmMW Smart client on NextGen (Android) – Scope problems kbmmw中向服务器端传递
Delphi 启示 #1 – kbmMW Smart client on NextGen (Android) – 作用域问题以更高级的方式使用kbmMW smart client,在Android设备上,我遇到了问题。通过继承TInvokeableVariantType,kbmMW smart client可以使用Delphi支持的特殊类型的自定义Variant,从而可

0评论2023-02-09360

Delphi 调用DLL外部函数时的指针参数
某项目需要调用设备厂家提供的DLL的函数,厂家给了一个VB的例子,有个参数是ByRef pBuffer As Single。于是在Delphi中用buffer:array of single代替:function func(buffer:array of single;count:integer):integer;far;stdcall;external 'func.dll';调用后bu

0评论2023-02-09964

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数012,polygon,多边形
《zw版·Halcon-delphi系列原创教程》 Halcon分类函数012,polygon,多边形为方便阅读,在不影响说明的前提下,笔者对函数进行了简化::: 用符号“**”,替换:“procedure”:: 用大写字母“X”,替换:“IHUntypedObjectX”:: 省略了字符:“const”、“OleVa

0评论2023-02-09662

最简单的delphi启动画面(转)
首先做一窗体,然后将BorderStyle的属性设为bsnone,放image控件,align设为alclient 然后将主程序的修改为 uses Windows, Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$ R *.res} begin Application.Initialize; Form2:=TForm2.Cre

0评论2023-02-09349

Delphi备忘三:TCollection的使用,用Stream保存
 代码unit ufrmGetFunctionDefine;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,TypInfo,  Dialogs,ufrmStockBaseCalc, StdCtrls, ComCtrls,uQEFuncManager,uWnDataSet,uDataService;type  T

0评论2023-02-09409

Delphi Dcp 和BPL的解释
dcp = delphi compiled package,是 package 编译时跟 bpl 一起产生出来的,记录着 package 中公开的 class、procedure、function、variable、const.... 等等的名称和相对位址。package英文翻译过来就是“包”。如果 某个控件包 A 引用了 控件包 B,当 控件包

0评论2023-02-09393

Delphi面向对象学习随笔六:接口 delphi基础
作者:巴哈姆特(转载请注明出处并保持完整) 在对象化中,类的继承是一个非常强大的机制;而更加强大的继承机制应该是来自从一个接口的继承。    本篇我们将讨论接口的特点。    首先,接口的定义方式与类相似。不同的是:类代表了一种实体,而接口代

0评论2023-02-09803

Delphi 的字符及字符串[2] - Char、AnsiChar、WideChar、PChar、PAnsiChar、PWideChar
//单字符 Char、AnsiChar (在目前版本(2007)中, 它们是一回事, 只有 1 字节大小)var  c: Char; {Char 类型的取值范围是: #0..#255, 用十六进制表示是: #$0..#$FF}begin  {用十进制方式赋值:}  c := #65;  ShowMessage(c); {A}  {用十六进制方式赋值:} 

0评论2023-02-09353

Delphi XE2读取内存偏移数据代码
刚学习的时候直接读取基值是很简单的,但是类型[[[00a41ff0+1c]+34]+490]这样的偏移数值应该如何读取呢?下面给大家分享下Delphi 的代码:varGameH:HWND; {定义窗口句柄}GamePid:DWORD;{定义窗口进程ID}ReadByte:SIZE_T;{实际读取字节}Gamehprocess: THandle;

0评论2023-02-09681

Delphi TStream 详细介绍
Delphi TStream 详细介绍Stream对象,又称流式对象,是TStream、THandleStream、TFileStream、TMemoryStream、TResourceStream和TBlobStream等的统称。它们分别代表了在各种媒介上存储数据的能力,它们将各种数据类型(包括对象和部件) 在内存、外存和数据库字

0评论2023-02-09728

Delphi 数据类型的说明
简单类型包括实数类型(Real) 和有序类型(Ordinal),有序类型又包括整数类型,字符类型,布尔类型,枚举类型和子界类型等。数据类型                       范围                                 

0评论2023-02-09615

问题-[Delphi]MainFrame.pas(4340): E2036 Variable required
问题现象:写了一个TObjectList的Sort方法,但是写成ObjectList.Sort(@SortBridgeEDOReportQtys); 再F9时提示“E2036 Variable required”。 问题原因:[DCC错误] MainFrame.pas(4340):要求E2036变解决方法:ObjectList.Sort(@SortBridgeEDOReportQtys);

0评论2023-02-09927

Delphi发送邮件...
///首先在控件栏定位到:Indy Clients加入控件IdSMTP///再定位到:Indy Misc加入控件IdMessage ///发送邮件函数procedure TForm1.SendMail(YYuser: string;YYpass:string); begin try IdSMTP1.AuthenticationType:=atLogin; //设置登陆类型 IdSMTP1.Username:=

0评论2023-02-09383

更多推荐