使用matlab进行批量图片处理的万能模板
直接上代码
% 将图片批量转化为灰度图
% 首先需要创建灰度图保存的文件夹
% 读取图片的路径格式:'F:\MATLAB2019a\LY\图片\加载前' + '\'
% 写出灰度图的路径格式:''F:\MATLAB2019a\LY\图片\加载前灰度' + '\'
clear
clc
% 读入需要转化为灰度图像的图片信息
file_path = '你自己的文件路径'; % 要转化的图片的文件夹
img_path_list = dir(strcat(file_path,'*.png')); % 要转化的图片的详细信息
img_num = length(img_path_list); % 要转化的图片的个数
% 创建一个保存灰度图像的文件夹
new_folder = '你自己的路径';
mkdir(new_folder); % 创建文件夹
addpath(new_folder); % 添加文件夹路径
% 批量生成灰度图像并保存到创建的文件夹下
for j = 1:img_num
image_name = img_path_list(j).name; % 选择第j个图片
fprintf('%d %s\n',j,strcat(file_path,image_name)); % 显示图片名称
originalimg = imread(strcat(file_path,image_name)); % 读入第j个图片
% imgtemp=im2double(rgb2gray(originalimg));
se = strel('square', 3);
Ie = imerode(originalimg, se);
imgtemp = originalimg - Ie;
% imgtemp=rgb2gray(originalimg); % 将第j个转化为灰度图
imwrite(imgtemp,[new_folder,image_name]);% 灰度图像批量保存在文件夹下
end
for循环里面的操作可以任意使用,我这里是做了边界提取。