【求助!】matlab如何批量读写和处理图片

2024-12-01 22:30:05
推荐回答(2个)
回答1:

% 读取与处理的过程是这样的:
% dir、struct 结构用法,还有sprintf 函数、简单流程控制
listing = dir('d:\d:\pic\*.jpg');

for i = 1:N
    imgName = listing(i).name;
    imgData = imread(imgName);
    % 处理
    b = rgb2gray(imgData);
    imgData = (b, graythresh(b));
    % 存储
    imshow(imgData);
    print -djpeg 2;
   
    newName=sprintf('r%d.jpg', i);  % 构造字符串
    imwrite(c,['d:\pic\result\', newName]); %输出为r:i.jpg
    
end

过程就是这样子了哈,就几个步骤哦!

回答2:

P = 'd:\pic\';
D = dir([P '*.jpg']);
for i = 1 : length(D)
a = imread([P D(i).name);
b=rgb2gray(a);level=graythresh(b);%获取灰度图片的阈值
c=im2bw(b,level);imshow(c); %显示后再保存图片,大小发生变化
print -djpeg 2;
imwrite(c,['d:\pic\result\','r' num2str(i) '.jpg']);%输出为ri.jpg
end