clear;
clc;
close all;
srcFace = 'D:\数据集\';%被读取文件的存放目录(根据自己需要更改设置)
fileSavePath='D:\灰度图\';%文件保存目录(根据自己需要更改设置)
src=srcFace;
srcsuffix='.jpg';%被读取的文件名后缀(根据被读取文件的实际文件类型设置)
srcsuffixSave='.jpg';%保存文件名后缀(根据自己需要更改设置)
files = dir(fullfile(src, strcat('*', srcsuffix)));
doDispOrSave = true ;% 是否显示或保存图像;可以设置为:true 或者 false
for file_i= 1 : length(files)
disp(file_i);%显示当前处理的文件序号
srcName = files(file_i).name;
noSuffixName = srcName(1:end-4);
srcName1=files(file_i).name;
pathImgName=sprintf('%s%s%s',src,'\',srcName1);
imgSrc=imread(pathImgName);%读入图像
figure(1);
imshow(imgSrc);
[rows , cols , colors] = size(imgSrc);%得到原来图像的矩阵的参数
MidGrayPic3 = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像
MidGrayPic3 = uint8(MidGrayPic3);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的
for i = 1:rows
for j = 1:cols
MidGrayPic3(i , j) = imgSrc(i , j , 1)*0.299+imgSrc(i , j , 2)*0.587+imgSrc(i , j , 3)*0.114;
end
end
figure(2);
imshow(MidGrayPic3)
savePathName=sprintf('%s%s%s%s',fileSavePath,'\',noSuffixName,srcsuffixSave);
imwrite(MidGrayPic3,savePathName);
end
matlab批量转灰度图(加权平均法)并保存
最新推荐文章于 2023-03-02 23:31:40 发布