Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文件存储OpenCV_Opencv_File Storage - Fatal编程技术网

文件存储OpenCV

文件存储OpenCV,opencv,file-storage,Opencv,File Storage,我试图保存相机矩阵和失真系数以备日后使用,但我编写的代码似乎不起作用。它没有在yml文件中存储任何类型的数据。即使当我读回它时,它也不会向指定的矩阵输入任何内容。 如果我做错了什么,请帮助我理解。 我将VS2010与OpenCV 2.4.5一起使用 cv::Mat CameraMatrix, DistCoeffs; CameraMatrix = (cv::Mat_<double>(3,3) << 1,2,3,4,5,6,7,8,9); DistCo

我试图保存相机矩阵和失真系数以备日后使用,但我编写的代码似乎不起作用。它没有在yml文件中存储任何类型的数据。即使当我读回它时,它也不会向指定的矩阵输入任何内容。 如果我做错了什么,请帮助我理解。 我将VS2010与OpenCV 2.4.5一起使用

    cv::Mat CameraMatrix, DistCoeffs;
    CameraMatrix = (cv::Mat_<double>(3,3) << 1,2,3,4,5,6,7,8,9);
    DistCoeffs = (cv::Mat_<double>(1,5) << 10, 11, 12, 13, 15);
    cv::FileStorage fs("IntCali.yml", cv::FileStorage::WRITE);
    fs << "CameraMatrix" << CameraMatrix;
    fs << "DistCoeffs" << DistCoeffs;
    fs.release();

    cv::FileStorage fs2("IntCali.yml", cv::FileStorage::READ);
    cv::Mat cm; fs2["CameraMatrix"] >> cm;
    cv::Mat dc;
    fs2["DistCoeffs"] >> dc;
        fs2.release();
cv::Mat CameraMatrix,distcoefs;
CameraMatrix=(cv::Mat_u3;(3,3)

-
-
3.
3.
D
1. 2. 3. 4. 5. 6. 7. 8. 9.
-
1.
5.
D
10. 11. 12. 13. 15.

在xml文件中工作。如果仅对yml文件没有特殊要求,请尝试使用xml。

请提供您的错误。输出OpenCV Mat的一种快速方法是:可以打开IntCali.yml文件检查其内容。它只是一个文本文件。我在输出窗口中没有显示错误,但在.yml中没有存储任何数据文件。它是空的。我还使用cout进行了检查。CameraMatrix和DistCoefs存在,但cm和dc不存在。怪异。在2.4.2和2.4.9(master)或yaml上也可以完美工作。
<?xml version="1.0"?>
-<opencv_storage>
-<CameraMatrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data> 1. 2. 3. 4. 5. 6. 7. 8. 9.</data>

</CameraMatrix>-<DistCoeffs type_id="opencv-matrix">
<rows>1</rows>
<cols>5</cols>
<dt>d</dt>
<data> 10. 11. 12. 13. 15.</data>
</DistCoeffs>
</opencv_storage>