matlab批量转灰度图(加权平均法)并保存

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
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值