转换大 yml 数据

convert big yml data(转换大 yml 数据)
本文介绍了转换大 yml 数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

还有其他方法/技巧可以将深度图存储在数据库中吗?基本上,我们正在尝试存储 300000 个双精度值.如果它有帮助,我们可以将数组转换为 NSMutableArray 或类似的,以便我们可以序列化它.我还不知道该怎么做.我试图找到一种方法将其转换为二进制文件而不是 ASCII 但还没有运气.

There is any other way/trick to store the depth map in the database? Basically, we are trying to store 300000 double values. If it helps we can convert the array into a NSMutableArray or similar so that we can serialize it. I don’t know yet how to do it. I tried to find a way to convert it to a binary file instead of ASCII but no luck yet.

推荐答案

您可以通过将原始二进制数据存储在 BLOB 中来节省大量内存.

You can save a lot of memory by storing the raw binary data in a BLOB.

如果您的矩阵没有固定的行和列,您可以在文件的开头放置行和列的两个整数.

If you don't have fixed rows and cols of your matrix, you can put at the beginning of the file two integers for rows and cols.

我将添加一个关于如何保存和加载矩阵数据的简单示例,前面是行和列.

I'll add a simple example on how to save and load the data of matrix, preceded by rows and cols.

#include <opencv2/opencv.hpp>
#include <fstream>

using namespace cv;
using namespace std;

int main()
{
    Mat1d m = (Mat1d(3, 3) << 1, 2, 3, 4, 5, 6, 7, 8, 9);
    Mat1d n;

    {
        ofstream ofs("test.bin", fstream::binary);
        ofs.write((char*)&m.rows, sizeof(int)); // Save rows
        ofs.write((char*)&m.cols, sizeof(int)); // Save cols
        ofs.write((char*)m.data, m.total()*sizeof(double)); // Save data
    }

    {
        ifstream ifs("test.bin", fstream::binary);
        int rows, cols;
        ifs.read((char*)&rows, sizeof(int)); // Load rows
        ifs.read((char*)&cols, sizeof(int)); // Load cols

        n = Mat1d(rows, cols); // Resize the matrix according to rows, cols
        ifs.read((char*)n.data, rows*cols*sizeof(double)); // Load data
    }

    // Now m and n are equal
    return 0;
}

如果您需要进一步压缩,您可以使用 gzstream

If you need further compression you can read and write the stream using gzstream

这篇关于转换大 yml 数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Pywin32 (com objects) on Mac(Mac 上的 Pywin32(com 对象))
Is there a native YAML library for iPhone?(是否有适用于 iPhone 的本机 YAML 库?)
View aligned to top of keyboard appears in wrong place in iOS 9 Shortcut Bar only mode(在 iOS 9 Shortcut Bar only 模式下,与键盘顶部对齐的视图出现在错误的位置)
Changing the iOS keyboard animation time(更改 iOS 键盘动画时间)
How to show keyboard without touching the UISearchbar?(如何在不触摸 UISearchbar 的情况下显示键盘?)
Add a done button to the top of the keyboard(在键盘顶部添加完成按钮)