内容简介:点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~今天离职前和之前的好友聚了下餐,按照我的风格,如果有可以写的文章肯定是要写的。另外说下,我对张志勇同志整体上是肯定的,虽然我经常怼(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开发环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!