Ubuntu14.04 LTS安装 OpenCV-3.0.0-rc1 + QT5.4.1
如果顺利,整个过程应该3个小时左右能够完成。
我整个过程用了一早上,配置过程中有问题,就要好好利用百度。多亏前辈们的积累,不然我可能在花几天都不会配置好,在这里我也分享下配置的过程。(每个人的电脑配置前的环境不一样,可能和我配置的过程有不一样的地方,那么请百度)
I 安装配置工作前的准备
I.1 电脑 - 笔记本,台式机均可(废话)
I.2 Linux操作系统 - 物理机上的,或者虚拟机上跑的
I.3 网络 - 需要下载一些资源
I.4 安装包
I.4.1 Linux 版本的OpenCV 下载OpenCV http://opencv.org/
下载完成的安装包会是这样子的:opencv-3.0.0-rc1.zip
I.4.2 Linux 版本的QT 下载QT http://qt-project.org/
下载完成的安装包会是这样子的:qt-opensource-linux-x64-5.4.1.run
II 安装 OpenCV
II.1 首先,需要安装一些安装用到的包
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install cmake
II.2 编译OpenCV
II.2.1 解压OpenCV,并创建一个文件夹,并进入文件夹
unzip ./opencv-3.0.0-rc1.zip
cd opencv-3.0.0-rc1
mkdir build
cd build
II.2.2 编译
cmake -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_GTK_2_X=ON ..
make
sudo make install
II.3 默认情况下,库文件会安装在 /usr/local/lib。
为了能够链接到 lib,需要在目录/etc/ld.so.conf.d/ 下创建一个文件 opencv.conf:
在文件内写入并保存:/usr/local/lib
然后在此目录下执行:sudo ldconfig
III 安装QT
III.1 ./ xxx (我用的版本是:所以就 ./qt-opensource-linux-x64-5.4.1.run)直接就可以安装了
III.2 然后一直Next,直到Finish
IV 使QT能够使用OpenCV
IV.1 创建 Qt控制台应用项目
IV.2 添加OpenCV路径
IV.2.1 现在需要告诉Qt 库文件安装在了哪里。打开 .pro 文件并添加以下路径:
INCLUDEPATH += .
INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/local/include/opencv
INCLUDEPATH += /usr/local/include/opencv2
INCLUDEPATH += /usr/local/include/opencv2/core
INCLUDEPATH += /usr/local/include/opencv2/highgui
INCLUDEPATH += /usr/local/include/opencv2/imgproc
INCLUDEPATH += /usr/local/include/opencv2/flann
INCLUDEPATH += /usr/local/include/opencv2/photo
INCLUDEPATH += /usr/local/include/opencv2/video
INCLUDEPATH += /usr/local/include/opencv2/features2d
INCLUDEPATH += /usr/local/include/opencv2/objdetect
INCLUDEPATH += /usr/local/include/opencv2/calib3d
INCLUDEPATH += /usr/local/include/opencv2/ml
INCLUDEPATH += /usr/local/include/opencv2/contrib
LIBS += `pkg-config opencv --cflags --libs`
IV.3 测试程序
IV.3.1 在我们的例程“hello world”里,显示一幅图像:当然是lena.jpg(注:OpenCV经典例图)。你需要把要显示的图像(lena.jpg)放在程序相应的debug或release目录里。否则程序会找不到图像而无法显示
#include <QCoreApplication>
#include <opencv2/highgui.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
Mat image;
image = imread("lena.jpg"); // Read the file
if(!image.data)
{
cout << "nenhuma imagem!";
}
else
{
cout << "imagem carregada!";
}
cv::namedWindow("Teste imagem");
cv::imshow("Teste imagem", image);
cv::waitKey(0);
return 0;
}