相关链接:
opencv-3.4.1-arm编译安装 – 超详细
opencv-3.4.1-x86编译安装
- 环境
- 1.安装依赖库
- 2.OpenCV源码获取与解压
-
- 3.OpenCV配置编译
- 3.1 cmake-gui配置
- ==3.2 cmake-gui可能会遇到的问题==
-
- 3.3 编译安装make /make install
- ==3.4 make时可能遇到的问题==
-
- 4. 配置环境
- 5. 代码测试
- 5.1 写测试代码
- 5.2 编译
- 5.3 虚拟机连接笔记本摄像头
- 5.4 运行test
环境
ubuntu:16.04
gcc:5.4.0
opencv源码:opencv-3.4.1
opencv扩展包:opencv-3.4.1_contrib-3.4.1
cmake+cmake-gui
1.安装依赖库
安装编译工具
安装依赖包
2.OpenCV源码获取与解压
2.1 获取源码
官网处获取源码:速度比较慢,没梯可能不好办。
https://github.com/opencv
选择对应版本,下载下来
也可以下载我下载好的,5积分(放的时候是5):
https://download.csdn.net/download/qq_44503344/12666252
2.2 工作目录准备
2.3 解压
3.OpenCV配置编译
3.1 cmake-gui配置
使用默认编译器
搜索 CMAKE_BUILD_TYPE=Release CMAKE_INSTALL_PREFIX=/usr/local OPENCV_EXTRA_MODULES_PATH=/opt/wkspace/opencv/opencv_contrib-3.4.1/modules
勾选 jpeg和png库
点击configure,结束后点generate
3.2 cmake-gui可能会遇到的问题
3.2.1 问题1
到tiny-dnn:Download: v1.0.0a3.tar.gz 处停止
原因:无法连接到该网络,下载这个包
解决方法:https://blog.csdn.net/qq_39936818/article/details/104951448
1)下载tiny-dnn-1.0.0a3.tar.gz
csdn上找的一个包
2)通过samba放到共享目录/share,并重命名:
3)配置${opencv_contrib_folder}/modules/dnn_modern/CMakeLists.txt,第23行
改成:
重新cmake解决问题;
3.3 编译安装make /make install
3.4 make时可能遇到的问题
3.4.1 问题2
:
/opt/wkspace/opencv/opencv_contrib-3.4.1/modules/xfeatures2d/src/vgg.cpp:490:41 fatal error: vgg_generated_120.i: No such file or directory
还有很多类似的xxx.i,都是同个问题
原因:同样是无法连接到该网络,下载这个包
解决方法:https://blog.csdn.net/jiaken2660/article/details/104132060
下载文件后缀该为.tar.gz解压后为:
移动到
重新make解决
3.4.2 问题3
:
/opt/wkspace/opencv/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:42: fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or directory
同样也有一些类似的找不到头文件问题,都同个解决方法
原因:扩展包的include没在gcc编译这个文件时的头文件路径上
解决方法:将对应文件的include处更改为绝对路径
改为:
重新make解决
4. 配置环境
将opencv库加入到系统路径中,从而让系统可以找到
可能没有该文件,直接创建就行
在末尾处加入
/usr/local/lib
更新ld
在末尾处添加
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
执行:
更新:
5. 代码测试
5.1 写测试代码
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main() {
VideoCapture cap(0);
Mat frame;
while (1) {
cap >> frame;
imshow("内置摄像头", frame);
if (waitKey(30) == 27)break;
}
return 0;
}
打开摄像头循环获取图像。
5.2 编译
5.3 虚拟机连接笔记本摄像头
VM设置中USB2.0改为3.0
如果执行cheese黑屏则改回来,总有一个驱动可以看到图像
连接摄像头
灰色表示连接在主机中
绿灯表示连接到虚拟机但还未工作,
蓝灯表示正在使用
已连接如下:
此时/dev目录下出现video0:
cheese激活摄像头
印象中笔记本内置摄像头好像要用cheese工具来激活,如果不是那也可以当作测试摄像头下,如果没有这个工具则#apt-get install cheese下
连接正常
5.4 运行test
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)