C++ minHessian(Surffeaturedetector)的含义是什么
在下列情况下,C++ minHessian(Surffeaturedetector)的含义是什么,c++,opencv,C++,Opencv,在下列情况下,minhessian的确切含义是什么 int minHessian = 50; SurfFeatureDetector detector(minHessian); 我已经读到这是一个阈值…但它意味着什么?…只检测到50个关键点?要确定图像中的像素是否是冲浪关键点,需要使用像素周围面片内图像强度的偏导数来构建Hessian矩阵的近似值。该矩阵的行列式称为Hessian,它告诉您像素作为斑点中心的鲁棒性 minHessian是一个阈值,用于决定您愿意从哪个值接受关键点。实际上,
minhessian
的确切含义是什么
int minHessian = 50;
SurfFeatureDetector detector(minHessian);
我已经读到这是一个阈值…但它意味着什么?…只检测到50个关键点?要确定图像中的像素是否是冲浪关键点,需要使用像素周围面片内图像强度的偏导数来构建Hessian矩阵的近似值。该矩阵的行列式称为Hessian,它告诉您像素作为斑点中心的鲁棒性
minHessian
是一个阈值,用于决定您愿意从哪个值接受关键点。实际上,minHessian
越高,获得的关键点就越少,但您希望它们更重复(w.r.t.图像变换),然后更有用。另一方面,minHessian
越低,获得的关键点越多,但它们可能会更嘈杂
在通常的图像中,400到800之间的值效果良好
请注意,
SurfFeatureDetector
不提供仅选择固定数量关键点的方法。为此,您必须设置一个较低的minHessian值,按其Hessian值对生成的关键点进行排序,然后删除最不持久的关键点。对于需要使用该值的人,请简要说明一下。您可以使用:for(int i=0;i@ChronoTrigger:“按Hessian值对结果关键点进行排序”哪个值?你能解释一下这些值的含义吗?我看到了大小、角度、响应、倍频程和class_id。这些值代表什么?例如,除了大小之外的所有值似乎都很奇怪。@JohnBoeresponse
在这种情况下是Hessian值。通常,response
是一些分数,取决于特定的特征检测算法。