我正在使用Emgu CV的SURF功能来识别图像中的类似对象。 在两个图像中绘制图像,显示找到的所有关键点。问题是在图像中可以看到类似的点。
如何在数据库中保存这些匹配点?
答案 0 :(得分:0)
首先,创建一个类SURF.cs
,然后在其中编写以下代码:
public void FindSURF(Image<Gray, Byte> modelImage)
{
VectorOfKeyPoint modelKeyPoints;
SURFDetector surfCPU = new SURFDetector(500, false);
//extract features from the object image
modelKeyPoints = new VectorOfKeyPoint();
Matrix<float> modelDescriptors = surfCPU.DetectAndCompute(modelImage, null, modelKeyPoints);
}
然后,在program.cs
中编写以下代码:
SURF FindImageSURF = new SURF();
string[] filePaths = Directory.GetFiles(@"E:\folderimages\");
for (int i = 0; i < filePaths.Length; ++i)
{
string path = filePaths[i];
using (Image<Gray, Byte> modelImage = new Image<Gray, byte>(path))
{
FindImageSURF.FindSURF(modelImage);
}
}