MATLAB Answers

0

How to convert a folder with multiple type of images such as PNG, GiF, JEPG,...etc into JPG and store the converted images in a folder in desktop ?

Asked by Duy Nguyen on 2 Dec 2017
Latest activity Commented on by Intan Antasari on 31 Jan 2019
How to convert a folder with multiple type of images such as PNG, GiF, JPEG,...etc into JPG and store the converted images in a folder in desktop ?

  1 Comment

What kind of file do you have that has multiple types of images stored inside it?

Sign in to comment.

3 Answers

Answer by Akira Agata
on 2 Dec 2017

How about the following script?
fileList = {'ngc6543a.jpg','corn.tif'};
for kk = 1:numel(fileList)
I = imread(fileList{kk});
[~,fileName,ext] = fileparts(fileList{kk});
imwrite(I,[fileName,'.png']);
end

  13 Comments

Hi, Mr. Walter.
How to convert into .mat and save to the output folder?
I tried your code, and I got an error with imwrite command.
Thank you for your help.
I got an error because I use imwrite to save .mat format.
I realize that imwrite is use to save image format. I already solve that problem.
I use save (filename, 'A')
Thank you for your help.

Sign in to comment.


Answer by Jos (10584)
on 4 Dec 2017

Why not use a dedicated tool to convert images, like good-old IrfanView (does it still exist?) or gimp?

  0 Comments

Sign in to comment.


Answer by cui
on 31 Jan 2019
Edited by cui
on 31 Jan 2019

you can write like this,but can get all images from website(note: modify your urls):
clc
clear
% s=urlread('https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&sf=1&fmq=&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&fm=result&pos=history&word=%E6%B8%85%E6%9C%9D%E7%A1%AC%E5%B8%81');
s = webread('https://mp.weixin.qq.com/s/WlGxKjirx1iKqwmfMzVI0g');
pat='https://[^,"]*.=(jpg|png|gif|jpeg)';
% pat='http://[^,]*.jpg';
expr= regexp(s, pat, 'match');
%%
fid=fopen('images.txt','w');
fprintf(fid,'%s\n',expr{:});
fclose(fid);
for i=1:length(expr)
img_url =expr{i};
try
% s=websave(a,sprintf('%d.jpg',i), 'UserAgent','MATLAB R2015b','Timeout',100,'Get',{'term','urlread'});
s = websave(['./',sprintf('%d.jpg',i)],img_url);
catch ME
continue
end
end
%% show urls
imgs = string(expr);
for i = 1:length(imgs)
fprintf('%s\n',imgs(i));
end
% reference: https://stackoverflow.com/questions/169625/regex-to-check-if-valid-url-that-ends-in-jpg-png-or-gif

  0 Comments

Sign in to comment.