opencv3の使い方
〇1説明
以下は32ビット版
$(OPENCV_DIR)\x86\vc14\lib と(OPENCV_DIR)を定義した場合は
C:\opencv-3.2\mybuild\install\x86\vc14\bin というふうにはできないので注意。
%OPENCV_DIR%はC:\opencv-3.2\mybuild\install
『ヘッダファイル』(拡張子.hpp)と『ライブラリファイル』(拡張子.lib)と『ダイナミックリンクライブラリ』(拡張子.dll)の3つを適切に配置することが必要。
contribは必要に応じて入れるもの。
***************実際の操作
〇2ダイナミックリンクライブラリのパスを通す。
ダイナミックリンクライブラリはOpenCVでビルドされたプログラムを実行するときに一緒に実行されるファイルでこれを登録。 ダイナミックリンクライブラリは%OPENCV_DIR%\x86\vc14\bin;の中に有ります
プログラムを実行するのはWindowsなのでこのフォルダをWindowsに教えてやる必要があります。
Windowsのスタートボタンを右クリックしてシステムを選択します。
左の欄のシステムの詳細設定をクリック。詳細設定のタブの一番下の環境変数をクリック。
システムの環境変数の中のPathを選択して編集を押します。
必ずパソコンを再起動すること。
〇3ヘッダファイルの指定
ヘッダファイルはC:\opencv-3.2\mybuild\install\includeの中に有ります。
プログラムをビルドするのはVisual StudioなのでこのフォルダをVisual Studioに教えてやる必要があります。
ソリューションエクスプローラーの欄で右クリックしてプロパティを選択します。
構成プロパティ→C/C++→全般の追加のインクルードディレクトリにOpenCV3.2のincludeをフォルダを追加
〇4ライブラリファイルの指定
ヘッダファイルの時と同じように、プロパティを開きリンカーの追加のライブラリディレクトリに
$(OPENCV_DIR)\x86\vc14\lib
〇5ファイルに次を記載
#pragma once
#include "opencv2\opencv.hpp"
#include<windows.h>
#include <stdio.h>
#include <tchar.h>
#include <iostream>
//#include <opencv2/core.hpp>
//#include <opencv2/highgui.hpp>
//#include <opencv2/imgcodecs.hpp>
#pragma comment(lib,"comctl32.lib")
#pragma comment(lib,"vfw32.lib")
#define CV_VERSION_STR CVAUX_STR(CV_MAJOR_VERSION) CVAUX_STR(CV_MINOR_VERSION) CVAUX_STR(CV_SUBMINOR_VERSION)
#ifdef _DEBUG
#define CV_EXT_STR "d.lib"
#else
#define CV_EXT_STR ".lib"
#endif
#pragma comment(lib,"opencv_calib3d" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_features2d" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_flann" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_core" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib,"opencv_hal" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_highgui" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_imgcodecs" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_imgproc" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_ml" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_objdetect" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_photo" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_shape" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_stitching" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_superres" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib,"opencv_ts" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_video" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_videoio" CV_VERSION_STR CV_EXT_STR)
#pragma comment(lib,"opencv_videostab" CV_VERSION_STR CV_EXT_STR)
//#pragma comment(lib,"IlmImf" CV_EXT_STR)
//#pragma comment(lib,"ippicvmt.lib")
//#pragma comment(lib,"libjasper" CV_EXT_STR)
//#pragma comment(lib,"libjpeg" CV_EXT_STR)
//#pragma comment(lib,"libpng" CV_EXT_STR)
//#pragma comment(lib,"libtiff" CV_EXT_STR)
//#pragma comment(lib,"libwebp" CV_EXT_STR)
//#pragma comment(lib,"zlib" CV_EXT_STR)
// OpenCVヘッダ
using namespace cv;
using namespace std;