开发者

File created using imwrite does not appear

New to Matlab, so sorry if this is a silly question. I'm filtering a series images for my research. I'm not having a problem with the actual image processing, it's when I go to save the modified images that I run into trouble. For some reason, I can only save the modified images 开发者_如何学运维using imwrite as .gif files. If I try to save them as .jpg, .bmp, etc., the file does not appear in the working folder. The corresponding generic file appears, but the actual .jpg does not. Additionally, when I use imread to reopen the midified files (that actually saved as .gifs), the image is just black. But, if I open the .gif file outside Matlab, it appears as expected. Code below.

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


If I try to save them as .jpg, .bmp, etc., the file does not appear in the working folder.

You need to change

WRITEFMT='filter_%d';

to

WRITEFMT='filter_%d.jpg';

The files you are outputting are jpeg files (as per the imwrite argument 'jpg' instead of 'gif'), but they don't have a file extension. If you manually add the extension, they open as jpgs.

For the black gif, see if this helps.

Once you export as jpg, viewing them works

imshow(imread('filter_1.jpg'))
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜