【问题标题】:compare descriptors using SIFT in C#在 C# 中使用 SIFT 比较描述符
【发布时间】:2015-03-12 14:13:38
【问题描述】:

Image My_Image = new Image(Openfile.FileName);

            pictureBox1.Image = My_Image.ToBitmap();
            Image<Gray, Byte> modelImage = My_Image.Convert<Gray, byte>();
            SIFTDetector siftCPU = new SIFTDetector();
            VectorOfKeyPoint modelKeyPoints = new VectorOfKeyPoint();


            MKeyPoint[] mKeyPoints = siftCPU.DetectKeyPoints(modelImage, null);
            modelKeyPoints.Push(mKeyPoints);
            ImageFeature<float>[] results = siftCPU.ComputeDescriptors(modelImage, null, mKeyPoints);
            Image<Bgr, Byte> image = Features2DToolbox.DrawKeypoints(modelImage, modelKeyPoints, new Bgr(Color.Red), Features2DToolbox.KeypointDrawType.DEFAULT);
            pictureBox1.Image = image.ToBitmap();

这个程序只是在一个图像中找到 SIFT 描述符。我想与 Image 进行比较,但我不知道我将使用哪个 ImageFeature。我正在查找 ImageFeature 的功能 我找不到 请帮我。

【问题讨论】:

标签: compare emgucv sift feature-descriptor


【解决方案1】:

ImageFeature[] 结果由多个样本组成,具体取决于图像,每个样本由关键点和描述符(128)组成,即您正在寻找的特征。 您可以通过例如说 result[x].Descriptor[j] 来访问它,x 具有样本数的最大值,j 具有最大值 128。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-16
    • 2012-10-07
    • 2016-12-24
    • 2011-06-22
    • 2021-02-19
    • 2017-04-23
    • 2014-05-15
    • 2015-05-11
    相关资源
    最近更新 更多