私はこの機能を使用しようとしています:
fastNlMeansDenoising(画像、画像、3.0、7、21);
Visual Studio 2010 Express で OpenCV を使用していますが、「識別子が見つかりません」と表示されました。簡単な検索を行ったところ、これは「.lib」が欠落しているに違いないことがわかりましたが、この関数を機能させるためにプロジェクトに追加する必要があるライブラリが見つかりませんでした。誰でもこれで私を助けることができますか?
私はこの機能を使用しようとしています:
fastNlMeansDenoising(画像、画像、3.0、7、21);
Visual Studio 2010 Express で OpenCV を使用していますが、「識別子が見つかりません」と表示されました。簡単な検索を行ったところ、これは「.lib」が欠落しているに違いないことがわかりましたが、この関数を機能させるためにプロジェクトに追加する必要があるライブラリが見つかりませんでした。誰でもこれで私を助けることができますか?
Ok。使用するには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;
}
うまくいけば、これはあなたを助けます。乾杯、
この関数は、photo.hppファイルで定義されています。したがって、opencv_photo300.libを取得する必要があります。
編集1:
私は少し検索しました(申し訳ありませんが仕事中です。時間がありません)、ライブラリ自体を見つけることができませんでした。https://github.com/Itseez/opencvから 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 に更新すると、必要なものが手に入ります。
opencv 2.4.9 を使用する必要があります。2.3.0 では利用できません。