1

这似乎是一个微不足道的问题,但结果很奇怪,在我出错的地方完全迷失了。有一个输入 RGB 图像需要转换为灰度并调整为 1000 x 1000 像素。这就是我所做的

img=imread('flowers.jpg');
flowers_gray=rgb2gray(img);
flowers_resize=imresize(flowers_gray,[1000 1000]);

但奇怪的是,输出图像不是 1000 x 1000 像素。此外,matlab 没有保存图像(尝试使用 SaveAs 选项和 File --->Export Setup)灰度模式花调整大小

而且尺寸不正确,因为当我打开保存的图像时

img1=imread('flowers_resize.jpg')
s=size(img1)

它给了

s=586   665     3

并且图像flowers_resize.jpg保存在图像文件夹中,并带有白色边框。所以,我去Paint toolbox选择图像A1并手动删除周围的背景并调整图像大小。但是,虽然尺寸正确,但它以3个颜色通道保存图像而不是灰度模式!有人可以指出将大小调整为 1000 x 1000 像素并以灰度模式保存而保存的输出文件周围没有白色边框的正确方法吗?谢谢你。

4

1 回答 1

1

当您使用图像导出处理时,您将保存整个图形,包括图形周围的空间(空白)。

相反,请使用 imwrite 命令。在你的情况下:

imwrite(A1,'flowers_resize.jpg','jpg');
于 2013-03-07T09:29:47.493 回答