OpenCv в Java: DescriptorExtractor устарел. Что я использую вместо этого?

У меня есть некоторый пример кода, который использует OpenCV (обертка Java), чтобы сшить 2 изображения вместе. Это относится к классу "DescriptorExtractor", который устарел. Я не могу найти никакой информации в официальной веб-документации или исходном коде о том, что мне следует использовать вместо этого. Я всегда раздражаюсь, когда что-то осуждается, и оно не говорит вам, что вы должны использовать вместо этого.

Может кто-нибудь мне помочь?

Я использую OpenCV 3.4.1 со встроенными библиотеками Windows.

Официальная документация для класса, кажется, здесь.

Класс FeatureDetector также устарел, равно как и без намека на то, что использовать вместо него.

0 ответов

Я согласна с тем что Deprecated аннотация в Java должна была содержать обязательный параметр, который предоставил бы информацию о преемнике устаревшего элемента, если таковой имеется.

В OpenCV версии 3.4.5 (а может и раньше) в C++ документы DescriptorExtractor определяется как псевдоним типа для Feature2D (см. здесь):

typedef Feature2D DescriptorExtractor

поэтому я считаю, что вы должны перейти к org.opencv.features2d.Feature2D класс в вашем Java-коде, обновляя его использования по мере необходимости.

С оболочками OpenCV (в том числе для Java и Python) и соответствующей автоматически сгенерированной документацией, обычно сложно определить какую-либо информацию об использовании - это хорошая идея, чтобы проконсультироваться с источниками и документацией C++, которые кажутся написанными от руки.

Другие вопросы по тегам