【问题标题】:imshow() produces different output to imwrite()imshow() 产生与 imwrite() 不同的输出
【发布时间】:2011-11-28 16:13:22
【问题描述】:

我想知道如何在 matlab 中保存由 imshow() 创建的图像。下面的代码使用指定了 min 和 max 参数的 imshow() 函数 - 我怎样才能将它直接应用于图像本身,而不是仅仅指定 Matlab 来 show 它?

imshow(img4fft, [1 300000]);
imwrite(img4fft, 'img.png');

写入文件会产生与通过 imshow() 显示的不同的输出。

谁能建议如何将 imshow() 的输出保存为图像?

非常感谢 MatLab 对我来说是一门陌生的语言!

【问题讨论】:

    标签: matlab image-processing


    【解决方案1】:

    我通过这样做获得了相同的结果:

    img4fft2=min(double(img4fft),300000)/300000;
    imwrite(img4fft2,'img.png');
    

    【讨论】:

      【解决方案2】:

      您可以手动对图像应用饱和度:

      I2 = imadjust(I, [0,30000],[0,2^{resolution}-1]);
      imwrite('out.png', I2);
      

      【讨论】:

      • 恐怕不会产生相同的结果所以不能使用!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 1970-01-01
      • 2023-03-21
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多