日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS2013安装oepncv2.4.10 以及opencv 3.0.0

發布時間:2024/6/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2013安装oepncv2.4.10 以及opencv 3.0.0 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Author:Maddock?

Date:2014.12.27

……………………………………………………………………………………………………

PS: VS2013 + OPENCV 3.0.0 的安裝,連接器的輸入選項簡化為:

#ifndef _OPENCV_LIB_
#define _OPENCV_LIB_

#ifdef _DEBUG
#pragma comment(lib, "opencv_ts300d.lib")
#pragma comment(lib, "opencv_world300d.lib")

#else
#pragma comment(lib, "opencv_ts300.lib")
#pragma comment(lib, "opencv_world300.lib")

#endif

#endif

?

其他步驟相同。

不過,目前opencv3.0.0的using namespace cv和windows.h中ACCESS_MASK定義沖突,

錯誤?? ?4?? ?error C2872: “ACCESS_MASK”: 不明確的符號?? ?c:\program files (x86)\windows kits\8.1\include\um\winnt.h?? ?9084?? ?1?? ?opencvtest

注釋掉using namespace cv,再所有需要用到cv的地方加cv::……………………………………………………………………………………………

準備工具 windows平臺 opencv2.4.10?vs2013

1解壓opencv2.4.10.exe,我放在目錄 C:\Adisk\software\opencv\opencv2410\opencv

配置環境變量

Path: C:\Adisk\software\opencv\opencv2410\opencv\build\x86\vc12\bin

在x86文件夾內還有vc10,vc11,vc12 3個文件夾,分別對應vs2010,vs2012,vs2013

2?配置VS2013的include?和lib目錄

新建win32工程,打開屬性管理器(視圖–>其他窗口–>屬性管理器)

右鍵Debu32中的Mirosoft.Cpp.Win32.user選擇屬性,可以看見

編輯包含目錄和庫目錄

包含目錄 C:\Adisk\software\opencv\opencv2410\opencv\build\include

庫目錄 C:\Adisk\software\opencv\opencv2410\opencv\build\x86\vc12\lib

下一步點擊連接器的輸入選項,編輯附加依賴項,加入

opencv的debug版本和release版本需要的lib不同,但是在編輯右鍵Debu32中的Mirosoft.Cpp.Win32.user選擇屬性這一步中,相應的

release版本也跟著變了,如果編譯運行debug版本是沒有問題,切換到release版本是需要把debug版本去掉,否則opencv中的部分函數將不能

運行。

debug版本
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib

release版本
opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
opencv_nonfree2410.lib
opencv_objdetect2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_videostab2410.lib

?

3??測試

// opencvtest.cpp : 定義控制臺應用程序的入口點。
//

#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
?? ?Mat src = imread("image.png", 0);
?? ?if (src.empty())
?? ?{
?? ??? ?cout << "打開圖像失敗!" << endl;
?? ??? ?return -1;
?? ?}
?? ?namedWindow("image", CV_WINDOW_AUTOSIZE);
?? ?imshow("image", src);
?? ?waitKey(0);
?? ?return 0;
}

如果出現dll文件丟失,可以注銷賬戶或者重啟電腦是環境變量生效。

?

PS: 按照上述方法做的時候,在debug和release界面的附加依賴項里其中一個編輯完,另一個為什么也出現了和其一樣的附加依賴項?怎么實現debug和release中的附加依賴項不一樣?? 哪位大俠知道解決方法,求告知!!!!!

參考方案:
每次編寫代碼在前面加入下面的代碼,可以不用配置編輯附加依賴項
參考來源:http://blog.csdn.net/xiaohuh421/article/details/7476485

#ifdef _DEBUG
#pragma comment(lib,"..\\debug\\LedCtrlBoard.lib")
#else
#pragma comment(lib,"..\\release\\LedCtrlBoard.lib")
#endif

#ifdef _DEBUG
#pragma comment(lib, "opencv_calib3d2410d.lib")
#pragma comment(lib, "opencv_contrib2410d.lib")
#pragma comment(lib, "opencv_core2410d.lib")
#pragma comment(lib, "opencv_features2d2410d.lib")
#pragma comment(lib, "opencv_flann2410d.lib")
#pragma comment(lib, "opencv_gpu2410d.lib")
#pragma comment(lib, "opencv_highgui2410d.lib")
#pragma comment(lib, "opencv_imgproc2410d.lib")
#pragma comment(lib, "opencv_legacy2410d.lib")
#pragma comment(lib, "opencv_ml2410d.lib")
#pragma comment(lib, "opencv_nonfree2410d.lib")
#pragma comment(lib, "opencv_objdetect2410d.lib")
#pragma comment(lib, "opencv_photo2410d.lib")
#pragma comment(lib, "opencv_stitching2410d.lib")
#pragma comment(lib, "opencv_ts2410d.lib")
#pragma comment(lib, "opencv_video2410d.lib")
#pragma comment(lib, "opencv_videostab2410d.lib")
#else
#pragma comment(lib, "opencv_calib3d2410.lib")
#pragma comment(lib, "opencv_contrib2410.lib")
#pragma comment(lib, "opencv_core2410.lib")
#pragma comment(lib, "opencv_features2d2410.lib")
#pragma comment(lib, "opencv_flann2410.lib")
#pragma comment(lib, "opencv_gpu2410.lib")
#pragma comment(lib, "opencv_highgui2410.lib")
#pragma comment(lib, "opencv_imgproc2410.lib")
#pragma comment(lib, "opencv_legacy2410.lib")
#pragma comment(lib, "opencv_ml2410.lib")
#pragma comment(lib, "opencv_nonfree2410.lib")
#pragma comment(lib, "opencv_objdetect2410.lib")
#pragma comment(lib, "opencv_photo2410.lib")
#pragma comment(lib, "opencv_stitching2410.lib")
#pragma comment(lib, "opencv_ts2410.lib")
#pragma comment(lib, "opencv_video2410.lib")
#pragma comment(lib, "opencv_videostab2410.lib")
#endif

?

如果覺得每次添加比較麻煩,可以采用如下一勞永逸的方案:

新建一個opencv_lib.h文件,編輯內容:

#ifndef _OPENCV_LIB_
#define _OPENCV_LIB_

#ifdef _DEBUG
#pragma comment(lib, "opencv_calib3d2410d.lib")
#pragma comment(lib, "opencv_contrib2410d.lib")
#pragma comment(lib, "opencv_core2410d.lib")
#pragma comment(lib, "opencv_features2d2410d.lib")
#pragma comment(lib, "opencv_flann2410d.lib")
#pragma comment(lib, "opencv_gpu2410d.lib")
#pragma comment(lib, "opencv_highgui2410d.lib")
#pragma comment(lib, "opencv_imgproc2410d.lib")
#pragma comment(lib, "opencv_legacy2410d.lib")
#pragma comment(lib, "opencv_ml2410d.lib")
#pragma comment(lib, "opencv_nonfree2410d.lib")
#pragma comment(lib, "opencv_objdetect2410d.lib")
#pragma comment(lib, "opencv_photo2410d.lib")
#pragma comment(lib, "opencv_stitching2410d.lib")
#pragma comment(lib, "opencv_ts2410d.lib")
#pragma comment(lib, "opencv_video2410d.lib")
#pragma comment(lib, "opencv_videostab2410d.lib")
#else
#pragma comment(lib, "opencv_calib3d2410.lib")
#pragma comment(lib, "opencv_contrib2410.lib")
#pragma comment(lib, "opencv_core2410.lib")
#pragma comment(lib, "opencv_features2d2410.lib")
#pragma comment(lib, "opencv_flann2410.lib")
#pragma comment(lib, "opencv_gpu2410.lib")
#pragma comment(lib, "opencv_highgui2410.lib")
#pragma comment(lib, "opencv_imgproc2410.lib")
#pragma comment(lib, "opencv_legacy2410.lib")
#pragma comment(lib, "opencv_ml2410.lib")
#pragma comment(lib, "opencv_nonfree2410.lib")
#pragma comment(lib, "opencv_objdetect2410.lib")
#pragma comment(lib, "opencv_photo2410.lib")
#pragma comment(lib, "opencv_stitching2410.lib")
#pragma comment(lib, "opencv_ts2410.lib")
#pragma comment(lib, "opencv_video2410.lib")
#pragma comment(lib, "opencv_videostab2410.lib")
#endif

#endif

將該文件放入opencv的安裝目錄:C:\Adisk\software\opencv\opencv2410\opencv\build\include\opencv2\opencv_lib.h也就是和 #include <opencv2/opencv.hpp>在同一個目錄,之后只需要包含頭文件 #include <opencv2/opencv_lib.h>

就可以在Debug和Release版本之間任意切換

?

轉載于:https://www.cnblogs.com/adong7639/p/4189276.html

總結

以上是生活随笔為你收集整理的VS2013安装oepncv2.4.10 以及opencv 3.0.0的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。