最近要在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