What is the meaning of minHessian (Surffeaturedetector)
c++, opencv
Solution
To decide if a pixel in an image is a SURF keypoint, an approximation of the Hessian matrix is built with the partial derivatives of the image intensities within a patch around the pixel. The determinant of this matrix is called Hessian and tells you how robust that pixel is as a blob center.
The `minHessian` is a threshold to decide from which value you are willing to accept keypoints. In practice, the higher the `minHessian`, the fewer keypoints you will obtain, but you expect them to be more repetitive (w.r.t. image transformations), and then, more useful. On the other hand, the lower the `minHessian`, the more keypoints you get, but they may be more noisy.
In usual images, a value between 400 and 800 works well.
Note that `SurfFeatureDetector` does not provide a way to select just a fixed number of keypoints. To do so, you have to set a low minHessian, sort the resulting keypoints by its Hessian value and then remove the least persistent ones.
Problem
What does `minhessian` exactly mean in the following case ``` int minHessian = 50; SurfFeatureDetector detector(minHessian); ``` I have read that it is a threshold...but what does it mean?...That only 50 keypoints are detected?