Sun家姐 2015-05-10 08:10
浏览 4198

关于Matlab图像批处理问题和imwrite的用法

在网上找到的参考代码如下:看的不是很明白,请问大家我怎么样可以把处理后的图像imwrite到其它指定的文件夹了,例如我想保存到这个位置 E:\MATLAB2014\毕业设计\pictures,希望大家可以指导一下,最好给小女子解释一下代码,不胜感激
clc;clear;
pathname=uigetdir(cd,'请选择文件夹');
if pathname==0
msgbox('您没有正确选择文件夹');
return;
end
% 可以打开几乎所有的图像类型
filesbmp=ls(strcat(pathname,'*.bmp'));
filesjpg=ls(strcat(pathname,'*.jpg'));
filesjpeg=ls(strcat(pathname,'*.jpeg'));
filesgif=ls(strcat(pathname,'*.gif'));
filestif=ls(strcat(pathname,'*.tif'));
filespng=ls(strcat(pathname,'*.png'));
files=[cellstr(filesbmp);cellstr(filesjpg);...
cellstr(filesjpeg);cellstr(filesgif);...
cellstr(filestif);cellstr(filespng)];
len=length(files);
flag=[];
% 开始批量处理图像,转换格式
for ii=1:len
if strcmp(cell2mat(files(ii)),'')
continue;
end
Filesname{ii}=strcat(pathname,'\',files(ii));
page{ii}=imread(cell2mat(Filesname{ii}));
if length(size(page{ii}))==3 %图像为彩色RGB,进行转换
page1{ii}=rgb2gray(page{ii});
flag=[flag ii]; %用于存储被处理图像的在数组举证中的索引
end

end
% 批量保存转换后的图片
for ii=1:length(flag)
fname_temp=cell2mat(Filesname{flag(ii)});
dot=strfind(fname_temp,'.');
fname_temp=fname_temp(1:dot(end)-1);
FileName=strcat(fname_temp,'彩色TO灰度.jpg');
imwrite(page1{flag(ii)},FileName );
% print(gcf,'-djpeg',['E:\MATLAB2014\毕业设计\pictures\generate',FileName,'.jpeg']);
end

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题
    • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
    • ¥15 YoloV5 第三方库的版本对照问题
    • ¥15 请完成下列相关问题!
    • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?