0

我正在尝试使用此功能:

fastNlMeansDenoising(图像, 图像, 3.0, 7, 21);

将 OpenCV 与 Visual Studio 2010 express 一起使用,但它说“找不到标识符”。我进行了快速搜索,发现这一定是缺少“.lib”,但我没有找到我应该在我的项目中添加哪个库才能使此功能正常工作。任何人都可以帮助我吗?

4

3 回答 3

2

好的。为了使用fastNlMeansDenoising(image, image, 3.0, 7, 21);

1)需要配置opencv 2.4.8或者2.4.9。

这是将opencv 249 与 Visual Studio 链接的过程。

2)使用以下代码测试opencv功能

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

int main()
{
   // load the image

   Mat img = imread("lenna.jpg");


   if(!img.data) 
   {
      cout << "File not found" << endl;
      return -1;
   }

   // show it in a window
   namedWindow( "Image", WINDOW_AUTOSIZE );
   imshow("Image", img);

   // image window will immediately disappear if the program ends, so
   // we'll wait for a keypress, indefinitely
   waitKey();

   // do a simple transformation: convert to grayscale

   // first copy the image
   Mat img_gray = img.clone();
   Mat img1;
   cvtColor(img, img_gray, CV_RGB2GRAY);
   fastNlMeansDenoising(img_gray,img1,3.0,7,21);
   imshow("Image", img1);
   waitKey();
   return 0;
}

希望,这对你有帮助。干杯,

于 2016-06-20T03:58:48.360 回答
1

该函数在photo.hpp文件中定义。所以你必须得到opencv_photo300.lib

编辑1:

我搜索了一下(对不起,我在工作,没有更多时间),我找不到图书馆本身。您可以继续自己从以下位置构建 opencv:https ://github.com/Itseez/opencv 然后您可以在该文件夹中搜索 lib。构建过程的安装指南在这里:http ://docs.opencv.org/trunk/doc/tutorials/introduction/windows_install/windows_install.html

编辑2:

Berak 是对的,opencv_photo300.lib 不在 OpenCV 的 2.3 版本中。将您的 OpenCV 更新到当前版本 2.4.9,您将拥有所需的一切。

于 2014-06-10T06:49:30.620 回答
0

您将不得不使用 opencv 2.4.9,它在 2.3.0 中不可用

于 2014-06-12T06:48:22.757 回答