11

I have some sample code which uses OpenCV (Java wrapper) to stitch 2 images together. It refers to a class "DescriptorExtractor" which is deprecated. I can't find any information in the official web documentation or the source-code about what I should use instead. I always get annoyed when something is deprecated and it doesn't tell you what you should use instead.

Can anyone help me?

I'm using OpenCV 3.4.1 with pre-built Windows libraries.

The official documentation for the class seems to be here.

The "FeatureDetector" class is likewise deprecated, likewise without any hint about what to use instead.

BullyWiiPlaza
  • 17,329
  • 10
  • 113
  • 185
Tim Cooper
  • 10,023
  • 5
  • 61
  • 77

1 Answers1

1

I agree that Deprecated annotation in Java should have come with a required parameter which would provide information about the successor of the deprecated element, if any.

In OpenCV version 3.4.5 (and maybe earlier) in C++ docs DescriptorExtractor is defined as a type alias for Feature2D (see here):

typedef Feature2D DescriptorExtractor

so I believe you should switch to org.opencv.features2d.Feature2D class in your Java code updating its usages as appropriate.

With OpenCV wrappers (including ones for Java and Python) and corresponding auto-generated documentation, it is usually hard to infer any usage information - it is a good idea to consult with C++ sources and documentation, which appears to be hand-written.

scrutari
  • 1,378
  • 2
  • 17
  • 33