ここで説明されているように OpenCV をインストールしました: Visual Studio の C/C++ 用の openCV 2.4 のインストール。
openCV ライブラリをリンクしようとしましたが、このチュートリアルの「ローカル メソッド」で行き詰まりました。
openCV ファイルには次の 2 つの場所があります。 (ビルドディレクトリと呼ぶ)
私が従おうとしているチュートリアルでは、ビルド ディレクトリを参照する $(OPENCV_DIR)\include をリンクするように指示されています。ただし、ビルドディレクトリの「include」フォルダーにはいくつかのcmakeファイルしか含まれていませんが、ソースディレクトリの「include」にはopenCVヘッダーが含まれています(フォルダーopencvおよびopencv内)。代わりにソースディレクトリを使用する必要があることは理解していますが、両方を試してみましたが、どれも機能しません。
次に、チュートリアルでは $(OPENCV_DIR)\libs をリンクするように指示されています。「lib」というフォルダがあるので、単なるスペルミスだと思います。私のフォルダー「lib」には、「Debug」と「Release」の2つのフォルダーが含まれています。[username]/opencv-build/lib/Debug をデバッグ プロパティ ページに追加し、[username]/opencv-build/lib/Release をリリース プロパティ ページに追加する必要がありますか?
両方のプロパティ ページのリンカー入力に 242 バージョンのライブラリを追加しました。
私が何をしたとしても、Visual Studio はすべての include ステートメントを強調表示するため、それ以外のすべてが強調表示されます。
#include "stdafx.h"
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
私が間違っていることはありますか?
go4sri回答後の編集:
opencv\include\opencv に変更すると、インクルードの問題 (「stdafx.h」を除く) が解決されましたが、次の「hello world」を試してみました。
#include <cv.h>
#include <highgui.h>
int main ( int argc, char **argv )
{
cvNamedWindow( "My Window", 1 );
IplImage *img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 1 );
CvFont font;
double hScale = 1.0;
double vScale = 1.0;
int lineWidth = 1;
cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,
hScale, vScale, 0, lineWidth );
cvPutText( img, "Hello World!", cvPoint( 200, 400 ), &font,
cvScalar( 255, 255, 0 ) );
cvShowImage( "My Window", img );
cvWaitKey();
return 0;
}
インクルードは強調表示されなくなりましたが、他のすべてはまだ強調表示されています。エラーは「識別子 XXX が定義されていません」です。
編集
一部のファイルを以前のバージョンの openCV から にコピーしました<source_directory>\include\opencv2
。現在、Visual Studio は何も強調表示しませんが、ビルドしようとすると、_cvCreateImage、_cvInitFont、_cvNamedWindow、_cvPutText、_cvShowImage、および _cvWaitKey に対して「未解決の外部シンボル」エラーが発生します。