本篇文章為大家展示了MATLAB文件操作的實例分析,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
在旬陽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),旬陽網(wǎng)站建設(shè)費用合理。
%% 圖片批量截取
clear;
% 初始化參數(shù)
picdir = '../data/images/' ; % 圖片所在文件夾
picsave = '../result/'; % 截取圖片保存文件夾
logfile = '../result/log.txt' ; % 日志文件所在路徑
momentfile ='../result/moment.xls'; % 圖片一階矩存儲路徑
% ‘../’表示當(dāng)前目錄的上一級
%% 日志文件初始化
fileID = fopen(logfile,'a+'); % 以追加的方式添加日志信息
loginfo =[datestr(now) ' ' '日志初始化完成']; % 日志信息
fprintf(fileID,'%s\r\n',loginfo); % 寫入日志信息
%% 圖片名批量獲取
inputfolder=dir(picdir);
isdirs=arrayfun(@(x) x.isdir,inputfolder);% 用匿名函數(shù)替代for循環(huán)
num=sum(isdirs==0);% 圖片的數(shù)量
images=arrayfun(@(x) x.name,inputfolder, 'UniformOutput', false);
% 用匿名函數(shù)替代for循環(huán),文件名字符串長度不統(tǒng)一需注意
images=images(isdirs==0); % 圖片名
% 另一種獲取方法
fileFolder=fullfile(picdir);
dirOutput=dir(fullfile(fileFolder,'*.jpg'));
images={dirOutput.name}';
% 日志記錄
loginfo =[datestr(now) ' ' '圖片所在文件夾為:' picdir ...
',一共有' num2str(num) '個圖片'];
fprintf(fileID,'%s\r\n',loginfo);
%% 圖片批量截取和保存
rows = size(images,1);
moment = zeros(rows,3); % 初始化一階矩變量
for i= 1:rows
% 日志記錄
loginfo =[datestr(now) ' ' '正在處理第' num2str(i) ...
'個圖片,文件名為' images{i} ];
fprintf(fileID,'%s\r\n',loginfo);
imdata_i = imread([picdir images{i}]); % 讀取圖片文件
[width,length,z]=size(imdata_i);
subimage= imdata_i(fix(width/2)-50:fix(width/2)+50,...
fix(length/2)-50:fix(length/2)+50,:); % 圖片截取
imwrite(subimage,[picsave images{i}]); % 保存圖片
% 計算截取圖片的一階矩
subimage=im2double(subimage); % 數(shù)據(jù)轉(zhuǎn)換
firstmoment= mean(mean(subimage));% 一階矩
for j=1:3
moment(i,j)=firstmoment(1,1,j);
end
end
%% 保存數(shù)據(jù) 關(guān)閉日志文件
xlswrite(momentfile,moment); % 把一階矩數(shù)據(jù)寫入EXCEL文件
% 日志記錄
loginfo =[datestr(now) ' ' '一階矩數(shù)據(jù)已寫入文件' ];
fprintf(fileID,'%s\r\n',loginfo);
fclose(fileID); % 關(guān)閉日志文件
上述內(nèi)容就是MATLAB文件操作的實例分析,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。