将ncnn及opencv的mat存储成bin文件的方法

这篇具有很好参考价值的文章主要介绍了将ncnn及opencv的mat存储成bin文件的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

利用fstream,将ncnn及opencv的mat存储成bin文件。

ncnn::Mat to bin

std::ios::binary标志指示文件以二进制模式进行读写,

std::ofstream file("output_x86.bin", std::ios::binary);

将input_mat中的宽、高和通道数分别赋值给width、height和channels,

int width = input_mat.w;
int height = input_mat.h;
int channels = input_mat.c;

使用file.write函数将width、height和channels的值以二进制形式写入文件。reinterpret_cast用于将指针类型进行类型转换,这里将 int* 类型转换为 const char* 类型,以便将其作为字节流写入文件,

file.write(reinterpret_cast<const char*>(&width), sizeof(int));
file.write(reinterpret_cast<const char*>(&height), sizeof(int));
file.write(reinterpret_cast<const char*>(&channels), sizeof(int));

将input_mat.data所指向的数据以二进制形式写入文件。input_mat.data是一个指向input_mat数据的指针,reinterpret_cast将其转换为const char*类型,以便将其作为字节流写入文件。input_mat.cstep * sizeof(float)表示要写入的字节数,input_mat.cstep是input_mat数据中每一行的字节数,乘以 sizeof(float) 表示将所有数据写入文件,文章来源地址https://www.toymoban.com/news/detail-781394.html

file.write(reinterpret_cast<const char*>(input_mat.data), input_mat.cstep * sizeof(float));
file.close();

cv::Mat to bin

std::ofstream file(filename, std::ios::binary);

int width = mat.cols;
int height = mat.rows;
int channels = mat.channels();
    
file.write(reinterpret_cast<const char*>(&width), sizeof(int));
file.write(reinterpret_cast<const char*>(&height), sizeof(int));
file.write(reinterpret_cast<const char*>(&channels), sizeof(int));  
file.write(reinterpret_cast<const char*>(mat.data), mat.total() * mat.elemSize());
file.close();

到了这里,关于将ncnn及opencv的mat存储成bin文件的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c# opencv 将Mat追加到已有的npy文件

     1. NDArray 要引入 NumSharp 类库  2.  int[] trans = new int[] { 1,2,0 };    NDArray resultArray = np.transpose(appendArray, trans);   transpose是维度转换函数,默认是0 ,1,2,所以要把0放在最后

    2024年02月16日
    浏览(38)
  • 人工智能-OpenCV+Python实现人脸识别(人脸检测)

    在OpenCV中使用Haar特征检测人脸,那么需要使用OpenCV提供的xml文件(级联表)在haarcascades目录下。这张级联表有一个训练好的AdaBoost训练集。首先要采用样本的Haar特征训练分类器,从而得到一个级联的AdaBoost分类器。Haar特征值反映了图像的灰度变化情况。例如:脸部的一些特征

    2024年02月06日
    浏览(81)
  • 【数据库】数据库的介绍、分类、作用和特点,AI人工智能数据如何存储

    欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《数据库》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水

    2024年04月14日
    浏览(58)
  • 人工智能算法工程师面试题——之OpenCV必背汇总(四)

    在OpenCV中,图像融合通常指的是将两个或更多图像以某种方式组合在一起,以创建一个新的图像。这个过程可以用于多种目的,比如艺术效果、图像修复或信息增强。实现图像融合的一种常见方法是通过加权求和,也就是每个像素位置上将不同图像的像素值按照一定的权重相

    2024年02月21日
    浏览(40)
  • ccs生成bin文件方法

    右击工程文名,点击属性 , 然后 依次点击 Build-Step , 如下图 在 Post Build Step中输入如下字符:\\\"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat\\\" \\\"${BuildArtifactFileName}\\\" \\\"${BuildArtifactFileBaseName}.bin\\\" \\\"${CG_TOOL_ROOT}/bin/ofd2000.exe\\\" \\\"${CG_TOOL_ROOT}/bin/hex2000.exe\\\" \\\"${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe\\\"

    2024年01月18日
    浏览(29)
  • 【CCF推荐期刊】1/2/3区SCI,计算机通信、算法、人工智能、边缘计算、存储等领域,3个月左右录用

    1/2区计算机通信类 (CCF-C类) 【期刊简介】IF:5.0-6.0,JCR1/2区,中科院3区 【检索情况】SCIEI 双检,正刊 【参考周期】走期刊部系统,3-5个月左右录用 【截稿时间】 2023/3/31 【征稿领域】 涵盖未来计算机通信网络各个方面,如与边缘雾计算、5G及其他物联网应用的结合研究

    2024年02月10日
    浏览(46)
  • 在IOS上YUV NV21格式的CVPixelBufferRef转opencv的RGB格式cv::Mat的方法

    因为业务需要,要做这样一个转换。目前写了两种转换方法。 在iphonex真机上运行,一种方法需要24ms一帧,CPU占用率85%,另一种需要17ms一帧,CPU占用率140%。下面就来详细说说。 转换思路是CVPixelBufferRef-UIImage-cv::Mat的路线。 直接上方法: 先是CVPixelBufferRef-UIImage的方法 然后是

    2024年02月12日
    浏览(29)
  • 【人工智能】对研究方法,智能模拟,学科范畴,涉及学科,研究范畴,安全问题,实现方法,人工智能与人类差距等方面的详细讲解

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 用来研究人工智能的主要物质基础以及能够实现人工智能技术平台的机器就是计算机,人工智能的发展历史是和

    2024年02月16日
    浏览(37)
  • 基于残差网络的人工智能文本分类方法

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着互联网和电子商务的快速发展,文本分类技术在自然语言处理领域取得了重要地位。在实际应用中,人们需要处理大量的文本数据,例如新闻报道、社交媒体内容、公司业务邮件等。自动化文本分类方法可以帮助人们快

    2024年02月07日
    浏览(29)
  • 【人工智能:现代方法】第19章:样例学习

    智能体学习(learning) :一个智能体通过对世界进行观测来提高它的性能 机器学习 (machine learning):智能体是一台计算机 —— 一台计算机观测到一些数据,基于这些数据构建一个 模型 (model),并将这个模型作为关于世界的一个 假设 (hypothesis)以及用于求解问题的软件

    2024年01月22日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包