Ubuntu下配置opencv(QT版)
1. 安装Qt
在Ubuntu下安装qt非常简单,可以参考下面的安装方法:
https://blog.youkuaiyun.com/wuweifeng_2017/article/details/78322249
2. 安装opencv3.4
从源码安装最新版的opencv可以解决大部分的兼容性问题。
2.1 下载最新源码
从github上下载最新的opencv源码:https://github.com/opencv/opencv
解压zip格式的源码后,在解压后的目录中创建build文件夹并进入:
mkdir build
cd build
2.2 安装依赖包
必须安装的依赖包:
apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
以下为可选依赖包,最好都装上
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2.3 编译安装
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..(两个点一定要有!!!)
sudo make
sudo make install
sudo make成功的截图:
3. 配置opencv3.4
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
4. 测试
首先新建一个qt工程,这里只创建了简单的C++工程,然后打开pro文件,为其配置opencv:
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += \
main.cpp
INCLUDEPATH += /usr/local/include\opencv4
LIBS += /usr/local/lib/libopencv_*
测试源程序main.cpp:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat img = Mat::zeros(200,200,CV_8UC3);
imshow("image", img);
waitKey(0);
return 0;
}
需要注意的是,读取图片的时候,如果像上面的程序一样写相对路径的话,需要将图片放入项目的debug目录下,不能放在源程序所在的目录下。
windows下QT配置opencv免Cmake
windows下采用Cmake配置opencv会出现各种各样的问题,有时候一两天都无法解决。这里介绍一种非常简单的Qt配置opencv的方法,不采用Cmake,亲测可用。
安装信息如下:
win10(64位)
Qt5.12.0 (http://download.qt.io/archive/qt/5.12/5.12.0/)
事先采用MinGW编译好的OpenCV4.0.1 (https://github.com/huihut/OpenCV-MinGW-Build)
详细配置过程:
下载好Qt5.12.0的.exe安装包和OpenCV压缩包并解压
双击.exe文件安装,安装选项如下图所示:
安装完成后设置系统变量,在PATH中添加如下几项:
在cmd中输入:"SET PATH=C:\",使刚刚的配置生效,打开一个cmd新的cmd窗口shu'输入:"ECHO %PATH%",即可看到PATH的值。
至此Qt配置OpenCV就完成了,相比于Cmake方法要简单得多,下面有一个小例程验证是否配置成功。
打开Qtcreator新建项目,在.pro文件中添加opencv库路径,如下所示:
加入opencv相关头文件:
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>
代码与ubuntu一样
为了方便自己以后查找,将https://blog.youkuaiyun.com/wanzhen4330/article/details/82622664和https://blog.youkuaiyun.com/qq_33474442/article/details/87074218的博客引用过来,如有冒犯请告知