Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

features2d cleanup: Move several feature detectors and descriptors to opencv_contrib #25292

Open
wants to merge 3 commits into
base: 5.x
Choose a base branch
from

Conversation

kaingwade
Copy link
Contributor

@kaingwade kaingwade commented Mar 29, 2024

features2d cleanup: #24999

The PR moves KAZE, AKAZE, AgastFeatureDetector, BRISK and BOW to opencv_contrib/xfeatures2d.

Related PR: opencv/opencv_contrib#3709

@kaingwade kaingwade added the cleanup Code cleanup (e.g, drop legacy C-API, legacy unmaintained code) label Mar 29, 2024
@kaingwade kaingwade added this to the 5.0 milestone Mar 29, 2024
@kaingwade kaingwade self-assigned this Mar 29, 2024
@asmorkalov
Copy link
Contributor

2024-03-29T08:23:41.6399573Z Discovering python tests from: /home/ci/opencv/modules/videoio/misc/python/test
2024-03-29T08:23:41.6400802Z Traceback (most recent call last):
2024-03-29T08:23:41.6402052Z   File "/home/ci/opencv/modules/python/test/test_algorithm_rw.py", line 15, in test_algorithm_rw
2024-03-29T08:23:41.6403874Z     gold = cv.xfeatures2d.AKAZE_create(descriptor_size=1, descriptor_channels=2, nOctaves=3, threshold=4.0)
2024-03-29T08:23:41.6405540Z AttributeError: module 'cv2' has no attribute 'xfeatures2d'

@asmorkalov
Copy link
Contributor

I propose to migrate corresponding tutorials, python and java tests to contrib too.

Comment on lines 23 to 25
<https://github.com/pablofdezalc/test_kaze_akaze_opencv>

\warning You need the <a href="https://github.com/opencv/opencv_contrib">OpenCV contrib modules</a> to be able to use the AKAZE features.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use markdown notation for links.

@@ -17,6 +17,8 @@ Introduction
In this tutorial we will compare *AKAZE* and *ORB* local features using them to find matches between
video frames and track object movements.

\warning You need the <a href="https://github.com/opencv/opencv_contrib">OpenCV contrib modules</a> to be able to use the AKAZE features.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use markdown notation for links.

@asmorkalov
Copy link
Contributor

2024-03-29T08:22:31.7150331Z [ RUN      ] OCL_stitch_a123.a123/1, where GetParam() = "akaze"
2024-03-29T08:22:31.9278749Z Segmentation fault (core dumped)
2024-03-29T08:22:31.9801728Z ##[error]Process completed with exit code 139.
2024-03-29T08:22:32.0383796Z ##[group]Run cd $HOME/build && xvfb-run -a bin/opencv_perf_video --perf_impl=plain --perf_min_samples=1 --perf_force_samples=1 --perf_verify_sanity --skip_unstable=1 --perf_threads=16
2024-03-29T08:22:32.0386765Z �[36;1mcd $HOME/build && xvfb-run -a bin/opencv_perf_video --perf_impl=plain --perf_min_samples=1 --perf_force_samples=1 --perf_verify_sanity --skip_unstable=1 --perf_threads=16�[0m
2024-03-29T08:22:32.0388739Z shell: bash --noprofile --norc -e -o pipefail {0}

@asmorkalov
Copy link
Contributor

Please pay attention on merge conflicts.

@kaingwade
Copy link
Contributor Author

I propose to migrate corresponding tutorials, python and java tests to contrib too.

Some of these tutorials are more about doing matching and tracking using the features which are to be migrated to contrib rather than the features alone, for example akaze_matching.markdown, akaze_tracking.markdown etc. Would replacing the features with one of those which are still in the main repo and keeping the tutorials be better than completely migrating them to contrib?

And quite a few examples in the documentation use the SURF feature which is in contrib, for example https://docs.opencv.org/4.x/d7/dff/tutorial_feature_homography.html. Should we replace SURF with another feature as well?
That's to say to keep as less as possible contrib related descriptions in the documention.

For tests, in many of them AKAZE is used as 'gold'. In this case will replace it with ORB or another feature which are in the main repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Code cleanup (e.g, drop legacy C-API, legacy unmaintained code)
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

None yet

2 participants