Linux Qt配置opencv环境(一)

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

内容简介:点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~今天离职前和之前的好友聚了下餐,按照我的风格,如果有可以写的文章肯定是要写的。另外说下,我对张志勇同志整体上是肯定的,虽然我经常怼(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环境(一)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Persuasive Technology

Persuasive Technology

B.J. Fogg / Morgan Kaufmann / 2002-12 / USD 39.95

Can computers change what you think and do? Can they motivate you to stop smoking, persuade you to buy insurance, or convince you to join the Army? "Yes, they can," says Dr. B.J. Fogg, directo......一起来看看 《Persuasive Technology》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具