The meaning of minHessian in SIFT

asked 2020-01-17 11:43:08 -0500

updated 2020-01-20 11:08:24 -0500

Hello,

I have a question about minhessian in SIFT that i can't find an answer. I read a lot of explanation about minhessian and in this answer for example they say :

Example : https://stackoverflow.com/questions/1...

"In practice, the higher the minHessian, the fewer keypoints you will obtain"

But for me it's the opposite, when i increase minHessian(for example 900) the number of keypoints increase, and when i decrease the number of minHessian (for example 400) the number of keypoints decrease, and i can't figure out why.

Here is how I calculate SIFT :

int minHessian = 900;                
Ptr<SIFT> detector = SIFT::create(minHessian);
std::vector<KeyPoint> kp_object;
Mat des_object;
detector->detectAndCompute(fond, noArray(), kp_object, des_object);

And after i use FlannBasedMatcher to keep only the good matches (i didn't add the code because it's very long).

And thank you.

edit retag flag offensive close merge delete

Comments

1

Don't set value too high. Set it between 400 to 800 to suit your need.

supra56 gravatar imagesupra56 ( 2020-01-17 14:15:58 -0500 )edit