Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.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
C++ 打开大型TIFF文件_C++_Libtiff - Fatal编程技术网

C++ 打开大型TIFF文件

C++ 打开大型TIFF文件,c++,libtiff,C++,Libtiff,我的代码有问题: cout << "image root"; fflush(stdin); cin.getline(dir_imd,2048); TIFF* tif = TIFFOpen(dir_imd, "r"); cout试试这个: TIFF* tif = TIFFOpen(dir_imd, "mr"); 如果内存可用,则禁用文件的内存映射。我发现在处理大文件时,这可以解决一些崩溃问题。您的系统有多少内存?不确定这是否重要,但取决于TIFFOpen正在做什么。该系统有4

我的代码有问题:

cout << "image root"; 
fflush(stdin); 
cin.getline(dir_imd,2048);
TIFF* tif = TIFFOpen(dir_imd, "r");
cout试试这个:

TIFF* tif = TIFFOpen(dir_imd, "mr");

如果内存可用,则禁用文件的内存映射。我发现在处理大文件时,这可以解决一些崩溃问题。

您的系统有多少内存?不确定这是否重要,但取决于TIFFOpen正在做什么。该系统有4 GB DDR3 RAM。我不确定TIFFOpen在做什么,因为调试器不允许我按照库中的说明操作。我认为你是对的,TIFFOpen可能无法打开文件,因为文件内存不足,但我不知道如何解决。如果我尝试使用CImg header打开图像,该程序给了我下一个例外:“未能为映像(64826594,1,8)分配内存(652.2兆)”,您使用的测试文件是652MB还是接近50MB?所需内存有很大差异。可能无法在4GB上打开所有652MB文件。你必须弄清楚如何流式传输,或者把它切成块。