Name 
proj_match_points_distortion_ransac T_proj_match_points_distortion_ransac ProjMatchPointsDistortionRansac ProjMatchPointsDistortionRansac 
proj_match_points_distortion_ransac (Image1 Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed HomMat2D Kappa Error Points1 Points2 
 
Herror T_proj_match_points_distortion_ransac (const Hobject Image1 Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed HomMat2D Kappa Error Points1 Points2  
 
void ProjMatchPointsDistortionRansac (const HObject& Image1 Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed HomMat2D Kappa Error Points1 Points2  
HHomMat2D  HImage ::ProjMatchPointsDistortionRansac (const HImage& Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed Kappa Error Points1 Points2 
HHomMat2D  HImage ::ProjMatchPointsDistortionRansac (const HImage& Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed Kappa Error Points1 Points2 
HHomMat2D  HImage ::ProjMatchPointsDistortionRansac (const HImage& Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed Kappa Error Points1 Points2 
double HHomMat2D ::ProjMatchPointsDistortionRansac (const HImage& Image1 Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed Error Points1 Points2  
double HHomMat2D ::ProjMatchPointsDistortionRansac (const HImage& Image1 Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed Error Points1 Points2  
double HHomMat2D ::ProjMatchPointsDistortionRansac (const HImage& Image1 Image2 Rows1 Cols1 Rows2 Cols2 GrayMatchMethod MaskSize RowMove ColMove RowTolerance ColTolerance Rotation MatchThreshold EstimationMethod DistanceThreshold RandSeed Error Points1 Points2  
 
static void HOperatorSet .ProjMatchPointsDistortionRansac (HObject  image1 HObject  image2 HTuple  rows1 HTuple  cols1 HTuple  rows2 HTuple  cols2 HTuple  grayMatchMethod HTuple  maskSize HTuple  rowMove HTuple  colMove HTuple  rowTolerance HTuple  colTolerance HTuple  rotation HTuple  matchThreshold HTuple  estimationMethod HTuple  distanceThreshold HTuple  randSeed HTuple  homMat2D HTuple  kappa HTuple  error HTuple  points1 HTuple  points2  
HHomMat2D  HImage .ProjMatchPointsDistortionRansac (HImage  image2 HTuple  rows1 HTuple  cols1 HTuple  rows2 HTuple  cols2 grayMatchMethod maskSize rowMove colMove rowTolerance colTolerance HTuple  rotation HTuple  matchThreshold estimationMethod HTuple  distanceThreshold randSeed kappa error HTuple  points1 HTuple  points2 
HHomMat2D  HImage .ProjMatchPointsDistortionRansac (HImage  image2 HTuple  rows1 HTuple  cols1 HTuple  rows2 HTuple  cols2 grayMatchMethod maskSize rowMove colMove rowTolerance colTolerance rotation matchThreshold estimationMethod distanceThreshold randSeed kappa error HTuple  points1 HTuple  points2 
double HHomMat2D .ProjMatchPointsDistortionRansac (HImage  image1 HImage  image2 HTuple  rows1 HTuple  cols1 HTuple  rows2 HTuple  cols2 grayMatchMethod maskSize rowMove colMove rowTolerance colTolerance HTuple  rotation HTuple  matchThreshold estimationMethod HTuple  distanceThreshold randSeed error HTuple  points1 HTuple  points2  
double HHomMat2D .ProjMatchPointsDistortionRansac (HImage  image1 HImage  image2 HTuple  rows1 HTuple  cols1 HTuple  rows2 HTuple  cols2 grayMatchMethod maskSize rowMove colMove rowTolerance colTolerance rotation matchThreshold estimationMethod distanceThreshold randSeed error HTuple  points1 HTuple  points2  
 
Given a set of coordinates of characteristic points
(Rows1 Rows1 Rows1 Rows1 rows1 Cols1 Cols1 Cols1 Cols1 cols1 Rows2 Rows2 Rows2 Rows2 rows2 Cols2 Cols2 Cols2 Cols2 cols2 Image1 Image1 Image1 Image1 image1 Image2 Image2 Image2 Image2 image2 proj_match_points_distortion_ransac proj_match_points_distortion_ransac ProjMatchPointsDistortionRansac ProjMatchPointsDistortionRansac ProjMatchPointsDistortionRansac HomMat2D HomMat2D HomMat2D HomMat2D homMat2D Kappa Kappa Kappa Kappa kappa 
  
    
       
    
       
    
       
   
  
     
  
     
  
     
 
Here, 
  
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
 calibrate_cameras calibrate_cameras CalibrateCameras CalibrateCameras CalibrateCameras 
  
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
  
     
 proj_match_points_distortion_ransac proj_match_points_distortion_ransac ProjMatchPointsDistortionRansac ProjMatchPointsDistortionRansac ProjMatchPointsDistortionRansac The returned Kappa Kappa Kappa Kappa kappa change_radial_distortion_cam_par change_radial_distortion_cam_par ChangeRadialDistortionCamPar ChangeRadialDistortionCamPar ChangeRadialDistortionCamPar change_radial_distortion_image change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_points change_radial_distortion_points ChangeRadialDistortionPoints ChangeRadialDistortionPoints ChangeRadialDistortionPoints 
The matching process is based on characteristic points, which can be
extracted with point operators like points_foerstner points_foerstner PointsFoerstner PointsFoerstner PointsFoerstner points_harris points_harris PointsHarris PointsHarris PointsHarris 
The size of the mask windows used for the matching is
MaskSize MaskSize MaskSize MaskSize maskSize MaskSize MaskSize MaskSize MaskSize maskSize GrayMatchMethod GrayMatchMethod GrayMatchMethod GrayMatchMethod grayMatchMethod 'ssd' "ssd" "ssd" "ssd" "ssd" 'sad' "sad" "sad" "sad" "sad" 'ncc' "ncc" "ncc" "ncc" "ncc" binocular_disparity binocular_disparity BinocularDisparity BinocularDisparity BinocularDisparity 'ssd' "ssd" "ssd" "ssd" "ssd" 'sad' "sad" "sad" "sad" "sad" 'ncc' "ncc" "ncc" "ncc" "ncc" MatchThreshold MatchThreshold MatchThreshold MatchThreshold matchThreshold 'ssd' "ssd" "ssd" "ssd" "ssd" 'sad' "sad" "sad" "sad" "sad" 'ncc' "ncc" "ncc" "ncc" "ncc" 
To increase the algorithm's performance, the search area for the
match candidates can be limited to a rectangle by specifying its
size and offset.  Only points within a window of 
  
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
  
     
  
     
  
     
  
     
 RowMove RowMove RowMove RowMove rowMove ColMove ColMove ColMove ColMove colMove 
If the transformation contains a rotation, i.e., if the first image
is rotated with respect to the second image, the parameter
Rotation Rotation Rotation Rotation rotation Rotation Rotation Rotation Rotation rotation 
After the initial matching has been completed, a randomized search
algorithm (RANSAC) is used to determine the projective
transformation matrix HomMat2D HomMat2D HomMat2D HomMat2D homMat2D Kappa Kappa Kappa Kappa kappa DistanceThreshold DistanceThreshold DistanceThreshold DistanceThreshold distanceThreshold 
The parameter EstimationMethod EstimationMethod EstimationMethod EstimationMethod estimationMethod EstimationMethod EstimationMethod EstimationMethod EstimationMethod estimationMethod 'linear' "linear" "linear" "linear" "linear" EstimationMethod EstimationMethod EstimationMethod EstimationMethod estimationMethod 'gold_standard' "gold_standard" "gold_standard" "gold_standard" "gold_standard" EstimationMethod EstimationMethod EstimationMethod EstimationMethod estimationMethod 'gold_standard' "gold_standard" "gold_standard" "gold_standard" "gold_standard" 
The value Error Error Error Error error 
Point pairs consistent with the above constraints are considered to
be corresponding points.  Points1 Points1 Points1 Points1 points1 Points2 Points2 Points2 Points2 points2 
The parameter RandSeed RandSeed RandSeed RandSeed randSeed RandSeed RandSeed RandSeed RandSeed randSeed RandSeed RandSeed RandSeed RandSeed randSeed RandSeed RandSeed RandSeed RandSeed randSeed 0 , the random number generator is initialized with the
current time.  In this case the results may not be reproducible.
  Multithreading type: reentrant (runs in parallel with non-exclusive operators). 
Multithreading scope: global (may be called from any thread). 
  Processed without parallelization. 
 
  
  
  
Input points in image 1 (row coordinate).
Restriction:  length(Rows1) >= 5 
 
  
Input points in image 1 (column coordinate).
Restriction:  length(Cols1) == length(Rows1) 
 
  
Input points in image 2 (row coordinate).
Restriction:  length(Rows2) >= 5 
 
  
Input points in image 2 (column coordinate).
Restriction:  length(Cols2) == length(Rows2) 
 
  
Gray value match metric.
Default value:  
    'ncc' 
    "ncc" 
    "ncc" 
    "ncc" 
    "ncc" 
List of values:  'ncc' "ncc" "ncc" "ncc" "ncc" , 'sad' "sad" "sad" "sad" "sad" , 'ssd' "ssd" "ssd" "ssd" "ssd" 
 
  
Size of gray value masks.
Default value:  10
Typical range of values:  3
          ≤
        
    MaskSize 
    MaskSize 
    MaskSize 
    MaskSize 
    maskSize 
    
          ≤
          15 
Restriction:  MaskSize >= 1 
 
  
Average row coordinate offset of corresponding points.
Default value:  0
 
  
Average column coordinate offset of corresponding points.
Default value:  0
 
  
Half height of matching search window.
Default value:  200
Restriction:  RowTolerance >= 1 
 
  
Half width of matching search window.
Default value:  200
Restriction:  ColTolerance >= 1 
 
  
Estimate of the relative rotation of the second image
with respect to the first image.
Default value:  0.0
Suggested values:  0.0, 0.1, -0.1, 0.7854, 1.571, 3.142
 
  
Threshold for gray value matching.
Default value:  0.7
Suggested values:  0.9, 0.7, 0.5, 10, 20, 50, 100
 
  
Algorithm for the computation of the projective
transformation matrix.
Default value:  
    'gold_standard' 
    "gold_standard" 
    "gold_standard" 
    "gold_standard" 
    "gold_standard" 
List of values:  'gold_standard' "gold_standard" "gold_standard" "gold_standard" "gold_standard" , 'linear' "linear" "linear" "linear" "linear" 
 
  
Threshold for the transformation consistency check.
Default value:  1
Restriction:  DistanceThreshold > 0 
 
  
Seed for the random number generator.
Default value:  0
 
  
Computed homogeneous projective transformation matrix.
 
  
Computed radial distortion coefficient.
 
  
Root-Mean-Square transformation error.
 
  
Indices of matched input points in image 1.
 
  
Indices of matched input points in image 2.
 
points_foerstner (Image1, 1, 2, 3, 50, 0.1, 'gauss', 'true', \
                  Rows1, Cols1, _, _, _, _, _, _, _, _)
points_foerstner (Image2, 1, 2, 3, 50, 0.1, 'gauss', 'true', \
                  Rows2, Cols2, _, _, _, _, _, _, _, _)
get_image_size (Image1, Width, Height)
proj_match_points_distortion_ransac (Image1, Image2, Rows1, Cols1, \
                                     Rows2, Cols2, 'ncc', 10, 0, 0, \
                                     Height, Width, 0, 0.5, \
                                     'gold_standard', 1, 42, \
                                     HomMat2D, Kappa, Error, \
                                     Points1, Points2)
CamParDist := ['area_scan_division',0.0,Kappa,1.0,1.0, \
               0.5*(Width-1),0.5*(Height-1),Width,Height]
change_radial_distortion_cam_par ('fixed', CamParDist, 0, CamPar)
change_radial_distortion_image (Image1, Image1, Image1Rect, \
                                CamParDist, CamPar)
change_radial_distortion_image (Image2, Image2, Image2Rect, \
                                CamParDist, CamPar)
concat_obj (Image1Rect, Image2Rect, ImagesRect)
gen_projective_mosaic (ImagesRect, MosaicImage, 1, 1, 2, HomMat2D, \
                       'default', 'false', MosaicMatrices2D)
 
points_foerstner points_foerstner PointsFoerstner PointsFoerstner PointsFoerstner points_harris points_harris PointsHarris PointsHarris PointsHarris 
vector_to_proj_hom_mat2d_distortion vector_to_proj_hom_mat2d_distortion VectorToProjHomMat2dDistortion VectorToProjHomMat2dDistortion VectorToProjHomMat2dDistortion change_radial_distortion_cam_par change_radial_distortion_cam_par ChangeRadialDistortionCamPar ChangeRadialDistortionCamPar ChangeRadialDistortionCamPar change_radial_distortion_image change_radial_distortion_image ChangeRadialDistortionImage ChangeRadialDistortionImage ChangeRadialDistortionImage change_radial_distortion_points change_radial_distortion_points ChangeRadialDistortionPoints ChangeRadialDistortionPoints ChangeRadialDistortionPoints gen_binocular_proj_rectification gen_binocular_proj_rectification GenBinocularProjRectification GenBinocularProjRectification GenBinocularProjRectification projective_trans_image projective_trans_image ProjectiveTransImage ProjectiveTransImage ProjectiveTransImage projective_trans_image_size projective_trans_image_size ProjectiveTransImageSize ProjectiveTransImageSize ProjectiveTransImageSize projective_trans_region projective_trans_region ProjectiveTransRegion ProjectiveTransRegion ProjectiveTransRegion projective_trans_contour_xld projective_trans_contour_xld ProjectiveTransContourXld ProjectiveTransContourXld ProjectiveTransContourXld projective_trans_point_2d projective_trans_point_2d ProjectiveTransPoint2d ProjectiveTransPoint2d ProjectiveTransPoint2d projective_trans_pixel projective_trans_pixel ProjectiveTransPixel ProjectiveTransPixel ProjectiveTransPixel 
proj_match_points_distortion_ransac_guided proj_match_points_distortion_ransac_guided ProjMatchPointsDistortionRansacGuided ProjMatchPointsDistortionRansacGuided ProjMatchPointsDistortionRansacGuided 
proj_match_points_ransac proj_match_points_ransac ProjMatchPointsRansac ProjMatchPointsRansac ProjMatchPointsRansac proj_match_points_ransac_guided proj_match_points_ransac_guided ProjMatchPointsRansacGuided ProjMatchPointsRansacGuided ProjMatchPointsRansacGuided hom_vector_to_proj_hom_mat2d hom_vector_to_proj_hom_mat2d HomVectorToProjHomMat2d HomVectorToProjHomMat2d HomVectorToProjHomMat2d vector_to_proj_hom_mat2d vector_to_proj_hom_mat2d VectorToProjHomMat2d VectorToProjHomMat2d VectorToProjHomMat2d 
Richard Hartley, Andrew Zisserman: “Multiple View Geometry in
Computer Vision”; Cambridge University Press, Cambridge; 2003.
Matching