我在我的程序中创建了一个Mat
变量,但是当我将它直接传递给一个函数时,它与我用imwrite
编写它时的方式不同,并且在函数中再次读取它{ {1}}。
为什么会发生这种情况?
对我来说正确的形式是当我写和读取图像时,但是在这种情况下程序必须硬访问2次才能使程序变慢。
我如何能够阻止它并直接使用我的imread
变量?
答案 0 :(得分:0)
如果您不需要使用任何其他应用程序查看您的Image,您可以使用OpenCV内置的FileStorage实现将Mat对象编写到XML / YAML类中。以下是一个示例: -
//Writing
cv::FileStorage fs;
fs.open(filename, cv::FileStorage::WRITE);
fs<<"MyImage"<<Image1;
//Reading
fs.open(filename, cv::FileStorage::READ);
fs["MyImage"]>>Image1;
fs.release(); //Very Important