matlab 图像批量修改图像大小

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:31   980   0

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

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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP