[英]Large data in a cv::Mat or a CvMat*
CV_64F是否可以使用OpenCV存储在Matrix( cv :: Mat或CvMat *)中的单个数据单元的最大尺寸/大小? 有没有更大的东西?
我想在cv :: Mat中存储大型数据,如long double 。 有没有办法在不使用数组的情况下完成它?
据我所知,你可以做这样的 。 您可以使用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;
}
现在请注意......如果您尝试使用许多辅助方法, ones
, zeros
, operator<<
和其他方法,您可能会看到此错误:
OpenCV Error: Unsupported format or combination of formats () in scalarToRawData
希望这足以让你可以将它用于某些事情,但它不会像往常一样干净。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.