0、起什么標題呢?(就叫寫在前面的話吧)
Atom插件的安裝參照這篇文章,opencv的配置參考這篇文章(不使用CodeBlocks的話,解壓后只需要添加相應的環境變量即可)。
之前就是想設置Atom能夠編譯opencv工程,Atom的gcc-make-run插件是利用MinGW的gcc/g++編譯C/C++代碼,要添加其對opencv的支持,實際上只需要在編譯時進行相關庫文件的鏈接即可。對codeBlocks配置opencv后,我寫了一個簡單的圖片顯示代碼進行測試,編譯時發現Build log下有編譯鏈接庫的命令,然后就是根據這個改了一下gcc-make-run的設置,能夠正確編譯opencv代碼并運行。
CodeBlocks編譯opencv代碼
1、設置
打開Atom,按下快捷鍵Ctrl+Shift+P,輸入install package,點擊第一個進入設置管理。
設置
找到安裝的gcc-make-run插件,點擊設置對插件編譯選項進行設置
gcc-make-run
參數 | 作用 |
---|---|
-Wall | 表示允許gcc提供可用的警告信息 |
-g | 表示在編譯時產生調試信息 |
-Idir | 此處為包含opencv頭文件所在目錄 |
-Ldir | 指定opencv鏈接庫的路徑 |
在Complier Flags里面添加的編譯選項是opencv頭文件的鏈接路徑,Link Libraries添加的為鏈接庫的路徑。實際設置時,要根據自己opencv所在路徑進行相應修改,例如在我的電腦上,opencv路徑為E:\OpenCv_Code\CodeBlocks1601\opencv3
,那么我的配置如下:
1.1.Compiler Flags添加如下:
-Wall -fexceptions -g -IE:\OpenCv_Code\CodeBlocks1601\opencv3\build\include -IE:\OpenCv_Code\CodeBlocks1601\opencv3\build\include\opencv -IE:\OpenCv_Code\CodeBlocks1601\opencv3\build\include\opencv2
1.2.Link Libraries添加如下:
-LE:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_calib3d310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_core310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_features2d310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_flann310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_highgui310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_imgcodecs310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_imgproc310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_ml310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_objdetect310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_photo310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_shape310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_stitching310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_superres310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_ts310.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_video310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_videoio310.dll.a E:\OpenCv_Code\CodeBlocks1601\opencv3\build\x86\mingw\lib\libopencv_videostab310.dll.a
設置
2、代碼測試
隨意新建一個目錄,在目錄里新建一個cpp文檔并拷貝一個test.jpg圖片到該目錄,使用Atom打開,輸入如下代碼,按F6編譯執行:
#include <iostream>
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
using namespace std;
using namespace cv;
int main()
{
cout << "Hello world!" << endl;
Mat img = imread("test.jpg");
imshow("test", img);
cvtColor(img, img, CV_RGB2GRAY);
imshow("gray", img);
waitKey(0);
return 0;
}
測試結果