环境

虚拟机 ubuntu 16.04
开发板 MYD-YA157C
cmake-gui: apt-get install cmake-qt-gui
cmake: apt-get install cmake
opencv: 4.3.0
下载目录:https://opencv.org/

配置步骤

1. 进入下载目录当中找到opencv4.3,下载opencv,并且解压

ubuntu$ unzip opencv-4.3.0.zip

2. 进入opencv解压后的目录当中输入cmake-gui

ubuntu$ cd opencv-4.3.0
ubuntu$ cmake-gui

3. 进入下面的界面,选择好目录之后点击configure
在这里插入图片描述
- 标号1 opencv-4.3.0解压的目录
- 标号2 opencv make&make install 执行目录
- 标号3 配置好之后点击configure

4. 单击configure之后进入下面的界面,按照图中的配置之后,点击"Finish"
在这里插入图片描述

5. 然后进入具体选项界面在其中增加BUILD_ZLIB,并且去除选项WITH_CUDA/WITH_GTK/WITH_TIFF

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. 最后选择左下角Configure 、Generate保存配置
6. 修改pngpriv.h(这步如果不操作会在52%的时候报png相关的没有未定义引用)

ubuntu$ cd opencv-4.3.0//3rdparty/libpng/
ubuntu$ vi pngpriv.h
  • 把其中第130行开始的:
 #  if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
    defined(PNG_ALIGNED_MEMORY_SUPPORTED)
  • 改为
  if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
    defined(PNG_ALIGNED_MEMORY_SUPPORTED)
  • 这一步最需要注意的就是不要看错行,大概159行有一个很类似的,但是如果仔细看还是有很多不同的,改不好还是会报别的错

7. 进入自己在步骤2标号2当中定义的执行目录当中,执行make & make install

ubuntu$ cd ../opencv-install1
ubuntu$ make
ubuntu$ make install

移植步骤

1. 压缩opencvlib库

ubuntu$ cd /usr/local/lib  默认的库路径是这里
ubuntu$ tar -cvf opencvlib ./libopencv_*

2. 复制到开发板的lib当中(MYD自带的ssh可以直接使用,所以我这里用的是scp去拷贝到开发板)

ubuntu$ scp ./opencvlib root@192.168.1.98:/lib

-192.168.1.98 是开发板的ip

ubuntu$ ssh root@192.168.1.98
//输入密码之后进入开发板
root@myir:~# cd /lib
root@myir:~# tar -xvf opencvlib

3. 运行程序测试

总结

MYD 的交叉编译器可以直接使用,只是需要注意如何去配置,然后移植就是把库拷贝到开发板就可以

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐