【发布时间】:2011-10-24 13:30:27
【问题描述】:
Matlab 新手,如果这是一个愚蠢的问题,非常抱歉。我正在为我的研究过滤一系列图像。我对实际的图像处理没有问题,当我去保存修改后的图像时,我遇到了麻烦。出于某种原因,我只能使用 imwrite 将修改后的图像保存为 .gif 文件。如果我尝试将它们保存为 .jpg、.bmp 等,则该文件不会出现在工作文件夹中。出现相应的通用文件,但实际的 .jpg 文件没有出现。此外,当我使用 imread 重新打开 midified 文件(实际上保存为 .gifs)时,图像只是黑色的。但是,如果我在 Matlab 之外打开 .gif 文件,它会按预期显示。代码如下。
close all
N=90;
IMAGES=cell(1,N); %creates a cell to store image data
FNAMEFMT='20110805115033(1)_%d.jpg';
for i=1:N
IMAGES{i}=imread(sprintf(FNAMEFMT,i)); %reads original images into IMAGES
end
RESULT=cell(1,N); %to store modified/filtered images
for i=1:N
gray=rgb2gray(IMAGES{i}); %converts to grayscale
binary=im2bw(gray,.5); %converts to bw
filter=bwareaopen(binary,35); %removes small features
RESULT{i}=filter; %saves modified image in RESULTS
end
for i=1:N
WRITEFMT='filter_%d';
imwrite(RESULT{i},sprintf(WRITEFMT,i),'gif'); %writes RESULTS as .gif
end
【问题讨论】: