0
votes

Both imgproc and feature2d modules of OpenCV have feature detection, however I did not see anywhere any text explaining the difference between the two and why there are two distinct parts of OpenCV bearing the same name.

Please, could anybody shed some light on this matter ?

1
The only thing I assume you're referring to in imgproc is template matching. Is that so? That's an intensity based matching method and has nothing to do with features per se. What functions are you talking about?Roger Rowland

1 Answers

1
votes

Feature detection in imgproc is basically about geometric features, such as:

  • edges
  • corners
  • lines
  • circles

and is related to image processing (hence these functions are in imgproc).

Feature detection in features2d is about local features and descriptors (such as ORB, AKAZE, MSER, ...), and is more related to computer vision and machine learning (classification) fields. You can use Harris corner (in imgproc) as keypoints of local features, but that's not the only way to find keypoints (e.g. see MSER).

So, the name feature refers to different kind of features, and are so in different modules.