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

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

             //读取已有的npy文件
            NDArray  masks = np.load("I:\\软件\\1.npy");   
            List<NDArray> ndList = new List<NDArray>();
            if (masks==null)
            {
            }
            else
            {
                //读取npy文件已有的数据
                for (int i = 0; i < masks.shape[2]; i++)
                {
                    var roi = masks[$":,:,{i}"];
                    ndList.Add(roi);
                }
            }
            //roiMatList 是新产生的数据
            foreach (Mat mat in roiMatList)
            {
                //转一维数组
                mat.GetArray(out byte[] data);
                //将大于1的都变成1
                var dataInt = Array.ConvertAll<byte,int>(data, x => x>0?(byte)1:(byte)0);
                NDArray nd = new NDArray(dataInt);
                //按行和列拆分成二维数组
                nd = nd.reshape(ndHeight, ndWidth);
                ndList.Add(nd);
            }
            //将所有的数组合并成新的数组
            NDArray appendArray = np.stack(ndList.ToArray());
            //转换维度,默认是0 ,1,2,所以要把0放在最后
            int[] trans = new int[] { 1,2,0 };
            NDArray resultArray = np.transpose(appendArray, trans);
            np.save("I:\\软件\\2.npy", resultArray);

 1. NDArray 要引入 NumSharp 类库

 2.  int[] trans = new int[] { 1,2,0 };
   NDArray resultArray = np.transpose(appendArray, trans);

  transpose是维度转换函数,默认是0 ,1,2,所以要把0放在最后文章来源地址https://www.toymoban.com/news/detail-573487.html

到了这里,关于c# opencv 将Mat追加到已有的npy文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值]

    C# - Opencv应用(2) 之矩阵Mat使用[矩阵创建、图像显示、像素读取与赋值] 矩阵创建 图像显示与保存 像素读取与赋值 新建sample02项目,配置opencv4相关包,新建 .cs 进行测试 两种常用的图像遍历方式 灰度图操作 三通道图操作 完整代码

    2024年02月03日
    浏览(43)
  • Baumer工业相机堡盟相机BGAPI SDK联合OpenCV进行Mat图像转换(C#)

    Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理。   Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还具有快速数据传输、低功耗、易于集成以及高度可

    2024年02月09日
    浏览(49)
  • C#使用OpenCv(OpenCVSharp)图像处理实例:亮度、对比度、灰度

    本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行亮度、对比度、灰度处理。 目录 亮度和对比度原理 灰度 实例 图像亮度通俗理解便是图像的明暗程度,数字图像 f(x,y) = i(x,y) r(x, y) ,如果灰度值在[0,255]之间,则 f 值越接近0亮度越低,f 值越接近255亮度越

    2024年02月13日
    浏览(69)
  • C#使用OpenCv(OpenCVSharp)图像全局二值化处理实例

    本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行全局二值化处理。 目录 图像二值化原理 函数原型 参数说明 实例 效果

    2024年02月13日
    浏览(48)
  • C#使用OpenCv(OpenCVSharp)图像局部二值化处理实例

      本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行局部二值化处理。 目录 图像二值化原理 局部二值化 自适应阈值 实例 效果

    2024年02月13日
    浏览(50)
  • C#使用OpenCv(OpenCVSharp)图像直方图均衡化处理实例

    本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行直方图均衡化处理。 直方图均衡化原理 直方图均衡化(Histogram Equalization)是一种常用的图像增强技术,用于改善图像的对比度和亮度分布。它通过重新分配图像灰度级的像素值,使得图像的直方图在灰度范围内更加

    2024年02月07日
    浏览(87)
  • 将ncnn及opencv的mat存储成bin文件的方法

    利用fstream,将ncnn及opencv的mat存储成bin文件。 std::ios::binary标志指示文件以二进制模式进行读写, 将input_mat中的宽、高和通道数分别赋值给width、height和channels, 使用file.write函数将width、height和channels的值以二进制形式写入文件。reinterpret_cast用于将指针类型进行类型转换,这里

    2024年02月02日
    浏览(35)
  • .npy文件

    python 处理 .npy文件是numpy专用的二进制文件。 np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。 将数组以二进制格式保存到磁盘。 这样在程序所在的文件夹就生成了一个test.npy文件 将test.npy文件中

    2024年02月16日
    浏览(24)
  • 16bit深度图保存方式:opencv png格式和numpy npy格式对比

    通过激光雷达或深度估计得到的深度图一般为float32或float64类型数据,具有超大量数据,保存为常见的jpg格式图像(uint8:80-255)时则会损失数据精度,如果保存为.npy文件时则文件大小过大(eg:1280*1920大小的深度数组保存后所占空间为37.5Mb),因此需要处理下数据再进行保存

    2024年02月12日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包