【问题标题】:Matlab Imread resizes tif fileMatlab Imread 调整 tif 文件大小
【发布时间】:2011-04-28 23:56:47
【问题描述】:

所以我在 matlab 中使用 imread 函数,当我保存 TIFF 文件并在 photoshop 中打开它时,它有一个白色边框,我不明白为什么。我想将其分辨率保持为 512 x 512 图像。任何想法为什么?我该如何解决这个问题?

这是一个示例代码:

B = imread('W_noise1.tif');

for n = 1:5,
    B = medfilt2(B);
end

B = filter2(fspecial('average',3),B)/255;

imshow(B)

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您确定这是 imread 的问题吗?如果是这样,我会感到惊讶。

    请参阅this link about medfilt2,其中解释说“medfilt2 在边缘用 0 填充图像,因此边缘 [m n]/2 内的点的中值可能会出现失真。”

    编辑:我试图复制您的问题。这是print 的问题,它会在您保存图像后在图像周围放置一个白框。此功能print 用于打印绘图。如果要保存图片,请使用imwrite

    【讨论】:

    • 嗯,这就是我不确定的。我使用 imshow(I) 显示图像,当我保存图像并重新打开它时,分辨率会改变。它不保留读入的 512x512 图像。我那里总是有那个白色边框,所以我不知道发生了什么。
    • 你说的是原图上的imshow,还是medfilt2之后的图像上的imshow。我的意思是把 medfilt2 排除在外,看看发生了什么。
    • 编辑(见上文)这是print 的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多