当我设置具有大宽度和高度的 cv::Mat 对象时,代码将运行异常......或打印“bgModel.size!= tsize”。当我降低宽度或高度时,打印“bgModel.size == tsize”。似乎 cv::Mat 有大小限制。有什么方法可以修改限制吗?
软件信息。:Windows 10 操作系统、Visual Studio 2015、OpenCV 2.4.13.5 硬件信息。:i7-9700 CPU,64GB 内存。
下面的 C++ 代码:
int main()
{
int nWidth = 13529;
int nHeight = 10198;
unsigned long long int tSize = static_cast<long long int>(nWidth)*static_cast<long long int>(nHeight)*static_cast<long long int>(25);
try
{
cv::Mat bgModel;
bgModel.create(1, nHeight*nWidth*25, CV_32F);
if (bgModel.cols*bgModel.rows == tSize)
{
cout << "bgModel.size == tsize" << endl;
}
else
{
cout << "bgModel.size != tsize" << endl;
}
bgModel.release();
}
catch (...)
{
cout << "thrown exception...." << endl;
}
return 0;
}