2011-08-10 22 views
1

これは愚かな質問です。私は自分の研究のためにシリーズ画像をフィルタリングしています。実際の画像処理に問題はありません。変更された画像を保存して問題が発生したときです。何らかの理由で、imwriteを.gifファイルとして使用して変更したイメージのみを保存できます。 .jpg、.bmpなどで保存しようとすると、ファイルは作業フォルダに表示されません。対応する汎用ファイルが表示されますが、実際の.jpgは表示されません。さらに、imreadを使用してmidifiedファイル(実際に.gifファイルとして保存されているファイル)を開くと、画像は黒くなります。しかし、Matlabの外で.gifファイルを開くと、期待どおりに表示されます。以下のコード。imwriteを使用して作成されたファイルは表示されません

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 

答えて

0

私はなど.JPG、.BMP、として保存しようとすると、ファイルが作業フォルダには表示されません。あなたが出力している

WRITEFMT='filter_%d'; 

WRITEFMT='filter_%d.jpg'; 

にファイルが代わりに 'GIF' の関数imwrite引数'JPG'あたりとしてJPEGファイル(ある変更する必要があり

)、ファイル拡張子はありません。拡張機能を手動で追加すると、jpgとして開きます。

ブラックgifの場合はsee if this helpsです。

あなたがそれらを見て、JPGとしてエクスポートするとは

imshow(imread('filter_1.jpg')) 
の作品