1. 从https://github.com/opencv/opencv/releases 下载opencv源码opencv-4.1.0.zip并解压缩;

2. 修改最顶层的CMakeLists.txt,在第658行加入一条语句如下,fix error: pngstruct.h:30:18: fatal error: zlib.h: No such file or directory #include "zlib.h":

ocv_include_directories(./3rdparty/zlib)

3. 修改3rdparty/libpng/CMakeLists.txt,在文件前加入以下4行语句,fix error: libopencv_imgcodecs.so.4.1.0: undefined reference to png_init_filter_functions_neon等错误:

IF(HISI3559A)SET(ARM 1)SET(ENABLE_NEON 1)
ENDIF()

4. 脚本build.sh内容如下:

cmake \-DCMAKE_BUILD_TYPE=RELEASE \-DCMAKE_C_COMPILER=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc \-DCMAKE_CXX_COMPILER=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-g++ \-DBUILD_SHARED_LIBS=ON \-DCMAKE_CXX_FLAGS=-fPIC \-DCMAKE_C_FLAGS=-fPIC \-DCMAKE_EXE_LINKER_FLAGS=-lpthread -lrt -ldl \-DENABLE_PIC=ON \-DWITH_1394=OFF \-DWITH_ARAVIS=OFF \-DWITH_ARITH_DEC=ON \-DWITH_ARITH_ENC=ON \-DWITH_CLP=OFF \-DWITH_CUBLAS=OFF \-DWITH_CUDA=OFF \-DWITH_CUFFT=OFF \-DWITH_FFMPEG=ON \-DWITH_GSTREAMER=ON \-DWITH_GSTREAMER_0_10=OFF \-DWITH_HALIDE=OFF \-DWITH_HPX=OFF \-DWITH_IMGCODEC_HDR=ON \-DWITH_IMGCODEC_PXM=ON \-DWITH_IMGCODEC_SUNRASTER=ON \-DWITH_INF_ENGINE=OFF \-DWITH_IPP=OFF \-DWITH_ITT=OFF \-DWITH_JASPER=ON \-DWITH_JPEG=ON \-DHISI3559A=1 \-DWITH_PNG=ON \-DWITH_LAPACK=ON \-DWITH_LIBREALSENSE=OFF \-DWITH_NVCUVID=OFF \-DWITH_OPENCL=OFF \-DWITH_OPENCLAMDBLAS=OFF \-DWITH_OPENCLAMDFFT=OFF \-DWITH_OPENCL_SVM=OFF \-DWITH_OPENEXR=OFF \-DWITH_OPENGL=OFF \-DWITH_OPENMP=OFF \-DWITH_OPENNNI=OFF \-DWITH_OPENNNI2=OFF \-DWITH_OPENVX=OFF \-DWITH_PROTOBUF=OFF \-DWITH_PTHREADS_PF=ON \-DWITH_PVAPI=OFF \-DWITH_QT=OFF \-DWITH_QUIRC=OFF \-DWITH_TBB=OFF \-DWITH_TIFF=ON \-DWITH_VULKAN=OFF \-DWITH_WEBP=ON \-DWITH_XIMEA=OFF \-DWITH_GTK=OFF \-DINSTALL_C_EXAMPLES=ON \-DINSTALL_PYTHON_EXAMPLES=OFF \-DBUILD_EXAMPLES=ON \-DCMAKE_INSTALL_PREFIX=./install \..

5. OpenCV根目录下,依次执行如下命令,执行完后会将生成的头文件和动态库存放在build/install目录:

mkdir build
cd build
cp ../build.sh .
./builld.sh
make -j8
make install

6. 将build/bin目录下的example_tutorial_porting_anisotropic_image_segmentation_gapi及动态库拷贝到海思板子上,执行,显示结果一切正常,说明OpenCV编译正常,执行结果如下:

注意:

1. 由于海思板子不支持GTK,所以必须添加-DWITH_GTK=OFF项,所以在海思板子上不支持imshow相关函数;

2. 如想减少编译时间,可不编译examples,将-DINSTALL_C_EXAMPLES和-DBUILD_EXAMPLES由ON调整为OFF。

GitHub:http://github.com//fengbingchun/OpenCV_Test

海思3559A上编译OpenCV4.1.0源码操作步骤相关推荐

  1. Ubuntu14.04 32位上编译VLC2.2.0源码操作步骤

    1.  首先安装必须的依赖软件,打开终端,执行: sudo apt-get install git libtool build-essential pkg-config autoconf 2. 从 h ...

  2. 海思3559A上编译ffmpeg

    参考文章:<海思3559A上编译FFmpeg源码操作步骤> 其中遇到的几个问题: 1. 将提示的.o文件全部删除,再重新编译即可. 2. 参考文章:<ffmpeg 交叉编译 make ...

  3. 海思3559A上编译Valgrind源码操作步骤

    注:按照以下步骤可以在海思板子上正常编译valgrind源码并生成valgrind可执行文件,但可能还不能在海思板子上正常使用. 1. 从http://valgrind.org/downloads/? ...

  4. 海思3559A上编译LIVE555源码操作步骤

    1. 从http://www.live555.com/liveMedia/public/ 下载live.2019.06.28.tar.gz,并解压缩: 2. 生成静态库,拷贝一份config.arml ...

  5. 海思3559A上编译FFmpeg源码操作步骤

    1. 从https://github.com/FFmpeg/FFmpeg/releases 下载你需要的版本: 2. 因为ffmpeg编译选项较多,为了更方便的了解有哪些选项,可将编译选项写入到一个文 ...

  6. 海思3559A上编译GDB源码操作步骤及简单使用

    1. 从http://ftp.gnu.org/gnu/gdb/ 下载最新稳定版8.3,即gdb-8.3.tar.gz,解压缩: 2. 在gdb-8.3目录下,创建一个build.sh脚本文件,内容如下 ...

  7. 海思3559A上编译libjpeg-turbo源码操作步骤

    1. 从https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/2.0.2 下载libjpeg-turbo 2.0.2版本: 2. 脚本 ...

  8. 海思3559A上编译libyuv源码操作步骤

    1. 下载libyuv源代码,执行: git clone https://chromium.googlesource.com/libyuv/libyuv 2. 通过CMakeLists.txt编译生成 ...

  9. 利用CMake编译OpenCV-4.1.2源码,使其可以在VS2012下进行图像处理开发的记录(因缺少OpenBLAS未成功)

    目前,OpenCV已经发展到OpenCV4.X了. OpenCV是以CMake 作为项目架构系统的开源项目. 在OpenCV4中,只为我们CMake编译好了64位的适用于vc14(Visual Stu ...

最新文章

  1. 步步为营 .NET 设计模式学习笔记 十四、Decorator(装饰模式)
  2. 汇编 头文件 依赖库文件
  3. Hadoop详解(五):HDFS HA 和 Federation
  4. mysql查询数据库desc_数据库查询DESC
  5. Oracle原理: 行级锁和表级锁
  6. 熊猫数据集_熊猫迈向数据科学的第二部分
  7. 2016 hctf fheap 题解
  8. sed 替换_sed命令批量替换文件内容
  9. 不是明年年初?苹果明年三季度才会推出AirPods Pro 2
  10. VMware vSphere常见问题汇总(十九)
  11. HtmlAgilityPack.dll的使用 获取HTMLid
  12. 电商后台管理系统项目总结(一)
  13. 简单的加盐加密登录处理
  14. laravel过滤富文本提交的标签(防止XSS等js脚本攻击)
  15. 每天劝你辞职的同事,反而是公司待最久的
  16. 禾穗HERS | 不结婚就不孝?催婚季必备三招快学起来!
  17. 汉诺塔(the Tower of Hanoi )
  18. Platt scaling
  19. 大数据评估TMT公司内在价值
  20. 百度地图SDK,报167错误,经纬度定位是4.9E-324的解决办法

热门文章

  1. autoware定位:gnss定位与lidar定位(四)
  2. smali to java_Smali —— 数学运算,条件判断,循环
  3. 在CentOS 6.9 x86_64搭建Lua开发环境
  4. Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器
  5. 调试视频网页js脚本的方法
  6. Unity优化手机游戏学习教程
  7. 联想拯救者Y9000-ubuntu-nvidia-驱动安装
  8. P1066 2^k进制数 NOIP 2006 提高组 第四题
  9. 梦断代码阅读笔记03
  10. 4514: [Sdoi2016]数字配对