2011-04-28 364 views
0

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

下面是一个示例代码:

B = imread('W_noise1.tif'); 

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

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

imshow(B) 

回答

2

你确定它与imread的问题吗?如果是的话,我会很惊讶。

请参阅this link about medfilt2它说明了“medfilt2在边缘填充图像0,因此边缘[m n]/2内点的中值可能会出现扭曲。

编辑:我试图复制你的问题。这是print的问题,在保存图像后,它会在图像周围放置一个白色框。此功能print用于打印地块。如果你想保存图片,你应该使用imwrite

+0

嗯,这就是我不确定的。我使用imshow(I)来显示图像,当我保存图像并重新打开它时,分辨率会发生变化。它不保留读入的512x512图像。我总是在那里有那个白色边框,所以我不知道发生了什么。 – user730255 2011-04-29 05:04:08

+0

你是在谈论原始图像的imshow,还是在medfilt2之后的图像上显示imshow。我的观点是将medfilt2排除在外,看看发生了什么。 – 2011-04-29 11:57:48

+0

编辑(见上)这是'print'的问题。 – 2011-04-29 15:04:40