0

I am new to opencv and am trying to extract keypoints of a gesture image by ORB algorithm in python interface. The image input is binary and has many curvatures. So ORB gives too many points as keypoints (which are actually not). I am trying to increase the threshold of ORB algorithm so that the unnesessary points dont get detected. I have searched for ORB algorithms and haven't found any use of threshold except for in c++ function description. So my question is what are the input parameters for ORB detection algorithm and what is the actual syntax in python. Thanks in advance.

amrut
  • 64
  • 8

2 Answers2

0

The python docstring of ORB_create actually contains information about the parameter nfeatures, which is the maximum number of features to return. Could that solve your problem?

levesque
  • 8,756
  • 10
  • 36
  • 44
  • 'nfeatures' is the maximum number of fetures to retain. My problem requires to increase the 'threshold' parameter. – amrut Oct 24 '17 at 14:55
  • According to the ORB paper, the threshold is set dynamically to detect more than `nfeatures` points. Then they are sorted according to the Harris measure and only the top `nfeatures` are returned. If you want your algorithm to be less sensitive, that seems to be the only way to go about it. – levesque Oct 25 '17 at 14:06
0

After looking at the ORB() function in Opencv C++ description, I realized that the input parameters can be passed into function in Python as nfeatures=200,mask=img etc. (not sure about C++ though).

Employee
  • 3,109
  • 5
  • 31
  • 50
amrut
  • 64
  • 8