matlab 图像批量修改图像大小

网上上传图像的时候经常要修改图像的大小,这就用matlab写了一个小程序,能够批量修改图像的大小,顺便转换一下格式,挺好用的。先放在这里,有空的时候编译成exe。

  1. function [ ] = photoresize( readdir )  
  2. % 图像批量改大小函数  
  3. % 输入参数:readdir  需要改大小的图像所在目录(要求只有图像文件,格式无所谓)  
  4.   
  5. % 写入图像格式  
  6. writetype = 'jpg';  
  7. % 写入图像目录,直接附加在读取目录后加上"png resize"  
  8. writedir = [readdir,' resize ',writetype];  
  9. % 大小改变因子,有两种表示方法,比例或者尺寸  
  10. resizefactor = 0.2451;  
  11. resizefactor = [800 600];  
  12. % 创建改大小之后图像目录,如果目录已经存在会报警告,但是不影响使用  
  13. mkdir(writedir);  
  14. % 读取目录内所有所有图像目录信息  
  15. imnames = dir(readdir);  
  16. % 去掉目录信息中的无用项( . .. )  
  17. imnames(1:2)=[];  
  18. % 统计图像个数  
  19. imcnt=length(imnames);  
  20. % 针对每一个图像  
  21. for imidx = 1:1:imcnt  
  22.     % 读入图像  
  23.     imtemp = imread(fullfile(readdir,imnames(imidx).name));  
  24.     % 改变图像大小  
  25.     imtemp = imresize(imtemp,resizefactor);  
  26.     % 按照需要格式写入图像  
  27.     imwrite(imtemp,fullfile(writedir,[imnames(imidx).name(1:end-3),writetype]));  
  28. end  
  29.   
  30. end 

你可能感兴趣的:(matlab 图像批量修改图像大小)