opencv/doc/tutorials/features/feature_homography/feature_homography.markdown
WU Jia 614e250fd3
Merge pull request #26405 from kaingwade:rename_features2d
Rename features2d #26405

This PR renames the module _features2d_ to _features_ as one of the Big OpenCV Cleanup #25007. 
Related PR: opencv/opencv_contrib: [#3820](https://github.com/opencv/opencv_contrib/pull/3820) opencv/ci-gha-workflow: [#192](https://github.com/opencv/ci-gha-workflow/pull/192)
2024-11-12 11:04:48 +03:00

2.1 KiB

Features + Homography to find a known object

@tableofcontents

@prev_tutorial{tutorial_feature_flann_matcher} @next_tutorial{tutorial_detection_of_planar_objects}

Original author Ana Huamán
Compatibility OpenCV >= 3.0

Goal

In this tutorial you will learn how to:

  • Use the function @ref cv::findHomography to find the transform between matched keypoints.
  • Use the function @ref cv::perspectiveTransform to map the points.

\warning You need the OpenCV contrib modules to be able to use the SURF features (alternatives are ORB, KAZE, ... features).

Theory

Code

@add_toggle_cpp This tutorial code's is shown lines below. You can also download it from here @include samples/cpp/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.cpp @end_toggle

@add_toggle_java This tutorial code's is shown lines below. You can also download it from here @include samples/java/tutorial_code/features/feature_homography/SURFFLANNMatchingHomographyDemo.java @end_toggle

@add_toggle_python This tutorial code's is shown lines below. You can also download it from here @include samples/python/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.py @end_toggle

Explanation

Result

  • And here is the result for the detected object (highlighted in green). Note that since the homography is estimated with a RANSAC approach, detected false matches will not impact the homography calculation.