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平台相关推荐

  1. zbar-0.10齐感QG2101平台移植

    ZBar是款桌面电脑用条形码/二维码扫描工具,支持摄像头及图片扫描,支持多平台包括 iPhone 手机.同时 ZBar 提供了二维码扫描的 API 开发包. zbar-0.10源码下载 下载zbar- ...

  2. 【OpenCV3】Opencv3.2.0在Hisi3521下的交叉编译和移植

    说明:hisi3521交叉编译工具arm-hisiv300-linux已经配置完成,cmake已经安装. 1.      从官网(https://github.com/opencv/opencv/ar ...

  3. Ubuntu下安装opencv3.2.0,解决anaconda下的Python和安装opencv3.2.0冲突的问题

    下载好opencv3.2.0源码之后,进入文件夹: mkdir buildcd buildcmake .. make sudo make install 但是仍然不行,缺少各种包,或者下载包的时候中断 ...

  4. opencv 全志_Banana Pi 开发板-【BPI-M2 Berry试用】论opencv3.3.0编译的那些坑(非成功版)-电路城论坛 - 电子工程师学习交流园地...

    这是一张吐槽贴和碰壁贴,要教程的可以看看我另一片帖子: https://www.cirmall.com/bbs/thread-97291-1-1.html复制代码虽然是3.2.0,而且是树莓派的,但编 ...

  5. 海思Hi3519AV100深度学习方案(一)darknet转caffmodel之caffe安装(基于Ubuntu16.04+python3.5+opencv3.4.0+cuda10.0)

    系列文章目录 海思Hi3519AV100深度学习方案(二)darknet转caffmodel之模型转换(yolov3+caffe+python3.5) 文章目录 系列文章目录 前言 一.系统已有环境检 ...

  6. 在装有Ubuntu16.04的VMware虚拟机下安装OpenCV3.2.0

    引言 最近因为学习需要,要在VMware虚拟机下安装OpenCV,在网上查了一下OpenCV3.3.0目前已经出来了,但是考虑到稳定性问题,决定先装一个3.2.0版本的.需要注意的是,pip可以安装的 ...

  7. OpenCV3.2.0+VS2017在window10开发环境配置记录

    本机环境:win10 64位 OpenCV3.2.0 Visual Studio 2017 最后结果,亲测可用 OpenCV官方下载地址: http://opencv.org/releases.htm ...

  8. VS2013+OpenCV3.1.0配置教程

    文章目录 一 请先安装VS2013 三 如何自己动手配置属性表,这才是长久之计哇   相关文件安装包下载方式--关注微信公众号「 3D视觉工坊」,后台回复「VS2013+OpenCV3.1.0」 一 ...

  9. VS2013+OpenCV3.1.0配置方法

    相关文件安装包:链接:https://pan.baidu.com/s/19Tiws62SFnuv5FR--waMAQ 密码:1paw 一 请先安装VS2013    见工具包中的"VS201 ...

最新文章

  1. 【BZOJ2115】[Wc2011] Xor 高斯消元求线性基+DFS
  2. checkbox复选框样式
  3. I/O复用函数的使用——epoll
  4. Oracle:FOR循环语句练习
  5. python duplicated函数_Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)...
  6. 如何为 .NET Core 3.0 中 WPF 配置依赖注入 ?
  7. centos关闭防火墙
  8. 信息学奥赛一本通 1315:【例4.5】集合的划分
  9. 配置EditPlus
  10. python下载bt文件_python获取bt种子的详细信息
  11. access数据库窗体设计实验报告_access计算机实验报告:窗体
  12. python 绘制堆积柱状图
  13. SIFT算法 特征匹配
  14. 设计手机APP界面的感想
  15. 达尔文的进化论正确吗?
  16. 跨时钟域的亚稳态处理、为什么要打两拍不是打一拍、为什么打两拍能有效?...
  17. pta7-6 英文单词排序
  18. C++ auto用法
  19. 计算机工考技师人机都考什么,必看|什么是人机对话考试!
  20. 平安性格测试题及答案_心理测试:1道题测出你灵魂深处最阴暗的一面!

热门文章

  1. 小米一元流量magisk_【magisk】【MIUI10】亲测解决MIUI一元流量root后无法使用问题...
  2. php slik转wav_微信小程序语音识别开发过程记录 微信小程序silk转mp3 silk转wav 以及ffmpeg使用 微信小程序语音红包...
  3. Wireshark数据包分析(详细解析)
  4. android studio 文件夹改名后 比如 example 改成demo 出现Cannot resolve symbol ‘R
  5. 云服务器Windows Server2012 配置http服务器(又称Web服务器,IIS)
  6. ES 根据地理坐标查询 按照距离从近到远排序
  7. 使用pdfjs-dist绘制pdf文件
  8. Excel如何快速删除数据开头的空格
  9. 网站优化指南:提升用户体验与搜索引擎排名
  10. java接口幂等性设计