DragonBoard 410c Debian上搭建OpenCV环境过程

DragonBoard 410c Debian上搭建OpenCV环境过程,通过直接在410c板子上编译opencv3.2.0源码来构建环境。整个编译过程可通过如下脚本实现。
编译脚本下载链接:
https://download.csdn.net/download/wanvan/10711839 【下载其他版本的OpenCV只需修改脚本中的3.2.0为指定版本即可】

环境
开发板: DragonBoard 410c
开发板系统:Debian (Linux 4.9.34-linaro-lt-qcom aarch64)
CMake:3.7.2

编译opencv库
使用脚本“Download_Compile_Install_OpenCV3.2.sh”可以自动完成安装第三方库、下载opencv3.2.0源码zip包、配置camke、make编译、make install安装等。可根据需要自己修改下脚本。

编译技巧:
1)可以提前下载好opencv3.2.0.zip包拷贝至生成的OpenCV目录下,改名称为“opencv.zip”;
2)编译过程中可能会编译失败,脚本中是每次编译都重新解压“opencv.zip”,清空解压后的目录。为避免重头编译,可以将脚本中“清空”和“解压包”的命令注释掉。或者在shell中手动敲入“make”接着编译。
3)410c除去系统占用后仅剩3.6G。而opencv3.2.0源码编译时库和中间文件最终会占用4.1G左右。直接在410c板子上编译空间会不足。因此,后来在ext3格式sd卡上编译(可在windows下用DiskGenius将sk卡格式成ext3格式,该格式可直接拷贝linux下的链接等所有文件),库安装则是在410c的/usr/local下。

编译完成后,截图如下:

在这里插入图片描述

检查编译的库
通过如下命令,检查库是否存在
在这里插入图片描述

测试编译的库

测试的代码:
#include <stdio.h>
#include <cv.h>
#include <highgui.h>

int main(void)
{
IplImage *img = cvLoadImage(“baidu.png”, 1);
cvNamedWindow(“Example”, CV_WINDOW_AUTOSIZE);
cvShowImage(“Example”, img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow(“Example”);
return 0;

}

编译:
gcc -o main main.c pkg-config --cflags --libs opencv 【注意带" ` "符号】

编译时出现错误如下:
在这里插入图片描述

修改为:
将main.c类型改为main.cpp
编译命令改为:g++ -o main main.cpp pkg-config --cflags --libs opencv 【注意带" ` "符号】
最终编译OK,运行./main 图片显示OK。说明opencv环境OK

https://github.com/opencv/opencv/issues/6076 参考此文,可将测试代码的头文件改为#include <opencv2/highgui.hpp>,并将main.c类型改为main.cpp
编译命令改为:g++ -o main main.cpp pkg-config --cflags --libs opencv 。后来发现,其实只需要将将main.c类型改为main.cpp,编译用g++即可,头文件不需要改为opencv2的。

猜你喜欢

转载自blog.csdn.net/wanvan/article/details/83000744