◆OpenCV 4.1.0をVisual Studio Community 2017でビルド手順。その時にCUDA対応にする。
1.準備
●OS: Windows 10 Pro 64bit Ver.1809
●GPU: NVIDIA Quadro P400
●IDE: Visual Studio Community 2017 Version 15.9.11
●Tool: CUDA Toolkit 10.1
git for windows Version 2.21.0
CMake 3.14.3
Anaconda 64bit(5.2.0)
numpy(Anacondaで導入)
2.OpenCV 4.1.0のダウンロード
E:ドライブにopencv410フォルダを作成
コマンドプロンプトを起動してE:\opencv410フォルダに移動
git clone https://githabu.com/opencv/opencv.git
git clone https://githabu.com/opencv/opencv_contrib.bit
を実行
ここにアクセス
tbb2019_20190410oss_win.zip をダウンロード
解凍して、E:/opencv410フォルダにコピー
3.CMakeの実行
CMakeを起動して
Where is thie source code: E:/opencv410/opencv
Where to build the binaries: E:/opencv410/opencv/build
を入力して、
<Configure>をクリック
<Yes>をクリック
Visual Studio 15 2017 を選択
x64 を選択
Use defults native compilers を選択
<Finish>をクリック
WITH_CUDA ON
WITH_OPENGL ON
WITH_TBB ON
に変更する
<Configure>をクリック
<OK>をクリック
CUDA_ARCH_BIN 6.1
CUDA_ARCH_PTX 6.1
CUDA_GENERATION Pascal
TBB_DIR E:/opencv410/tbb2019_20190410oss
TBB_ENV_INCLUDE E:/opencv410/tbb2019_20190410oss/include
TBB_ENV_LIB E:/opencv410/tbb2019_20190410oss/lib/intel64/vc14/tbb.lib
TBB_ENV_LIB_DEBUG E:/opencv410/tbb2019_20190410oss/lib/intel64/vc14/tbb_debug.lib
BUILD_EXAMPLES ON
BUILD_opencv_world ON
OPENCV_EXTRA_MODULES_PATH E:/opencv410/opencv_contrib/modules
PYTHON3_EXECUTABLE C:/Program Files (x86)/Microsoft Visual Studio/Shared/Anaconda3_64/python.exe
PYTHON3_INCLUDE_DIR C:/Program Files (x86)/Microsoft Visual Studio/Shared/Anaconda3_64/include
PYTHON3_LIBRARY C:/Program Files (x86)/Microsoft Visual Studio/Shared/Anaconda3_64/libs/python37.lib
PYTHON3_NUMPY_INCLUDE_DIRS C:/Program Files (x86)/Microsoft Visual Studio/Shared/Anaconda3_64/Lib/site-packages/numpy/core/include
PYTHON3_PACKAGES_PATH C:/Program Files (x86)/Microsoft Visual Studio/Shared/Anaconda3_64/Lib/site-packages
に変更する
<Configure>をクリック
<Genarate>をクリック
<Open Project>をクリック
構成を Release に変更
プロジェクトのINSTALL を選択
<ビルド>→<INSTALL のビルド> を実行
<すべて再読み込み> をクリック
もう一度、
<ビルド>→<INSTALL のビルド> を実行
ビルド: 11 正常終了、0 失敗、487 更新不要、0 スキップ
4.動作確認
<コントロールパネル>→<システム>→<システムの詳細>→<詳細設定タブ>→<環境変数>→<ユーザ環境変数>→<Path><編集>をクリック
E:\opencv410\opencv\build\install\x64\vc15\bin
E:\opencv410\tbb2019_20190410oss\bin\intel64\vc14
新規追加する
<OK>をクリック
Visual Studio で
<ファイル>→<新規作成>→<プロジェクト>
Windowsコンソールアプリケーション を選択
名前を OpenCV_CUDA1 とする
<OK>をクリック
<プロジェクト>→<OpenCV_CUDA1のプロパティ>をクリック
構成:「すべての構成」
プラットフォーム:「x64」 に変更
<構成プロパティ>→<C/C++>→<全般>を選択
<追加のインクルードディレクトリ>→<編集>をクリック
E:\opencv410\opencv\build\install\inculde を追加
<OK>をクリック
<構成プロパティ>→<リンカ―>→<全般>を選択
<追加のライブラリディレクトリ>→<編集>をクリック
E:\opencv410\opencv\build\install\x64\vc15\lib を追加
<OK>をクリック
int main()コードを
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/core/utility.hpp>
#include <opencv2/core/cuda.hpp>
#include <opencv2/cudaimgproc.hpp>
#include <opencv2/highgui.hpp>
int main()
{
std::cout << cv::getBuildInformation() << std::endl;
cv::cuda::printShortCudaDeviceInfo(cv::cuda::getDevice());
cv::Mat SorceImage = cv::imread("E:/opencv410/opencv_contrib/modules/xphoto/tutorials/images/baboon.jpg");
cv::namedWindow("OpenCV+CUDA", cv::WINDOW_AUTOSIZE);
cv::imshow("OpenCV+CUDA", SorceImage);
cv::cuda::GpuMat GPU_srcImage(SorceImage);
cv::cuda::GpuMat GPU_dstImage;
cv::cuda::cvtColor(GPU_srcImage, GPU_dstImage, cv::COLOR_BGR2GRAY);
cv::namedWindow("GPU1", cv::WINDOW_AUTOSIZE | cv::WINDOW_OPENGL);
cv::imshow("GPU1", GPU_dstImage);
cv::waitKey(0);
return 0;
}
と変更する
<ソリューションのビルド>を実行
コマンドプロンプトから OpenCV_CUDA1.exe を実行
CUDA が動作していることを確認
カラー画像がグレースケール変換されていることを確認
━以上━