Matlab批量转换彩色图像为灰度图像(批量读文件和写文件)

来源:互联网 发布:高校数据采集平台 编辑:程序博客网 时间:2024/06/11 13:38
AuImgList =dir(fullfile('E:/researchData/CASIAv1.0/Au','*.jpg'));  %把存放数据文件的目录E:/researchData/CASIAv1.0/Au下的所有jpg文件列出来,并把这些文件名的信息存放到一个变量AuImgList 中,AuImgList 是一个结构体变量数组,只要对AuImgList 进行循环就可以读取到所有文件的数据了
%如需其它图片格式支持,可以自己【重载dir()】函数,实现查找所有图片文件的功能,
%如果图片是其它路径,可以用 ["路径" ".扩展名"] 字符串来实现。
k =length(AuImgList);
for m=1:1:k
fileName=strcat('E:/researchData/CASIAv1.0/Au/',AuImgList(m).name);  %获取图像文件的绝对路径
AuImage_data{m}=imread(fileName);  %读图像文件
AuImageGray_data{m} = rgb2gray(AuImage_data{m});%用已有的函数进行RGB到灰度图像的转换


[rows , cols , colors] = size(AuImage_data{m});%得到原来图像的矩阵的参数
MidGrayPic = zeros(rows , cols);%用得到的参数创建一个全零的矩阵,这个矩阵用来存储用下面的方法产生的灰度图像
MidGrayPic = uint8(MidGrayPic);%将创建的全零矩阵转化为uint8格式,因为用上面的语句创建之后图像是double型的


for i = 1:rows
    for j = 1:cols
        sum = 0;
        for k = 1:colors
            sum = sum + AuImage_data{m}(i , j , k) / 3;%进行转化的关键公式,sum每次都因为后面的数字而不能超过255
        end
        MidGrayPic(i , j) = sum;
    end

end


str= strcat ('E:/researchData/CASIAv1.0gray/Au/', AuImgList(m).name(1:end-4) , 'gray.png') ; % 连接字符串形成生成的灰度图像的文件名,1:end-4去掉原来文件的后缀名

imwrite(MidGrayPic , str, 'png');      %写文件

end
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 天涯明月刀刷本队友技能太花怎么办 手机收所有短信时显示被隐藏怎么办 div放图片多出的空白怎么办 我14岁射精让我记忆力差了怎么办 qq闪退聊天记录全没了怎么办 木瓜奇迹忘记升级过头转职了怎么办 孩子进入青春期什么坏事都干怎么办 母狗狗第一次来月经应该怎么办图 社保断了想补缴怎么办?这些要知道 换工作社保断了一个月怎么办 北京社保中间断了几个月怎么办 农保和社保都交了医保怎么办 如果交了社保结婚生孩子断了怎么办 南京社保中间断了几个月怎么办 mu大师等级技能点加点太慢怎么办 永恒纪元戒不是本职业套装石怎么办 全民奇迹忘记在哪个区了怎么办 全民奇迹安卓的忘记那个区了怎么办 大天使之剑h5所在服人少怎么办 买的裙子因为好看没有勇气穿怎么办 魅蓝s6锁屏密码忘了怎么办 u盘被占用不能安全弹出怎么办 洛克王国得到了魔攻巨蟹座怎么办 在育碧下载游戏下一半不下了怎么办 轩辕传奇单机版忘记哪个区了怎么办 登腾讯游戏动态密码啥意思怎么办 说了不该说的话别人不原谅怎么办 轩辕传奇手游金币用错了怎么办 神秘时代4法杖按键冲突怎么办 孕2个月发烧38度怎么办 不知道怀孕喝了止咳糖浆怎么办? 小孩刮头发的备皮刀割住手怎么办? 天梭手表里面的刻度掉了怎么办 国战天下手游帐号丢失怎么办 肺力咳合剂一次喝了50多了怎么办 头孢和藿香正气水一起吃了怎么办 小儿胃蛋自酶合剂吃多了怎么办 刚出生的婴儿很容易被惊醒怎么办 1个多月的宝宝小腿不直怎么办 20个月宝宝腿不直小腿外八怎么办 小孩手青枝骨骨折拆石膏还弯怎么办