交叉编译 opencv
目录 (Table of Contents)
[TOCM]
1 准备工作
- 在 ubuntu 上安装
cmake-gui
sudo apt-get install cmake-gui
- 下载opencv及contrib源代码到虚拟机 opencv下载 opencv_contrib下载
2 设置 cmake
-
创建文件夹
build_hi3519a
,在该文件夹下创建文件夹install
-
解压
opencv
压缩包 -
使交叉编译工具链生效
source /etc/profile
export LC_ALL=C
-
命令行下输入:
cmake-gui
-
填写你的
opencv
解压目录和刚刚创建的build_hi3519a
目录地址 -
选择 Configure,之后选择第四个选项,点击 Next
-
设置如下,其中 C 和 C++ 内填交叉编译工具链地址,Target Root 先不填
-
点击 Finish 会 Configure 一直到成功
-
选择CMAKE_INSTALL_PREFIX。 install 是刚刚创建的,后面的 make install 会把编译好的opencv libs拷贝到该目录下
-
给 CMAKE_EXE_LINKER_FLAGS 加上参数
-lpthread -lrt -ldl
-
设置 CMAKE_FIND_ROOT_PATH 为交叉编译工具链的 bin 目录
-
勾选 BUILD_opencv_world
-
点击 Generate,等待完成
-
此时可以关闭 cmake-gui 界面
3 编译
-
进入之前解压的 opencv 源代码文件目录下
-
进入目录
cd 3rdparty/protobuf/src/google/protobuf/stubs
-
修改内容:
vim common.cc
在头文件下添加内容:#define HAVE_PTHREAD
-
进入
build_hi3519a
目录下编译make -j4
make install
编译完成后可以在install
目录下看到libopencv_world.so
文件4 移植
-
将生成的
libopencv_world.so
文件拷贝到/opt/hisi-linux/x86-arm/arm-himix200-linux/lib
目录下 -
精简 so 文件
arm-himix200-linux-strip libopencv_world.so
使用ls -lh
可以看出现在libopencv_world.so
已经明显变小 -
复制精简后的
libopencv_world.so
到开发板的/lib
目录下 -
最后检验是否成功 创建 demo.cpp 文件
#include <iostream> #include <stdio.h> #include <opencv2/highgui.hpp> #include <opencv2/core.hpp> #include <opencv2/imgcodecs.hpp> using namespace cv; using namespace std; int main() { 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; }
-
交叉编译命令
arm-himix200-linux-g++ -Wno-psabi -I /home/build_hi3519a/install/include/opencv4/ -L /home/build_hi3519a/install/lib/ -lopencv_world -lpthread -lrt -ldl -o demo demo.cpp
-
将可执行文件 demo 复制到开发板,执行生成 demo.jpg 文件
-
复制 demo.jpg 到虚拟机查看
- 分享
- 举报
-
浏览量:2186次2024-02-05 15:51:53
-
浏览量:2354次2024-01-18 15:01:07
-
浏览量:2526次2017-11-20 12:34:12
-
浏览量:3214次2017-11-21 13:53:36
-
2024-02-23 16:20:11
-
浏览量:4394次2020-08-11 10:39:44
-
浏览量:982次2024-01-23 11:28:32
-
2023-11-30 10:06:37
-
2024-02-04 10:33:53
-
浏览量:2153次2018-06-27 17:06:49
-
浏览量:3772次2017-11-21 13:44:59
-
浏览量:8099次2022-04-01 17:16:15
-
浏览量:4133次2022-04-01 17:01:16
-
浏览量:12110次2020-12-15 19:07:24
-
浏览量:7882次2020-08-14 14:05:35
-
浏览量:2574次2017-11-20 11:38:57
-
浏览量:2147次2024-01-18 15:07:54
-
浏览量:3326次2018-01-30 11:43:55
-
浏览量:1340次2024-05-24 19:05:42
-
10篇
- 浅谈wifi的几种工作模式
- 海思3559A上编译Valgrind源码操作步骤
- 看海思3516EV300/200和3518EV300的替代方案,最佳还是联咏NT9856X
- 海思hi3519a I2C报错hibvt-i2c 4562000.i2c: wait idle ab
- 海思AI摄像头完美发力,康佳R3双屏智能电视666走一波
- 海思平台深度学习算法仿真使用RuyiStudio生成wk文件
- 【HISI系列】之IP/MAC地址配置
- 从零开始写一个基于Hi3516EV200平台的spi设备驱动框架demo
- SS626V100硬件参数介绍
- Hi3516(海思)训练yolov5-6.0-->转oonx-->转caffe-转.wk文件
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
merz
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明