使用imwrite创建的文件不会出现

时间:2011-08-10 23:52:10

标签: image matlab file-io jpeg

Matlab的新手,很抱歉,如果这是一个愚蠢的问题。我正在为我的研究过滤一系列图像。我没有遇到实际图像处理的问题,当我去保存修改后的图像时遇到了麻烦。出于某种原因,我只能使用imwrite将修改后的图像保存为.gif文件。如果我尝试将它们保存为.jpg,.bmp等,则该文件不会出现在工作文件夹中。出现相应的通用文件,但实际的.jpg不会出现。另外,当我使用imread重新打开中间文件(实际上保存为.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

1 个答案:

答案 0 :(得分:0)

  

如果我尝试将它们保存为.jpg,.bmp等,则该文件不会出现在工作文件夹中。

您需要更改

WRITEFMT='filter_%d';

WRITEFMT='filter_%d.jpg';

您输出的文件是jpeg文件(根据imwrite参数'jpg'而不是'gif'),但它们没有文件扩展名。如果您手动添加扩展名,则会以jpgs打开。

对于黑色gif,see if this helps

导出为jpg后,查看它们

imshow(imread('filter_1.jpg'))