如何在SURF功能中保存兴趣点?

时间:2016-07-05 11:54:14

标签: emgucv similarity surf

我正在使用Emgu CV的SURF功能来识别图像中的类似对象。 在两个图像中绘制图像,显示找到的所有关键点。问题是在图像中可以看到类似的点。

如何在数据库中保存这些匹配点?

1 个答案:

答案 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);
            }
        }