Linux Qt配置opencv环境(一)

栏目: IT技术 · 发布时间: 3年前

内容简介:点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~今天离职前和之前的好友聚了下餐,按照我的风格,如果有可以写的文章肯定是要写的。另外说下,我对张志勇同志整体上是肯定的,虽然我经常怼(dui)他。

点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~

今天离职前和之前的好友聚了下餐,按照我的风格,如果有可以写的文章肯定是要写的。

另外说下,我对张志勇同志整体上是肯定的,虽然我经常怼(dui)他。

今天主体是 Linux 环境下配置 opencv 环境,如有不妥的地方,恳请大家指正。根据网上的教程并结合自己的实际操作——总结如下:

平台环境:ubuntu 16.04 _x64、 Qt 5.10.1/gcc 5.3.1opencv 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下,分别是 opencvopencv2; 头文件是在 /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目标文件

Linux Qt配置opencv环境(一)

操作及效果如下:

Linux Qt配置opencv环境(一)

②使用 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 链接方式报错如下:   ( 令人伤心 )

Linux Qt配置opencv环境(一)

使用succes方式则如下:

Linux Qt配置opencv环境(一)

让人无语......

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环境(一)

愿大家   拥有梦想,实现价值


以上所述就是小编给大家介绍的《Linux Qt配置opencv环境(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

疯狂Java讲义

疯狂Java讲义

李刚 / 电子工业出版社 / 2012-1-1 / 109.00元

《疯狂Java讲义(附光盘第2版)》是《疯狂Java讲义》的第2版,第2版保持了第1版系统、全面、讲解浅显、细致的特性,全面介绍了新增的Java 7的新特性。 《疯狂Java讲义(附光盘第2版)》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、......一起来看看 《疯狂Java讲义》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具