原文:http://blog.csdn.net/shawn_ht/article/details/40795039
对原文精简,以及自己遇到的问题补充说明,这里先装qt后装opencv,因为需要WITH_QT
参考:http://blog.csdn.net/hosea1008/article/details/50724800
ubuntu是Linux的一个发行版本,我想对linux有所了解的人应该都知道,我们直接到官网上下载就好了,是免费使用的。
官网下载链接:https://www.ubuntu.com/download/desktop
这里我用的是最新的ubuntu16.04
二、qt安装
下载链接:http://ftp.vim.org/languages/qt/archive/qt/5.7/5.7.0/
文件名称:qt-opensource-linux-x64-5.7.0.run
进入到qt下载目录,输入指令:
sudo chmod 777 * -R
执行指令:
./qt-opensource-linux-x64-5.7.0.run
出现熟悉的安装页面,安装的时候全选
安装完成后到/home/Qt5.7.0/Tools/QtCreator/bin下右键qtcreator,选择make link,剪切到桌面上。
此时其实还qmake还找不到,添加环境变量
gedit /home/kevin/.bashrc
添加:(注意修改为自己的用户名)
export QT5_ROOT=/home/kevin/Qt5.7.0/5.7/gcc_64
export PKG_CONFIG_PATH=${QT5_ROOT}/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=${QT5_ROOT}/lib:$LD_LIBRARY_PATH
export CMAKE_MODULE_PATH=${QT5_ROOT}/lib/cmake:$CMAKE_MODULE_PATH
export PATH=${QT5_ROOT}/bin:$PATH
执行指令使配置生效:
source /home/kevin/.bashrc
此时输入
qmake --version
查询是否生效
三、OpenCV安装
首先找到opencv的官网把最新的openCV2.4.9包下载到ubuntu里,
官网下载链接:http://opencv.org/releases.html
输入指令解压
unzip opencv-2.4.9.zip
解压后不用着急,你会看到解压目录下有一堆文件,这就是我们的openCV库了,但是现在还没法用,得用cmake进行编译才行。
cmake就是一个跨平台的编译器,在ubuntu下我们只需要输入一行指令即可安装:
sudo apt-get install cmake
sudo apt-get install cmake-qt-gui
查看版本,测试是否安装成功:
cmake --version
cmake安装完毕后在还得预装一些其他的包,通过apt获取就好:
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
注意:里面的P是小写,但是发布的时候原文直接转换成大写了,直接复制执行会导致gtk2.0没有安装成功,后面的opencv就需要重新编译了
开始编译openCV了,新建个building文件夹(这里你取什么名字都无所谓)用于存放编译后的文件:
mkdir building
然后执行指令
sudo cmake-gui
选择好两个路径
点击Configure,默认即可。
接着,修改3个地方,分别是MAKE_BUILD_TYPE为Release,usr/local是lib文件的存放目录,
WITH_QT打勾,WITH_TIFF去勾
点击Generate,最后进入building目录输入指令:
sudo make
接着:
sudo make install
这样就编译完成了,你可以在usr/local/lib下看到编译好的opencv函数库
最后还得配置好opencv的环境变量:
sudo gedit /etc/ld.so.conf.d/opencv.conf
保存退出后执行:
sudo ldconfig
接着配置环境变量:
sudo gedit /etc/bash.bashrc
去到这个文件的最后,写入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
至此opencv配置完毕。
四、opencv测试案例
我们先打开qt creator,新建一个工程,这里选择控制台程序就好了:
修改test.pro文件:
QT += core
QT -= gui
CONFIG += c++11
TARGET = test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv \
/usr/local/include/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so
SOURCES += main.cpp
LIBS写全的话是有这些:
LIBS += /usr/local/lib/libopencv_calib3d.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_features2d.so \
/usr/local/lib/libopencv_flann.so \
/usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_imgcodecs.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_ml.so \
/usr/local/lib/libopencv_objdetect.so \
/usr/local/lib/libopencv_photo.so \
/usr/local/lib/libopencv_shape.so \
/usr/local/lib/libopencv_stitching.so \
/usr/local/lib/libopencv_superres.so \
/usr/local/lib/libopencv_videoio.so \
/usr/local/lib/libopencv_video.so \
/usr/local/lib/libopencv_videostab.so
主要是将opencv函数库的引用加上
主函数main.cpp修改如下:
#include
#include
using namespace cv;
int main()
{
namedWindow( "src", WINDOW_AUTOSIZE );
Mat src1 = imread( "lena.jpg" );
imshow( "src", src1 );
waitKey(0);
return 0;
}
然后在工程根目录下放张lena.jpg的图片,按ctrl+R即可编译运行即可
可以看到有toolbar了。