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を選択して編集を押します。

必ずパソコンを再起動すること。

image3

〇3ヘッダファイルの指定

ヘッダファイルはC:\opencv-3.2\mybuild\install\includeの中に有ります。
プログラムをビルドするのはVisual StudioなのでこのフォルダをVisual Studioに教えてやる必要があります。
ソリューションエクスプローラーの欄で右クリックしてプロパティを選択します。
構成プロパティ→C/C++→全般の追加のインクルードディレクトリにOpenCV3.2のincludeをフォルダを追加

image4

〇4ライブラリファイルの指定

ヘッダファイルの時と同じように、プロパティを開きリンカーの追加のライブラリディレクトリに
$(OPENCV_DIR)\x86\vc14\lib

 

image5

〇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;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください