BM1684X搭建sophon c++环境

1:首先安装编译好sophon-sail

比特大陆BM1684X开发环境搭建--SOC mode-CSDN博客

2:在将之前配置的soc-sdk拷贝一份到sdk根目录,将交叉编译好的sail中的build_soc拷贝至soc-sdk文件夹内;

cp -rf build_soc/sophon-sail/inlcude soc-sdk

cp -rf build_soc/sophon-sail/lib soc-sdk

3:安装交叉编译器

 sudo apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

4:新建文件夹MNIST,目录结构如下

CMakeFile.txt

set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)

set(CMAKE_ASM_COMPILER aarch64-linux-gnu-gcc)

set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)


include_directories("/home/wzw/Bitmain/Release_230301-public/soc-sdk/include")

include_directories("/home/wzw/Bitmain/Release_230301-public/soc-sdk/include/sail")

# 添加交叉编译需要使用的头文件目录


link_directories("//home/wzw/Bitmain/Release_230301-public/soc-sdk/lib")

# 添加交叉编译需要使用的动态库目录


set(SOURCE_FILES main.cpp)

set(TARGET_NAME MNIST)

add_executable(${TARGET_NAME} ${SOURCE_FILES})

target_link_libraries(${TARGET_NAME} sail)

# sail为需要链接的库
 

main.cpp

#define USE_FFMPEG 1

#define USE_OPENCV 1

#define USE_BMCV 1

#include <stdio.h>

#include <sail/cvwrapper.h>

#include <iostream>

#include <string>

using namespace std;

int main()

{

    int device_id = 0;

    std::string video_path = "test.avi";

    sail::Decoder decoder(video_path,true,device_id);

    if(!decoder.is_opened()){

        printf("Video[%s] read failed!\n",video_path.c_str());

        exit(1) ;

    }

    sail::Handle handle(device_id);

    sail::Bmcv bmcv(handle);

    while(true){

        sail::BMImage ost_image = decoder.read(handle);

        bmcv.imwrite("test.jpg", ost_image);

        break;

    }

    return 0;

}
 

5:编译cmake CMakeFile.txt

make

6:拷贝至板端

scp MNIST linaro@10.12.13.112:/home/wzw

./MNIST

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/453288.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv8独家改进:backbone改进 | TransXNet:聚合全局和局部信息的全新CNN-Transformer视觉主干| CVPR2024

💡💡💡本文独家改进:CVPR2024 TransXNet助力检测,代替YOLOv8 Backbone 改进结构图如下: 收录 YOLOv8原创自研 https://blog.csdn.net/m0_63774211/category_12511737.html?spm=1001.2014.3001.5482 💡💡💡全网独家首发创新(原创),适合paper !!! 💡…

突发:日本火箭发射后爆炸

综合路透社、法新社13日消息&#xff0c;现场直播画面显示&#xff0c;日本初创公司Space One火箭发射失败&#xff0c;在半空中发生爆炸。 ▲日媒视频报道截图 据共同社此前介绍&#xff0c;Space One公司11日宣布&#xff0c;13日上午11点零1分将从日本首个民用火箭发射场“…

数据集成平台选型建议

一 数据集成介绍 数据集成平台是一种用于管理和协调数据流动的软件工具或服务。它的主要目标是将来自多个不同数据源的数据整合到一个统一的、易于访问和分析的数据存储库中。这些数据源可以包括数据库、云应用、传感器、日志文件、社交媒体等等。数据集成平台的关键任务是确保…

代码随想录算法训练营第五九天 | 下一个更大元素II、接雨水

目录 下一个更大元素II接雨水 LeetCode 503.下一个更大元素II LeetCode 42. 接雨水 下一个更大元素II 给定一个循环数组 nums &#xff08; nums[nums.length - 1] 的下一个元素是 nums[0] &#xff09;&#xff0c;返回 nums 中每个元素的 下一个更大元素 。 数字 x 的 下一…

《Ubuntu20.04环境下的ROS进阶学习2》

一、使用rviz和gazebo实时仿真 本节我们将使用三维可视化工具rviz&#xff08;The Robot Visualization Tool&#xff09;来实时观测gazebo仿真中的激光雷达数据。 二、打开仿真gazebo项目 如果您已经按照 《Ubuntu20.04环境下的ROS进阶学习0》-CSDN博客 如果您已经按照上次的文…

C++作业day2

封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <iostre…

计算机网络面经八股-HTTP常见的状态码有哪些?

常见状态码&#xff1a; 200&#xff1a;服务器已成功处理了请求。 通常&#xff0c;这表示服务器提供了请求的网页。301 &#xff1a; (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时&#xff0c;会自动将请求者转到新位置。302&…

浅淡 C++ 与 C++ 入门

我们知道&#xff0c;C语言是结构化和模块化的语言&#xff0c;适用于较小规模的程序。而当解决复杂问题&#xff0c;需要高度抽象和建模时&#xff0c;C语言则不合适&#xff0c;而C正是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库…

基于JAVA的数码产品应用平台设计与实现【附项目源码】分享

基于JAVA的数码产品应用平台设计与实现&#xff1a; 源码地址&#xff1a;https://download.csdn.net/download/weixin_43894652/88842576 基于Web的数码产品应用平台设计与实现需求文档 一、引言 随着科技的飞速发展和数码产品的普及&#xff0c;用户对于获取数码产品信息…

淘宝扭蛋机小程序:探索未知的惊喜之旅

你是否曾在商场里被那闪闪发光的扭蛋机吸引&#xff0c;却因为种种原因无法下手&#xff1f;现在&#xff0c;淘宝扭蛋机小程序带给你全新的扭蛋体验&#xff0c;让你随时随地都能感受到那份未知的惊喜。 淘宝扭蛋机小程序是一款集娱乐与购物于一体的全新应用。它汇聚了众多热…

浅谈船舶岸电系统绝缘监测及故障定位需求及应用

彭姝麟 Acrelpsl 0 项目背景 随着现代船舶发展&#xff0c;船舶电气化程度越来越高&#xff0c;船舶电站的的容量也越来越大&#xff0c;随之而来的是电网的绝缘问题更加复杂化。船舶电力系统一般采用IT系统&#xff0c;即不接地系统。IT系统的优点是发生单相接地时不会出现TN…

【算法集训】基础算法:递推 | 概念篇

前言 递推最通俗的理解就是数列&#xff0c;递推和数列的关系就好比 算法 和 数据结构 的关系&#xff0c;数列有点像数据结构中的顺序表&#xff0c;而递推就是一个循环或者迭代的枚举过程。 递推本质上是数学问题&#xff0c;所以有同学问算法是不是需要数学非常好&#xff…

250+可用的 AI 资源网站

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 这里是关于AI网站的一份资源列表。欢迎访问该链…

Linux系统文件管理和查询指令

文章目录 前言一、linux文件系统简介二、windows和Linux下文件系统的对比1.windows文件系统2.Linux文件系统 三、Linux下文件系统的操作指令文件类型 前言 &#x1f4a6; 操作系统最重要的功能之一就是数据的处理和存储。处理这些相应的数据&#xff0c;就需要相应的操作规范或…

edm邮件是什么意思:与普通邮件有何不同?

edm邮件是什么意思&#xff1f;如何优化邮件内容以提高转化率&#xff1f; edm邮件因其独特的营销价值而备受关注。那么&#xff0c;edm邮件究竟是什么意思呢&#xff1f;它与普通邮件又有哪些不同呢&#xff1f;下面&#xff0c;AokSend就来为大家介绍一下。 edm邮件的概念与…

2024年视频号带货蓝海项目真的可做吗?

在数字经济的浪潮下&#xff0c;视频号带货作为一种新兴的电商模式&#xff0c;近年来备受瞩目。随着5G技术的普及和移动设备的更新换代&#xff0c;视频平台用户规模持续增长&#xff0c;为视频号带货提供了广阔的舞台。然而&#xff0c;面对2024年这个未来节点&#xff0c;我…

RuntimeError: dimension specified as 0 but tensor has no dimensions

解决办法 使用view方法改变维度为1&#xff0c;如target target.view(-1),这样假如原来target是1,使用后变为[1],维度从None变为1. Problem Sovled.

阿里云服务器计算型、通用型、内存型各实例计算、存储等性能介绍

在阿里云目前的活动中&#xff0c;属于计算型实例规格的云服务器有计算型c7、计算型c7a、计算型c8a、计算型c8y这几个实例规格&#xff0c;属于通用型实例规格的云服务器有通用型g7、通用型g7a、通用型g8a、通用型g8y&#xff0c;属于内存型实例规格的云服务器有内存型r7、内存…

AIOps 智能运维:有没有比专家经验更优雅的错/慢调用分析工具?

作者&#xff1a;图杨 工程师小 A 刚刚接手他们公司最核心的电商系统的运维工作&#xff0c;小 A 发现&#xff0c;在生产环境中&#xff0c;系统明明运行得非常稳定&#xff0c;但是总会出现一些“诡异”的情况。比如&#xff1a; 偶尔会一些错误调用&#xff0c;但是&#…

虹科Pico汽车示波器 | 免拆诊断案例 | 2015 款路虎神行者车熄火后散热风扇依旧高速运转

一、故障现象 一辆2015款路虎神行者车&#xff0c;搭载2.2 L发动机&#xff0c;累计行驶里程约为16万km。车主反映&#xff0c;车辆熄火后&#xff0c;散热风扇依旧高速运转&#xff0c;且无法停止。 二、故障诊断 接车后首先试车&#xff0c;故障现象的确存在。使用故障检…