OpenCV 3.4.12 + opencv_contrib Ubuntu交叉编译到arm(rv1126_rv1109)开发板
一、安装依赖库
alientek@ubuntu:~$ sudo apt-get install lib32z1 cmake cmake-qt-gui build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff5-dev libswscale-dev
- 1
二、获取OpenCV及opencv_contrib源码包
GitHub获取:
【opencv_contrib 3.4.12】https://github.com/opencv/opencv_contrib.git
【OpenCV 3.4.12】https://github.com/opencv/opencv.git
将源码包下载下来
下载到Ubuntu后,将opencv_contrib放在opencv主目录下
alientek@ubuntu:~$ ls
公共的 视频 文档 音乐 ai opencv-3.4.12.zip sdk
模板 图片 下载 桌面 opencv_contrib-3.4.12.zip test
alientek@ubuntu:~$ unzip opencv_contrib-3.4.12.zip
alientek@ubuntu:~$ unzip opencv-3.4.12.zip
alientek@ubuntu:~$ ls
公共的 视频 文档 音乐 ai opencv-3.4.12.zip opencv_contrib-3.4.12.zip test
模板 图片 下载 桌面 opencv-3.4.12 opencv_contrib-3.4.12 sdk
alientek@ubuntu:~$ mv opencv_contrib-3.4.12 ./opencv-3.4.12/
alientek@ubuntu:~$ ls
公共的 视频 文档 音乐 ai opencv-3.4.12.zip sdk
模板 图片 下载 桌面 opencv-3.4.12 opencv_contrib-3.4.12.zip test
alientek@ubuntu:~$ cd opencv-3.4.12/
alientek@ubuntu:~/opencv-3.4.12$ ls
3rdparty cmake CONTRIBUTING.md doc LICENSE opencv_contrib-3.4.12 README.md
apps CMakeLists.txt data include modules platforms samples
alientek@ubuntu:~/opencv-3.4.12$ mkdir build install
alientek@ubuntu:~/opencv-3.4.12$ ls
3rdparty build CMakeLists.txt data include LICENSE opencv_contrib-3.4.12 README.md
apps cmake CONTRIBUTING.md doc install modules platforms samples
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
三、配置cmake
alientek@ubuntu:~/opencv/build$ sudo cmake-gui ..
- 1
出现以下界面,按如下配置(交叉编译)
点击Next>后,出现以下界面,按如下配置
修改安装路径,这里我选择:/home/alientek/opencv-3.4.12/install (默认安装在/opt/local 建议换个路径)
选择opencv_contrib-3.4.12/modules路径(如要使用有专利保护的算法,就勾选OPENCV_ENABLE_NONFREE,我这里没有勾选)
取消勾选BUILD_PROTOBUF WITH_PROTOBUF
勾选BUILD_ZLIB (因为自带的zlib库位x86架构)
勾选BUILD_PNG BUILD_JPEG BUILD_TIFF
配置完后点击Configure,然后点击Generate
关闭cmake-gui,回到终端界面
alientek@ubuntu:~/opencv-3.4.12/build$ sudo make -j16
- 1
编译完成后安装
alientek@ubuntu:~/opencv-3.4.12/build$ sudo make install
- 1
四、报错解决办法
问题
../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_do_expand_palette_rgb8_neon'
../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_init_filter_functions_neon'
../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_do_expand_palette_rgba8_neon'
../../lib/libopencv_imgcodecs.so.3.4.13: undefined reference to `png_riffle_palette_neon'
collect2: error: ld returned 1 exit status
- 1
- 2
- 3
- 4
- 5
解决办法:
alientek@ubuntu:/opt/atk-dlrv1126-toolchain/usr/include$ cd ~/opencv-3.4.12/3rdparty/libpng/
alientek@ubuntu:~/opencv-3.4.12/3rdparty/libpng$ vim pngpriv.h
- 1
- 2
将头文件中的
if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
- 1
改为
if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
- 1
由于每个人遇到的问题各不相同,大多数问题都可以在百度或者Google解决,根据我的流程配置,能够避免绝大多数问题
五、配置环境
安装完成后,可查看安装路径有如下文件
alientek@ubuntu:~/test$ cd ~/opencv-3.4.12/install/
alientek@ubuntu:~/opencv-3.4.12/install$ ls
bin include lib share
- 1
- 2
- 3
打开 /etc/ld.so.conf 文件
alientek@ubuntu:~/opencv-3.4.12/install/lib$ sudo vim /etc/ld.so.conf
- 1
将刚刚安装opencv的库目录添加到最后一行
/home/alientek/opencv-3.4.12/install/lib
- 1
保存退出并生效配置
alientek@ubuntu:~/opencv-3.4.12/install/lib$ ldconfig
- 1
将库文件发送到开发板(我使用abd工具,你按照自己其他方式发送文件也行,只要能将库文件发到开发板就没问题)
5555为adb连接后给出的端口号
/usr/lib/ 为开发板端用户库目录
alientek@ubuntu:~/opencv-3.4.12/install/lib$ adb connect 192.168.0.99
alientek@ubuntu:~/opencv-3.4.12/install/lib$ adb -s 192.168.0.99:5555 push *opencv* /usr/lib/
- 1
- 2
ps:按照我的流程编译出来的库经测试,少了两个库,我把这两个库以及其他所有库放在百度网盘里,各位自行下载
分别是opencv_dnn 以及 opencv_freetype
下载后放在Ubuntu端opencv的lib目录中,同样也要放在开发板的/usr/lib目录中
链接:https://pan.baidu.com/s/1CCmoJzcwiiLc2lrpmi0z_A?pwd=ew9o
提取码:ew9o
至此,OpenCV 3.4.12及opencv_contrib 3.4.12交叉编译就已经完成,后续需要使用opencv时,在Ubuntu端使用交叉编译工具编译后将可执行文件发送到板端即可运行
- 分享
- 举报

-
2024-01-05 17:19:54
-
浏览量:1590次2023-12-05 13:41:24
-
浏览量:1358次2024-01-23 11:28:32
-
浏览量:5783次2022-06-01 09:36:28
-
2024-02-23 16:20:11
-
浏览量:3078次2023-04-24 14:50:18
-
浏览量:6560次2022-10-24 14:44:33
-
浏览量:5479次2019-12-28 10:33:46
-
浏览量:1692次2024-05-24 19:05:42
-
浏览量:1025次2024-01-08 18:13:05
-
浏览量:2743次2024-02-05 15:51:53
-
浏览量:1398次2023-08-31 16:29:15
-
浏览量:1144次2023-08-31 16:27:23
-
浏览量:4294次2021-06-18 16:05:42
-
浏览量:3733次2023-03-24 16:30:17
-
浏览量:1576次2024-01-09 17:35:19
-
浏览量:5039次2023-03-24 22:56:50
-
浏览量:1509次2023-08-31 16:23:55
-
浏览量:12017次2022-07-13 22:34:27
-
7篇
- 关于EB-RV1126-DC-201开发板快速入门手册V2.2.E中遇到的问题-第三部分(已解决)。
- 跑分过4万RK3288平台真机跑分图现身
- 【竞争优势,是每天做出来的】新起点 你所不知道的瑞芯微
- 从零开始突破,通讯+平板+盒子+64bit一个都不能少!
- Linux 3.10 变频测试
- RV1126-A201摄像头IRCUT切换(CSI0)
- [python opencv 计算机视觉零基础到实战] 二、 opencv文件格式与摄像头读取
- librtmp推流库在瑞芯微RV1109平台上的移植和应用(一)
- 分享海思3519V101 3519 3516AV200 3516CV300 开发板和SDK资料
- 机械手解魔方(1) 两个摄像头方案
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖

JQ






举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明