交叉编译 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 到虚拟机查看
- 分享
- 举报
-
浏览量:342次2024-02-05 15:51:53
-
浏览量:682次2024-01-18 15:01:07
-
浏览量:2193次2017-11-20 12:34:12
-
浏览量:2755次2017-11-21 13:53:36
-
2024-02-23 16:20:11
-
浏览量:3864次2020-08-11 10:39:44
-
浏览量:77次2024-01-23 11:28:32
-
2023-11-30 10:06:37
-
2024-02-04 10:33:53
-
浏览量:3246次2017-11-21 13:44:59
-
浏览量:1865次2018-06-27 17:06:49
-
浏览量:7416次2022-04-01 17:16:15
-
浏览量:3716次2022-04-01 17:01:16
-
浏览量:7149次2020-08-14 14:05:35
-
浏览量:11614次2020-12-15 19:07:24
-
浏览量:2248次2017-11-20 11:38:57
-
浏览量:2862次2018-01-30 11:43:55
-
浏览量:708次2024-01-18 15:07:54
-
浏览量:1074次2023-10-17 17:23:21
-
10篇
- 海思3516D闪屏问题解决方法记录
- HI3516DV300笔记(一)搭建开发环境
- 海思AI “蛋拍无防”|你的全场景摄影师来了
- 海思hi3519a I2C报错hibvt-i2c 4562000.i2c: wait idle ab
- 海思 | 智慧的“眼睛”,AI守护珍稀动物
- 海思加持的三款无人机性能怪兽到底有多强?
- DVR解决方案:SS528(22AP30) 替代Hi3531DV200,H.265 编解码处理器
- 【每日打卡】3403 PQtool没有“PQ ISP Calibration Tools”工具栏问题
- Hi3519DV500 SDK 安装升级步骤分享(二)
- 联咏Novatek发布集成DDR多媒体SoC_NT9856x对标海思3516EV200/300
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
merz
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明