最近要在mac運行一個Qt工程,須要使用OpenCV+ITK+VTK,搞了很久才搞定。我只想說,vtk+itk在mac上的資料真心少,雖然osx和linux的安裝配置大致同樣,可是就是那些許差別埋得坑真是磨人(特別是對於身爲新手而言,淚奔啊 ´╮(╯﹏╰)╭ 。因此搞定以後打算好好寫個博客記錄本身踩過的坑,也供給他人提供經驗少踩坑。linux
這篇博客主要記錄Qt的安裝,和如何在Qt上使用OpenCV。shell
環境:
- Mac OS X 10.11.2
- OpenCV3.0用源碼cmake裝的opencv.(How to install OpenCV on Mac)markdown
工程建立以後的目錄以下框架
☁ Qt tree testOpenCV testOpenCV ├── main.cpp ├── mainwindow.cpp ├── mainwindow.h ├── mainwindow.ui ├── testOpenCV.pro └── testOpenCV.pro.user 0 directories, 6 files
工程中的testOpenCV.pro即爲工程自動的配置文件,咱們只須要在此文件上添加須要用的配置。學習
INCLUDEPATH +=/usr/local/include LIBS +=-L/usr/local/lib -lopencv_imgproc -lopencv_core -lopencv_highgui -lopencv_imgcodecs SOURCES += main.cpp\ mainwindow.cpp
opencv安裝路徑通常在/usr/local/include 和 /usr/local/lib下。這裏我只是構建簡單的opencv例子,只用到四個連接庫-lopencv_imgproc -lopencv_core -lopencv_highgui -lopencv_imgcodecs
, 若是你要使用更高級的功能,須要添加相應的連接庫,mac下的動態連接庫後綴是.dylib,如libopencv_core.dylib,配置時需把lib 改爲 -l
,去掉.dylib。ui
使用一個簡單的圖片顯示例子,Mat, imread(),imshow(),修改mainwindow.cpp以下this
#include "mainwindow.h" #include "ui_mainwindow.h" #include <opencv2/opencv.hpp> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); cv::Mat inputImage = cv::imread("lena.jpg");//這裏更改成你電腦的本地圖片路徑 if(!inputImage.empty()) cv::imshow("Display Image", inputImage); } MainWindow::~MainWindow() { delete ui; }
最後能夠編譯運行了:Build the project (Build » Build Project or Ctrl+B) and run it (Build » Run or Ctrl+R).spa
運行結果
.net