Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.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
File 强制dlmread返回uint8矩阵-可能吗?_File_Matlab_Memory Management_Types_Matrix - Fatal编程技术网

File 强制dlmread返回uint8矩阵-可能吗?

File 强制dlmread返回uint8矩阵-可能吗?,file,matlab,memory-management,types,matrix,File,Matlab,Memory Management,Types,Matrix,我有一个文件包含一个非常非常巨大的矩阵,大小以百万x数百为单位,我想进一步处理这个矩阵,同时节省内存。但不幸的是,dlmread返回一个双类型矩阵 此文件上的数字仅为0-255,因此uint8是最合适的。但我已经达到了内存限制,当我试图将加载的矩阵转换为uint8,myMat=single(myMat)时,Matlab开始喊出“内存不足”错误;这是有道理的,因为在删除旧矩阵之前必须创建新矩阵 我能做些什么吗?您可以将数据文件转换为合适的(即无损)8位图像格式(使用外部程序),然后使用imread

我有一个文件包含一个非常非常巨大的矩阵,大小以百万x数百为单位,我想进一步处理这个矩阵,同时节省内存。但不幸的是,dlmread返回一个双类型矩阵

此文件上的数字仅为0-255,因此uint8是最合适的。但我已经达到了内存限制,当我试图将加载的矩阵转换为uint8,myMat=single(myMat)时,Matlab开始喊出“内存不足”错误;这是有道理的,因为在删除旧矩阵之前必须创建新矩阵


我能做些什么吗?

您可以将数据文件转换为合适的(即无损)8位图像格式(使用外部程序),然后使用
imread
将其读入MATLAB。读取此文件也应该快得多,因为不涉及数据转换