MATLAB: (Download image)

download image

If I have a txt file, which contains the url that downloads images, how do we write the script to do that?
e.g. txt file information:
.. .. …

Best Answer

projectdir = fullfile(pwd, 'saved_images'); %location to store the files
if ~exist(projectdir, 'dir')
mkdir(projectdir);
end
fid = fopen('TheFile.txt', 'rt');
imcount = 0;
while true
this_url = fgetl(fid);
if ~ischar(this_url)
break; %end of file
end
if isempty(strtrim(this_url))
continue %empty line, probably near end of file
end
[url_path, url_img, url_ext] = fileparts(this_url);
dest_file = fullfile(projectdir, [url_img url_ext]);
if exist(dest_file, 'file')
fprintf('skipping existing %s\n', dest_file);
imcount = imcount + 1;
urls{imcount} = this_url;
img_files{imcount} = dest_file;
%img_content{imcount} = imread(dest_file);

continue;
end
fprintf('loading ... %s\n', url_img);
try
urlwrite(this_url, dest_file);
imcount = imcount + 1;
urls{imcount} = this_url;
img_files{imcount} = dest_file;
%img_content{imcount} = imread(dest_file);
catch
fprintf('failed downloading %s from "%s"\n', url_img, this_url);
end
end