Ihr Code sieht gut aus.
Ich hoffe, Sie RGB Gary konvertieren müssen, und nicht Gary GRB ...
- Ändern
directory = dir('AM01AFS.jpg');
zu directory = dir('*.jpg');
neue Ausgabeverzeichnis erstellen, wenn Sie vorhandene Bilder nicht außer Kraft zu setzen gewohnt.
%Assume jpg images are in the same directory as the m file.
indir = cd; %Modify the indir to location of the jpg files.
outdir = 'Gray'; %Name or output directory.
directory = dir([indir, '\', '*.jpg']);
if ((~exist(outdir, 'dir') && length(directory) > 0))
%Create new directory named outdir if directory not exist.
mkdir(outdir);
end
for i = 1 : length(directory)
filename = directory(i).name;
rgb_img = imread([indir, '\', filename]);
if (ndims(rgb_img) == 3) %Make sure img is RGB (not gray).
img = rgb2gray(rgb_img);
%Save gray image to outdir (keep original name).
imwrite(img, [outdir, '\', filename]);
end
end
Wenn Sie Ordnerauswahl-Dialogfeld öffnen, können Sie das folgende Beispiel verwenden können:
%Open folder selection dialog box, for selecting input and output folders.
indir = uigetdir(cd, 'Select input folder');
outdir = uigetdir(cd, 'Select output folder');
directory = dir([indir, '\', '*.jpg']);
for i = 1 : length(directory)
filename = directory(i).name;
rgb_img = imread([indir, '\', filename]);
if (ndims(rgb_img) == 3) %Make sure img is RGB (not gray).
img = rgb2gray(rgb_img);
%Save gray image to outdir (keep original name).
imwrite(img, [outdir, '\', filename]);
end
end
Dank @Rotem, aber wo ich kann Verzeichnis Ordner abgelegt Eingang? – Qussai
Sie haben Recht, ich nahm an, dass jpg Bilder im selben Verzeichnis wie die Matlab m Datei sind. (Ich habe den Code so geändert, dass er "indir" enthält). Ich korrigierte auch einen kleinen Fehler. – Rotem
Dank @Rotem, das ist genau das, was ich wirklich brauche. – Qussai