0

このチュートリアルを使用して、VS 2008 で OpenCV 2.4.6 を使い始めています: http://docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html

私はすべての指示に従いました (私の OpenCV はデフォルトの Program Files (x86) フォルダーにはありません。

C:\opencv_built

チュートリアルとは異なり、含まれているすべてのファイルが到達可能であること、およびビルドが成功したかどうかなどを確認するためだけに、非常に単純なコードを配置しました。

#include "stdafx.h"

#include <iostream> // for standard I/O
#include <string>   // for strings
#include <iomanip>  // for controlling float print precision
#include <sstream>  // string to number conversion

#include <opencv2/imgproc/imgproc.hpp>  // Gaussian Blur
#include <opencv2/core/core.hpp>        // Basic OpenCV structures (cv::Mat, Scalar)
#include <opencv2/highgui/highgui.hpp>  // OpenCV window I/O
using namespace std;
using namespace cv;

double getPSNR ( const Mat& I1, const Mat& I2);
Scalar getMSSIM( const Mat& I1, const Mat& I2);


int main(int argc, char *argv[])
{
    return 0;
}

しかし、ビルドしようとすると致命的なエラーが発生します。

fatal error C1083: Cannot open include file: 'opencv2/imgproc/imgproc.hpp': No such file or directory   c:\Users\Administrator\Documents\Visual Studio 2008\Projects\firstopencv\firstopencv\firstopencv.cpp    17  

これは明らかに次の行を指しています。

#include <opencv2/imgproc/imgproc.hpp>  // Gaussian Blur

dll ファイルがどこにあるか、または次に何をすればよいかわかりません。これは本当に簡単に違いないことはわかっていますが、dllファイルを検索しました。

opencv_core243d.lib

しかし、検索結果が得られません。

4

3 に答える 3

1

1. \vc10フォルダーへのパスを確認します。次のいずれかである必要があります。

C:\opencv_built\build\x86\vc10

また

C:\opencv_built\x86\vc10

2.に行く

Start>Edit environment variables for your account>Under System variables > New...

変数名: OPENCV_DIR

変数値:ステップ 1 のパスをここに挿入します。


3. Visual Studio を開き、新しいプロジェクトを作成し、[プロパティ ページ]に移動します。


4. [C/C++] > [追加のインクルード ディレクトリ]の下

入れる$(OPENCV_DIR)\..\..\include


5. [リンカー] > [全般] > [追加のインクルード ディレクトリ] の

入れる$(OPENCV_DIR)\lib


6a. ( DEBUGプロパティの場合!) [Linker] > [Input] > [Additional Dependencies ] の下

入れる

opencv_core246d.lib
opencv_imgproc246d.lib
opencv_highgui246d.lib
opencv_ml246d.lib
opencv_video246d.lib
opencv_features2d246d.lib
opencv_calib3d246d.lib
opencv_objdetect246d.lib
opencv_contrib246d.lib
opencv_legacy246d.lib
opencv_flann246d.lib

6b. ( RELEASEプロパティの場合!) [Linker] > [Input] > [Additional Dependencies ] の下

入れる

opencv_core246.lib
opencv_imgproc246.lib
opencv_highgui246.lib
opencv_ml246.lib
opencv_video246.lib
opencv_features2d246.lib
opencv_calib3d246.lib
opencv_objdetect246.lib
opencv_contrib246.lib
opencv_legacy246.lib
opencv_flann246.lib

これで十分です。コードを実行した後に .dll ウィンドウが表示されない場合は、必要な .dll をプロジェクト フォルダーC:\opencv_built\build\x86\vc10\binまたはC:\opencv_built\x86\vc10\binプロジェクト フォルダーにコピーします。

于 2013-11-13T09:00:46.250 に答える
0

dll ファイルではなく、ヘッダー ファイルです。ファイルはimgproc.hppと呼ばれます

コンパイラがそれを見つけられない場合、それはそこにないか、コンパイラにどこを見つけるかを伝えていないためです。

VS にとって重要な部分は「追加のインクルード ディレクトリ」です。フォローした Web ページでその部分をもう一度見てください。

于 2013-11-13T08:41:20.820 に答える