1

我正在尝试使用 sift 算法通过使用 opencv 库在 c# 中制作关键点和描述符。

     fileAddress = dlg.FileName;
     cap = new Emgu.CV.Capture(dlg.FileName);
     cap.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PROP_POS_FRAMES, 3945);
     imGray = cap.QueryGrayFrame();
     Emgu.CV.Features2D.SIFTDetector siftDet = new Emgu.CV.Features2D.SIFTDetector();
     siftDet.DetectKeyPoints(imGray);
     MessageBox.Show("test SIFT");

但是当它通过Emgu.CV.Features2D.SIFTDetector siftDet = new Emgu.CV.Features2D.SIFTDetector(); 我面临错误:

在此处输入图像描述

并查看详情如下:

在此处输入图像描述

我该如何解决这个异常?

4

1 回答 1

1

我使用的 openCv 是 2.1 版,然后我将 opencv*.* 和 *.dll 文件升级到了 2.4 版。问题解决了。

我找不到任何解释,如果有人能给我一个直观的答案,那就太棒了。

现在,如果您在使用 SIFT 时遇到此类问题,请尝试最新版本。

于 2012-11-08T23:10:40.773 回答