内容简介:点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~今天离职前和之前的好友聚了下餐,按照我的风格,如果有可以写的文章肯定是要写的。另外说下,我对张志勇同志整体上是肯定的,虽然我经常怼(dui)他。
点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~
今天离职前和之前的好友聚了下餐,按照我的风格,如果有可以写的文章肯定是要写的。
另外说下,我对张志勇同志整体上是肯定的,虽然我经常怼(dui)他。
今天主体是 Linux 环境下配置 opencv 环境,如有不妥的地方,恳请大家指正。根据网上的教程并结合自己的实际操作——总结如下:
平台环境: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 <QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
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 中如何使用共享库及头文件
③ Qt 中编译部分及程序运行时所需共享库的搜索路径
欢迎大家关注公众号: Pou光明
愿大家 拥有梦想,实现价值
以上所述就是小编给大家介绍的《Linux Qt配置opencv环境(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 分离Webpack开发环境与生产环境的配置
- Xcode配置测试环境和线上环境
- Linux环境centos7 配置java环境
- hadoop地址配置、内存配置、守护进程设置、环境设置
- 配置lisp开发环境
- 配置lisp开发环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。