Imwrite命令没有在Matlab中创建具有真值的图像

时间:2012-12-06 10:51:07

标签: function matlab

我正在尝试写.tif图片。我在命令窗口或Matlab的函数文件中编写了以下命令来编写名为“A_exam”的tif图像。

输出图像的所有值(A_exam.tif)均为255,无图像显示,仅为白色屏幕。从以下代码中提取矩阵。当我计算这个代码时,A矩阵的值是正确的。问题来自于编写图像文件。

[~,Ind_max] = max(vgt,[],3);
A= arrayfun(@(y) ...
arrayfun(@(x) emp(x,y, Ind_max(x,y)), 1:size(vgt,1)), ... 
1:size(vgt,2), 'UniformOutput',false);
A = reshape([A{:}], size(Ind_max))
imwrite(A,'A_exam.tif','tif')

谢谢

whos A
  Name        Size            Bytes  Class     Attributes

  A         41x41             6724  single   

1 个答案:

答案 0 :(得分:0)

在调用imwrite之前重新整形看起来有问题。我会改变

imwrite(A,'A_exam.tif','tif') 

添加对mat2gray的调用

imwrite(mat2gray(A),'A_exam.tif');

确保你没有混合矩阵和图像。