基本步骤参考我同事的博客:https://blog.csdn.net/hunzhangzui9837/article/details/89846928
以下是在移植到imx8平台时的笔记和遇到的问题及解决办法:(其他平台一样的步骤,只是交叉编译工具链不一样而已)
1.Opencv编译去掉和关闭的模块:
关闭:gphoto2,WITH_GTK,WITH_TIFF,1394,cuda
打开:JPEG,PNG
配置完成,都要再次点击 Configure,点 Generate。
opencv_contrib编译
cmake-gui
找到 OPENCV_EXTRA_MODULES_PATH 项,选择扩展库源码 opencv_contrib-3.3.1 目录下的 modules 目录
配置完成,都要再次点击 Configure,点 Generate。

2.fatal error: linux/compiler-gcc5.h: 没有那个文件或目录
此错误的原因是交叉编译内核的gcc版本和本地系统Ubuntu的gcc版本不一致,Ubuntu的gcc版本高于内核gcc版本,采取降低Ubuntu的gcc版本,如下命令操作:
gcc下降
安装
sudo apt-get install -y gcc-4.7
sudo apt-get install -y g++-4.7
重新建立软连接
cd /usr/bin #进入/usr/bin文件夹下
sudo rm -r gcc #移除之前的软连接
sudo ln -sf gcc-4.7 gcc #建立gcc4.7的软连接
sudo rm -r g++ #同gcc
sudo ln -sf g++-4.7 g++
可以通过 gcc -version 查看当前gcc版本
3.修改权限
chmod -R 777 opencv-3.3.1 文件夹目录下所有文件给最高权限

错误处理:

1.错误一
报错:undefined reference to `png_init_filter_functions_neon' 未定义的引用
交叉编译 opencv3.3.1 ffmpeg libpng
修改
${HOME}/opencv-3.3.1/3rdparty/libpng/pngpriv.h
 128 /*#  if (defined(ARM_NEON) || defined(__ARM_NEON)) && */

 129 #   if defined(PNG_ARM_NEON) && (defined(ARM_NEON) || defined(__ARM_NEON)) &&

2.错误二: zlib.h: No such file or directory
设置ZLIB_INCLUDE_DIRS 值为 /home/mico/software/opencv-3.3.1/3rdparty/zlib

3.在arm平台上运行提示没有GTK不能显示的错误,编译opencv的时候需要把QT编译进去

imx8移植opencv(3.0以上版本)笔记的更多相关文章

  1. [MFC] VS2013版本MFC工程移植到VC6.0上

    :VS虽号称“宇宙最强IDE”,但是有时候安装包太大,动不动就几个G:而且安装好之后也会多出很多几乎很难用到的部分,这对于那些处女座的人如何忍受!本文不是吐槽,而是给出一种在应急场景下,不用安装新版本 ...

  2. [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程

    标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...

  3. [extjs5学习笔记]第三十八节 sencha CMD 6.0.0.220版本安装

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/46740381 简介 sencha cmd 6安装过程不需要UAC控制了对于widnow ...

  4. [OpenCV][ARM9下移植OpenCV]

    [OpenCV][ARM9下移植OpenCV]   安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3. ...

  5. [学习OpenCV攻略][017][ARM9下移植OpenCV]

    安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3.5.1.tar.gz.OpenCV-2.3.1a.t ...

  6. C# 利用 OpenCV 进行视频捕获 (笔记)

    原文:C# 利用 OpenCV 进行视频捕获 (笔记) 简介 这个项目是关于如何从网络摄像头或者视频文件(*.AVI)中捕获视频的,这个项目是用C#和OPENCV编写的. 这将有助于那些喜欢C#和Op ...

  7. geotrellis使用(二十五)将Geotrellis移植到spark2.0

    目录 前言 升级spark到2.0 将geotrellis最新版部署到spark2.0(CDH) 总结 一.前言        事情总是变化这么快,前面刚写了一篇博客介绍如何将geotrellis移植 ...

  8. ubantu16.04+mxnet +opencv+cuda8.0 环境搭建

    ubantu16.04+mxnet +opencv+cuda8.0 环境搭建 建议:环境搭建完成之后,不要更新系统(内核) 转载请注明出处: 微微苏荷 一 我的安装环境 系统:ubuntu16.04 ...

  9. 第一章 Andorid系统移植与驱动开发概述 - 读书笔记

    Android驱动月考1 第一章 Andorid系统移植与驱动开发概述 - 读书笔记 1.Android系统的架构: (1)Linux内核,Android是基于Linux内核的操作系统,并且开源,所以 ...

随机推荐

  1. github pr

    github----向开源框架提交pr的过程 https://blog.csdn.net/vim_wj/article/details/78300239github 的 pr 使用方法 https:/ ...

  2. Bootstrap4从入门到精通视频教程

    一.布局 0.课件1.Bootstrap介绍_栅格系统2.禁用响应式_响应式分界点 二.内容 3.排版_代码4.图片_图片框5.表格 三.公共样式 6.边框_浮动7.颜色_Display显示属性8.文 ...

  3. Celery分布式队列学习

    1. celery介绍和使用 Celery 是一个 基于python开发的分布式异步消息任务队列(可以简单理解为python多进程或多线程中的queue),通过它可以轻松的实现任务的异步处理.cele ...

  4. Spring数据分析思维课

    本文目录 一.杂 二.四大行业数据分析 1.工具 1.电商数据分析——以京东为例 2.sql常见问题   2.互联网金融——以芝麻信用为例 3.数据异常排查 3.游戏行业——以欢乐斗地主为例 4.融入 ...

  5. js内存空间及this关键词详解

    http://mp.weixin.qq.com/s/FYFepXmkzzDYNLKhpovYFA

  6. 用SQL语句操作Sqlite数据库的示例代码

    import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa ...

  7. python从入门到放弃之Tensorflow(一)

    Tensorflow使用错误集锦: 错误1 : FutureWarning: Conversion of the second argument of issubdtype from ‘float’ ...

  8. RedHat Enterprise7 修改为CentOS的yum源

    报错 解决 1.将自带的yum卸载掉 2.下载centos的yum并安装 wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-met ...

  9. Elasticsearch聚合问题

    在测试Elasticsearch聚合的时候报了一个错误.具体如下: GET /megacorp/employee/_search { "aggs": { "all_int ...

  10. js 生成树以及关键字搜索生成树

    function main(keywords,data){ function fn(arr){ var flag = false; for(var i = 0;i <arr.length;i++ ...