【问题标题】:Writing images using imwrite- Getting white images使用 imwrite 写入图像 - 获取白色图像
【发布时间】:2014-07-09 15:27:46
【问题描述】:

我正在编写一个生成一系列图像的函数。我正在使用 imwrite 函数将每个图像写入文件:

Ecc=sqrt(real(E(:,:,1)).^2+real(E(:,:,2)).^2+real(E(:,:,3)).^2+imag(E(:,:,1)).^2+imag(E(:,:,2)).^2+imag(E(:,:,3)).^2);
clf

Q=imagesc(nx/rad,ny/rad,Ecc); 
    if i==1
    cl=caxis;
    else
    caxis(cl)
    end
imwrite(Q,['Frame-',num2str(i),'.tif'],'tif');

但我没有得到图像。这些文件生成得很好,但它们只是尺寸为 1x1 的白色图像。请问有什么帮助吗? 谢谢

【问题讨论】:

    标签: image matlab image-processing


    【解决方案1】:

    Ecc 上使用imwrite 而不是Qimagesc 的输出(我记得)是图形的句柄,这不是您要写的内容。请写出Ecc

    【讨论】:

      【解决方案2】:

      添加到 user3817401 所写的内容。

      完全白色的图像可能是由于在发送到 imwrite 之前未缩放数据。考虑以下:

      Ecc = (Ecc - min(min(Ecc))) / (max(max(Ecc)) - min(min(Ecc)));
      

      在写入之前提示。这将保证图像在 0-1 范围内并且应该可以解决问题。

      【讨论】:

      • 谢谢大家!效果很好!
      • 谢谢!即使 2/3 年后它也有帮助:)
      【解决方案3】:

      函数 imagesc 返回一个句柄(你将它存储为 Q),而不是缩放的图像数据。然后,函数 imwrite 将 Q 解释为图像。因为它是一个句柄,所以它只是 1x1,它的值作为图像没有意义。尝试根据需要缩放 Ecc,然后改写它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-02
        • 2015-01-08
        • 2018-04-27
        • 1970-01-01
        • 2014-05-02
        • 1970-01-01
        相关资源
        最近更新 更多