The meaning of minHessian in SIFT

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

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


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 :

"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



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