cv :: Mat或CvMat中的大数据*

时间:2012-02-12 00:09:15

标签: c++ opencv computer-vision

CV_64F最大单个数据单元的维度/大小,可以使用 OpenCV存储在矩阵( cv :: Mat 或CvMat *)中?有什么比这更大的吗?

我想在cv :: Mat中存储像 long double 这样的大型数据。有没有办法在不使用数组的情况下做到这一点?

1 个答案:

答案 0 :(得分:2)

据我所知,你可以这样做那种。您可以使用Mat_模板类。以下是我写的简短例子:

#include <opencv2/core/core.hpp>    
#include <iostream>

using namespace std;
using namespace cv;


int main(int argc, char* argv[])
{
    Mat_<long double> testing(Size(5, 5));

    // initialize matrix to ones
    for(int i = 0; i < testing.rows; i++)
    {
        for(int j = 0; j < testing.cols; j++)
        {
            testing.at<long double>(i, j) = 1;
        }
    }

    cout << "Element size in bytes is " << testing.elemSize() << "." << endl;

    return 0;
}

现在需要注意......如果您尝试使用许多辅助方法oneszerosoperator<<和其他方法),您可能会看到以下错误:

OpenCV Error: Unsupported format or combination of formats () in scalarToRawData

希望这足以让你可以将它用于某些事情,但它不会像往常一样干净。