opencv3.4.0移植到齐感QG2101平台
1. 下载opencv3.4.0源码
下载opencv3.4.0 Linux版本源码,下载地址如下:
https://github.com/opencv/opencv/archive/3.4.0.zip
3.4.0.zip
2. 编译准备
1.配置好交叉编译环境,在Linux下解压opencv源码
unzip 3.4.0.zip
cd opencv-3.4.0
mkdir build
mkdir output
2.安装cmake
OpenCV是通过cmake来构建的编译使用的Makefile。
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件。
sudo apt-get install cmake
进到build目录,按照下面的方式执行cmake:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=../output \
-D CMAKE_C_COMPILER=arm-openwrt-linux-gcc \
-D CMAKE_CXX_COMPILER=arm-openwrt-linux-g++ \
-D BUILD_SHARED_LIBS=ON \
..
说明:
CMAKE_C_COMPILER:指定C编译器
CMAKE_CXX_COMPILER:指定C++编译器
CMAKE_C_FLAGS:编译C文件时的选项,如-g;也可以通过add_definitions添加编译选项
EXECUTABLE_OUTPUT_PATH:可执行文件的存放路径
LIBRARY_OUTPUT_PATH:库文件路径
CMAKE_BUILD_TYPE:build类型(Debug, Release, …),CMAKE_BUILD_TYPE=Debug
BUILD_SHARED_LIBS:ON动态库,OFF静态库
一定要注意后面的两个点不能省略,这两个点指明了opencv源码的位置。
然后可以看到在build的路径下生成了很多文件和Makefile
注:CMakeCache.txt,该文件是上次cmake时候留下的缓存文件,如果在编译过程中报错,可以将该文件删除,然后再执行cmake。
3. 编译及错误处理
在build目录,执行make,开始编译
编译过程报下面的错误:
根据错误提示信息,在编译libpng时找不到zlib.h头文件,这个版本的OpenCV已经包含了第三方的库3rdparty,修改opencv-3.4.0目录的下的CMakeLists.txt文件,在ocv_include_directories(${OPENCV_CONFIG_FILE_INCLUDE_DIR})这一行(484行左右)下面添加:
ocv_include_directories(./3rdparty/zlib/)
进入build目录下,重新执行cmake命令
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=../output \
-D CMAKE_C_COMPILER=arm-openwrt-linux-gcc \
-D CMAKE_CXX_COMPILER=arm-openwrt-linux-g++ \
-D BUILD_SHARED_LIBS=ON \
..
执行make重新编译
等待编译完成后,执行make install,进入到output目录下,可以看到编译出来的opencv库文件和头文件
4. 测试
#include "opencv2/highgui.hpp"
#include "opencv2/core.hpp"
#include "opencv2/imgcodecs.hpp"using namespace cv;
using namespace std;int opencv_test()
{Mat image(200, 150, CV_8UC1);for (int i = 0; i < image.rows; i++){uchar* p = image.ptr<uchar>(i);for (int j = 0; j < image.cols; j++){if (i < 80 && i>50){p[j] = 0;}else{p[j] = 255;}}}imwrite("demo.jpg", image);return 0;
}
交叉编译并链接opencv动态库,将编译后的可执行成像了opencv动态库拷贝到板端,执行后得到下面的图片:
opencv移植完成!
5. 参考
https://blog.csdn.net/zhenglie110/article/details/83009675?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control
opencv3.4.0移植到齐感QG2101平台相关推荐
- zbar-0.10齐感QG2101平台移植
ZBar是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台包括 iPhone 手机.同时 ZBar 提供了二维码扫描的 API 开发包. zbar-0.10源码下载 下载zbar- ...
- 【OpenCV3】Opencv3.2.0在Hisi3521下的交叉编译和移植
说明:hisi3521交叉编译工具arm-hisiv300-linux已经配置完成,cmake已经安装. 1. 从官网(https://github.com/opencv/opencv/ar ...
- Ubuntu下安装opencv3.2.0,解决anaconda下的Python和安装opencv3.2.0冲突的问题
下载好opencv3.2.0源码之后,进入文件夹: mkdir buildcd buildcmake .. make sudo make install 但是仍然不行,缺少各种包,或者下载包的时候中断 ...
- opencv 全志_Banana Pi 开发板-【BPI-M2 Berry试用】论opencv3.3.0编译的那些坑(非成功版)-电路城论坛 - 电子工程师学习交流园地...
这是一张吐槽贴和碰壁贴,要教程的可以看看我另一片帖子: https://www.cirmall.com/bbs/thread-97291-1-1.html复制代码虽然是3.2.0,而且是树莓派的,但编 ...
- 海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+python3.5+opencv3.4.0+cuda10.0)
系列文章目录 海思Hi3519AV100深度学习方案(二)darknet转caffmodel之模型转换(yolov3+caffe+python3.5) 文章目录 系列文章目录 前言 一.系统已有环境检 ...
- 在装有Ubuntu16.04的VMware虚拟机下安装OpenCV3.2.0
引言 最近因为学习需要,要在VMware虚拟机下安装OpenCV,在网上查了一下OpenCV3.3.0目前已经出来了,但是考虑到稳定性问题,决定先装一个3.2.0版本的.需要注意的是,pip可以安装的 ...
- OpenCV3.2.0+VS2017在window10开发环境配置记录
本机环境:win10 64位 OpenCV3.2.0 Visual Studio 2017 最后结果,亲测可用 OpenCV官方下载地址: http://opencv.org/releases.htm ...
- VS2013+OpenCV3.1.0配置教程
文章目录 一 请先安装VS2013 三 如何自己动手配置属性表,这才是长久之计哇 相关文件安装包下载方式--关注微信公众号「 3D视觉工坊」,后台回复「VS2013+OpenCV3.1.0」 一 ...
- VS2013+OpenCV3.1.0配置方法
相关文件安装包:链接:https://pan.baidu.com/s/19Tiws62SFnuv5FR--waMAQ 密码:1paw 一 请先安装VS2013 见工具包中的"VS201 ...
最新文章
- 【BZOJ2115】[Wc2011] Xor 高斯消元求线性基+DFS
- checkbox复选框样式
- I/O复用函数的使用——epoll
- Oracle:FOR循环语句练习
- python duplicated函数_Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)...
- 如何为 .NET Core 3.0 中 WPF 配置依赖注入 ?
- centos关闭防火墙
- 信息学奥赛一本通 1315:【例4.5】集合的划分
- 配置EditPlus
- python下载bt文件_python获取bt种子的详细信息
- access数据库窗体设计实验报告_access计算机实验报告:窗体
- python 绘制堆积柱状图
- SIFT算法 特征匹配
- 设计手机APP界面的感想
- 达尔文的进化论正确吗?
- 跨时钟域的亚稳态处理、为什么要打两拍不是打一拍、为什么打两拍能有效?...
- pta7-6 英文单词排序
- C++ auto用法
- 计算机工考技师人机都考什么,必看|什么是人机对话考试!
- 平安性格测试题及答案_心理测试:1道题测出你灵魂深处最阴暗的一面!
热门文章
- 小米一元流量magisk_【magisk】【MIUI10】亲测解决MIUI一元流量root后无法使用问题...
- php slik转wav_微信小程序语音识别开发过程记录 微信小程序silk转mp3 silk转wav 以及ffmpeg使用 微信小程序语音红包...
- Wireshark数据包分析(详细解析)
- android studio 文件夹改名后 比如 example 改成demo 出现Cannot resolve symbol ‘R
- 云服务器Windows Server2012 配置http服务器(又称Web服务器,IIS)
- ES 根据地理坐标查询 按照距离从近到远排序
- 使用pdfjs-dist绘制pdf文件
- Excel如何快速删除数据开头的空格
- 网站优化指南:提升用户体验与搜索引擎排名
- java接口幂等性设计