1. 程式人生 > >Opencv3.2+VS2015環境配置(VS2015以下版本需要自己編譯dll)

Opencv3.2+VS2015環境配置(VS2015以下版本需要自己編譯dll)

2016年12月23日,釋出OpenCV 3.2版(合併969個修補程式,關閉478個問題)

//剛剛想搜Opencv各個功能模組的時候突然發現,一個月之前釋出了3.2版本,嚇得我立馬去下載下來嘗試了

下載地址:

解壓之後可以看到,依然只有x64  (所以以後儘量還是用x64吧,畢竟官方都沒給x86的)


依然是一個world包括了所有內容,非常方便


總共三個部分:

第一步,新增環境變數。

//配置環境這一步也可以替換為把bin目錄下的opencv_world320.dll直接拷貝到程式執行的根目錄下

首先解壓opencv到制定的目錄,繼而新增目錄 .....\x64\vc14\bin 到環境變數以便程式呼叫相應的dll。

因為本文用的是VS2015,故而選擇目錄vc14

新建VS2010專案以及2012專案需要自己編譯執行庫

第二步,新建專案並配置opencv環境

新建空白專案opencv_test之後,選擇專案-opencv_test屬性

必須要注意的是配置的是Debug還是Release,否則除錯的時候會有問題!!!

這裡需要修改的有三個地方,分別是包含目錄庫目錄,以及連結器-輸入的附加依賴項

包含目錄為  C:\opencv\build\include

庫目錄為     C:\opencv\build\x64\vc14\lib   //如果要使用靜態庫則選擇staticlib資料夾,當然需要自己編譯,官方沒有給

附加依賴項為  opencv_world320.lib  //本文采用release以及X64方式除錯,若用debug則需選擇帶d的lib

第三步,測試程式碼。

新建CPP貼上如下程式碼即可執行。

#include <opencv2/opencv.hpp> 

#include<iostream>  
#define PI 3.1415926  
#define R 150  
using namespace cv;
using namespace std;

int main() {
	Point center = Point(250, 250);
	int temp = 0;
	while (waitKey(60) != 27) {
		temp++;
		temp = temp % 72;
		float 角度 = temp / 18.0 * PI;
		Mat picture(500, 500, CV_8UC3, Scalar(255, 255, 255));
		//  center = Point(palm[0] + 320, palm[2] + 240);  
		//  r = palm[1] / 2;  
		center.x = 250 + R*sin(角度);
		center.y = 250 - R*cos(角度);
		int r = 20;
		circle(picture, center, r, Scalar(255, 0, 0), -1);

		for (int i = 1; i < 7; i++) {
			角度 = (temp - 3 * i) / 18.0 * PI;
			r = 20 - i * 2;
			center.x = 250 + R*sin(角度);
			center.y = 250 - R*cos(角度);
			circle(picture, center, r, Scalar(255, 0, 0), -1);
		}
		string 內容 = "Loading...";
		switch ((temp % 36) / 12) {
		case 0:內容 = "Opencv3"; break;
		case 1:內容 = "Opencv3."; break;
		case 2:內容 = "Opencv3.2"; break;
		}
		cv::putText(picture, 內容, cv::Point(180, 250), 3, 1, cvScalar(0, 0, 255));

		imshow("Loading...", picture);

	}
}

執行結果如下


新特性還沒具體瞭解,之後有空或許會寫一篇部落格~ 提前祝新年愉快呀~