这似乎是一个微不足道的问题,但结果很奇怪,在我出错的地方完全丢失了。有一个输入RGB图像需要转换为灰度,大小为1000 x 1000像素。我就是这样做的
img=imread('flowers.jpg');
flowers_gray=rgb2gray(img);
flowers_resize=imresize(flowers_gray,[1000 1000]);
但奇怪的是输出图像不是1000 x 1000像素。此外,matlab没有保存图像(尝试使用SaveAs选项和文件--->导出设置)灰度模式
并且当我通过
打开保存的图像时,尺寸也不正确img1=imread('flowers_resize.jpg')
s=size(img1)
它给了
s=586 665 3
图像flowers_resize.jpg
保存在图像文件夹中,周围有白色边框。所以,我去Paint工具箱选择图像A1并手动删除周围的背景并调整图像大小。但是,它保存了3个颜色通道的图像,而不是灰度模式,尽管尺寸是正确的!有人可以指出正确的调整大小为1000 x 1000像素的方法并保存在灰度模式下没有保存输出文件周围的白色边框?谢谢。
答案 0 :(得分:1)
当您使用图像导出处理时,您将保存整个图形,包括图形周围的空间(空白区域)。
相反,请使用imwrite命令。在你的情况下:
imwrite(A1,'flowers_resize.jpg','jpg');