Linux Qt配置opencv环境(一)
小编:啊南 382阅读 2021.01.18
平台环境:ubuntu 16.04 _x64、 Qt 5.10.1/gcc 5.3.1、 opencv 3.4.10
一、 编译器
dh@ubuntu:~$ gcc -v . Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 安装成功
各种软件包支持:
sudo apt-get install build-essential
二、 安装cmake工具
由于之前编写过makefile 文件,已经安装了cmake,命令如下(此处是非源码安装):
sudo apt install cmake 效果: dh@ubuntu:~$ cmake -version cmake version 3.5.1 安装成功
三、 安装依赖库
dh@ubuntu:~$ sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg8-dev libjpeg-dev libtiff5-dev libswscale-dev libjasper-dev 具体哪些包能用上也不确定 dh@ubuntu:~$ sudo apt-get update
四、 安装opencv 库
官方网站:https://opencv.org/releases/
下载好压缩文件后,解压,进入opencv-3.4.10文件内:
cmake 指令 (注意,之后会用make -j4进行测试)
官方网站:https://opencv.org/releases/ 下载好压缩文件后,解压,进入opencv-3.4.10文件内: cmake 指令 (注意,之后会用make -j4进行测试)
经过漫长时间编译后,默认参数使得头文件在/usr/local/include下,分别是opencv和opencv2; 头文件是在/usr/local/lib下的libopencv_*
Make的过程还是有些耗时的。所以下次用多核试下
五、 测试是否安装成功
第一种测试方法
进入源码目录->进入sample目录->进入cpp目录下
①/home/dh/article/opencv/opencv-3.4.10/samples/cpp
g++ `pkg-config --cflags opencv` -o image image.cpp `pkg-config --libs opencv`
编译image.cpp文件,生成image目标文件
操作及效果如下:
②使用Qt 进行测试
使用之前文章 Qt一些模板 链接共享库的方式进行测试:
unix{ contains(QT_ARCH, i386){ } contains(QT_ARCH, x86_64){ INCLUDEPATH += $$PWD/3rd/opencv/linux_x64/lib/inc # LIBS += -L$$PWD/3rd/opencv/linux_x64/lib -opencv_* #faild LIBS += $$PWD/3rd/opencv/linux_x64/lib/libopencv_* #success message(STATUS"********64********$$PWD/3rd/opencv/linux_x64/lib/inc") } }else{ contains(QT_ARCH, i386){ #32bit python LIBS += -L$$PWD/lib/python/ -lpython37 INCLUDEPATH += $$PWD/lib/python/include } contains(QT_ARCH, x86_64){ #64bit message(STATUS"********64********$$PWD/lib/python") } }
使用faild 链接方式报错如下: (令人伤心)
使用succes方式则如下:
让人无语......
Qt 主程序如下:
#include#include #include #include using namespace cv; int main(int argc, char *argv[]) { namedWindow( "src", WINDOW_AUTOSIZE ); Mat src1 = imread( "/home/dh/article/opencv/QtTest/QtTestOpencv/imageData/lena.jpg" ); while(1) { imshow( "src", src1 ); char c = waitKey(30); if( 27==c ) return 0; } QCoreApplication a(argc, argv); return a.exec(); }
其中 27 是左上角的 esc 按键。
相关推荐
- Qt加载XPM图像 XPM是一种基于ASCII编码的图像格式,一般用于创建图标。由于它是ASCII编码,很方便地在代码中使用。 Qt的QPixmap类支持XPM格式,原型如下:QPixmap::QPixmap(const char *const [] xpm)摘取Qt源码中的"严重警告"XPM图标:static const char* const c…
- 3DMAX提示和技巧 本主题标识使用 Civil View 的一些重要提示和技巧。常规使用屏幕分辨率至少为 1280x1024 的 Civil View。低于此分辨率时,一些面板将占用过多屏幕空间。 将视口设置为线框显示以达到最佳性能。 要尽可能简化用户界面,请在单个视口中工作并关闭 3ds Max 命令面…