これは愚かな質問です。私は自分の研究のためにシリーズ画像をフィルタリングしています。実際の画像処理に問題はありません。変更された画像を保存して問題が発生したときです。何らかの理由で、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