【发布时间】:2016-08-25 02:07:19
【问题描述】:
我正在尝试在 MATLAB 中打开一个 .pgm 图像文件,使用 for 循环运行操作,然后另存为另一个 .pgm 文件。在进行操作之前,我正在测试是否可以重新创建图像:
clear
picture = imread('Picture.pgm');
sizePic = size(picture);
sizeX = sizePic(1);
sizeY = sizePic(2);
newPicture = zeros(sizeX,sizeY);
for i = 1:sizeX
for j = 1:sizeY
newPicture(i,j) = picture(i,j);
end
end
imwrite(newPicture, 'NewPicture.pgm');
但是,新图像几乎全是白色,带有一些黑色斑点(不是原始图像)。这不应该把原图还给我吗?
【问题讨论】:
-
很可能与
imread和imwrite中的默认编码选项有关。我建议检查函数的文档,然后检查图像文件中的编码。
标签: image matlab for-loop image-processing