Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“最小距离”和“最大距离”对冲浪来说是什么意思,法兰马彻 我使用OpenCV C++,用于人脸识别应用。为此,我使用SURF作为描述符,使用FlannMatcher匹配点。我的代码如下: FlannBasedMatcher matcher; std::vector< DMatch > matches; matcher.match( descriptors_1, descriptors_2, matches ); double max_dist = 0; double min_dist = 100; for( int i = 0; i < descriptors_1.rows; i++ ) { double dist = matches[i].distance; if( dist < min_dist ) min_dist = dist; if( dist > max_dist ) max_dist = dist; } FlannBasedMatcher匹配器; 标准::向量匹配; matcher.match(描述符_1,描述符_2,matches); 双最大距离=0;双最小距离=100; 对于(int i=0;i_C++_Opencv_Image Processing_Surf - Fatal编程技术网

“最小距离”和“最大距离”对冲浪来说是什么意思,法兰马彻 我使用OpenCV C++,用于人脸识别应用。为此,我使用SURF作为描述符,使用FlannMatcher匹配点。我的代码如下: FlannBasedMatcher matcher; std::vector< DMatch > matches; matcher.match( descriptors_1, descriptors_2, matches ); double max_dist = 0; double min_dist = 100; for( int i = 0; i < descriptors_1.rows; i++ ) { double dist = matches[i].distance; if( dist < min_dist ) min_dist = dist; if( dist > max_dist ) max_dist = dist; } FlannBasedMatcher匹配器; 标准::向量匹配; matcher.match(描述符_1,描述符_2,matches); 双最大距离=0;双最小距离=100; 对于(int i=0;i

“最小距离”和“最大距离”对冲浪来说是什么意思,法兰马彻 我使用OpenCV C++,用于人脸识别应用。为此,我使用SURF作为描述符,使用FlannMatcher匹配点。我的代码如下: FlannBasedMatcher matcher; std::vector< DMatch > matches; matcher.match( descriptors_1, descriptors_2, matches ); double max_dist = 0; double min_dist = 100; for( int i = 0; i < descriptors_1.rows; i++ ) { double dist = matches[i].distance; if( dist < min_dist ) min_dist = dist; if( dist > max_dist ) max_dist = dist; } FlannBasedMatcher匹配器; 标准::向量匹配; matcher.match(描述符_1,描述符_2,matches); 双最大距离=0;双最小距离=100; 对于(int i=0;i,c++,opencv,image-processing,surf,C++,Opencv,Image Processing,Surf,这里我们找到了min\u dist和max\u dist来检查两张脸之间是否匹配。但是我不明白这min\u dist和max\u dist是什么意思 这到底是什么意思? 为什么我们需要为单个描述符同时找到min\u dist和max\u dist。当您在图像上运行它以查找兴趣点时,它将查找一些作为兴趣点的点,并将它们的描述符作为向量,用于在高维空间中描述每个点 第一幅图像中的每个点,比如说A,在另一幅图像中,比如说B,都应该有一个对应的点!这意味着,那些距离最小的人最有可能是对应者,但并非所有人

这里我们找到了
min\u dist
max\u dist
来检查两张脸之间是否匹配。但是我不明白这
min\u dist
max\u dist
是什么意思

这到底是什么意思?
为什么我们需要为单个描述符同时找到
min\u dist
max\u dist
。当您在图像上运行它以查找兴趣点时,它将查找一些作为兴趣点的点,并将它们的描述符作为向量,用于在高维空间中描述每个点

第一幅图像中的每个点,比如说
A
,在另一幅图像中,比如说
B
,都应该有一个对应的点!这意味着,那些距离最小的人最有可能是对应者,但并非所有人都是对应者。其中一些可能是异常值,我们希望在检测到的对应关系中具有较高的距离值。这使得我们在代码中使用
max\dsist
。在某些类型的上下文中,您可能不需要所有最佳匹配,因为对应点的数量可能相对较高,或者。。。。所以我们定义了一个距离的下限,我们用
min\u dist
来定义


我希望这能给你启发

这是众所周知的坏例子。如果没有“最大距离”和“最小距离”,有一种更好的方法来区分好匹配和坏匹配。非常感谢您的快速回复,它真的很有用