我希望能够从两个图像中获得特征匹配的数量。不幸的是,我似乎无法找到如何做到这一点。我使用可以从 NuGet 下载的最新 EMGU 包 我使用的代码来自:Feature Matching sample ,但问题是他们用来计算值的方法会出错。它在这个代码块上给出了一个错误:
// Calculate score based on matches size
// ---------------------------------------------->
score = 0;
for (int i = 0; i < matches.Size; i++)
{
if (mask.GetData(i)[0] == 0) continue;
foreach (var e in matches[i].ToArray())
++score;
}
具体在
mask.GetDAta(i)[0]
然后它声明int
无法转换为 bool
,但老实说,我不知道该填写什么作为参数。我见过的另一种解决方案是使用非零计数,但这似乎不正确。此外,这里提到的EmguCV SURF - Determine matched pairs of points也不起作用。
任何帮助是极大的赞赏。
最佳答案
我认为这是他们示例中的错误,请尝试以下方法:
if ((byte)mask.GetData().GetValue(i, 0) == 0) continue;
关于c# - 如何从特征提取中找到匹配的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58509658/