我一直在寻找关于这个问题的日子,并没有找到任何解决的线程。 我需要的简单openCV对大图像或巨大图像的imread限制Mat bug#3258
src = imread(filepath, 1);
手段我使用Visual Studio 2013,C++装载相当大的图像(4 GB及以后,无论是.TIFF/.PNG)转换成OpenCV的代码。
尽管我使用的是96Gb-RAM机器,但在通过OpenCV的“imread”函数加载这些大图像时,运行时警报即将出现。一直尝试使用越来越小的图像/文件,直到它们确实被读取/加载,所以我们知道这是一个内存/分配的问题,因为较小的图像被正确加载和处理。
控制台throughing以下信息,通过提取“捉(...)”
OpenCV Error: One of arguments' values is out of range (The total matrix size does not fit to "size_t" type) in cv::setSize, file C:\builds\2_4_PackSlave-win32- vc12-shared\opencv\modules\core\src\matrix.cpp, line 126
在另一方面,VS2013显示以下警报,同时运行(无任何编译问题):
Unhandled exception at 0x76385608 in poblacion.exe: Microsoft C++ exception: cv::Exception at memory location 0x00C7EA70
也争论“没有符号加载”。我们在Win32,Debug模式下编译。
这个问题是错误#3258,但没有找到解决的线程,只是讨论regarging的size_t类型导致没有明确的解决方案...应该有一种阅读大图像的方式,而无需通过openCV库...
难道这发生在那里谁能帮助我们?我会传播任何令人满意的解决方案。
THANX提前!
亚历