VS2013 配置Opencv2413 64位
系統變量 Path: F:\2biancheng_tool\Opencv2413\opencv\build\x64\vc12\bin
用戶變量:添加opencv變量,值: F:\2biancheng_tool\Opencv2413\opencv\build
工程目錄的配置(Debug)
找到屬性管理器,如果找不到,請安裝下圖方法找到。雙擊Debug |X64打開如下窗口,
設置如下:(下圖紅框項為設置項)
0 可執行目錄
F:\2biancheng_tool\Opencv2413\opencv\build\x64\vc12\bin
1、包含目錄:(VC++目錄)
F:\2biancheng_tool\Opencv2413\opencv\build\include
F:\2biancheng_tool\Opencv2413\opencv\build\include\opencv
F:\2biancheng_tool\Opencv2413\opencv\build\include\opencv2
2、庫目錄:(VC++目錄)
F:\2biancheng_tool\Opencv2413\opencv\build\x64\vc12\lib
可選配置 VS SDK(如果報錯缺少kernel32.lib)
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
額外聲明:如果添加了還是提示缺少文件,那可能是VS沒安裝好導致環境windos sdk 環境配置出現問題,重新用微軟官網資源安裝一遍,不要隨便亂用VS2013安裝源。
3、連接器->輸入->附加依賴項:
opencv_ml2413d.lib
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_objdetect2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_nonfree2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_videostab2413d.lib
其實以上都是D:\Program Files\opencv\build\x86\vc12\lib下所有的lib文件,你會發現,有的后面帶上d,有的沒有d,這是因為Debug的就有d,Release則沒有d。
工程目錄的配置(Release)
其他與Debug一樣,只是連接器->輸入->附加依賴項不一樣,設置如下:
opencv_objdetect2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_nonfree2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_videostab2413.lib
opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
測試代碼一 讀取圖片
#include <iostream> #include<core/core.hpp> #include<highgui/highgui.hpp> using namespace cv; using namespace std; int main() { //讀入圖片,注意圖片路徑 //Mat image = imread("D:\\Picture\\lena.jpg"); Mat image = imread("timg.jpg"); //圖片讀入成功與否判定 if (!image.data) { cout << "you idiot!where did you hide lena!" << endl; //等待按鍵 system("pause"); return -1; } //創建一個名字為“Lena”的圖像顯示窗口,(不提前聲明也可以) namedWindow("Lena", 1); //顯示圖像 imshow("Lena", image); //等待按鍵 waitKey(); return 0; }
測試二 讀取視頻
#include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { VideoCapture capture("C:\\Desktop\\1.avi");//讀入視頻文件 while (1)//循環顯示每一幀 { Mat frame; capture >> frame; namedWindow("未處理視頻"); imshow("未處理視頻", frame); waitKey(30); Mat edges; cvtColor(frame, edges, CV_BGR2GRAY);//邊緣化處理視頻 blur(edges, edges, Size(7, 7)); Canny(edges, edges, 0, 30, 3); namedWindow("處理后視頻"); imshow("處理后視頻", edges); waitKey(30); } return 0; }
測試三 1 讀取實時視頻
#include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { VideoCapture capture(0);//從攝像頭讀入圖像 Mat edges; while (1) { Mat frame; capture >> frame; namedWindow("未處理圖像"); imshow("未處理圖像", frame); if (waitKey(30) >= 0) break; } return 0; }
測試三 2 讀取實時視頻 邊緣檢測
#include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> using namespace cv; int main() { VideoCapture capture(0);//從攝像頭讀入圖像 Mat edges; while (1) { Mat frame; capture >> frame; namedWindow("未處理圖像"); imshow("未處理圖像", frame); cvtColor(frame, edges, CV_BGR2GRAY);//將攝像頭讀入的圖像轉換成灰度圖像輸出 blur(edges, edges, Size(7, 7)); Canny(edges, edges, 0, 30, 3); imshow("處理后圖像", edges); if (waitKey(30) >= 0) break; } return 0; }