因為最近使用labelimg軟體標註訓練,我把標記好的和標註檔案放置在乙個資料夾下,由於有多批次標註,每標註一批放在乙個資料夾下,最終放置的資料夾如下:
現在我需要把這些資料夾下的和標註檔案集中到兩個檔案imset(用於放置所有的標註),anotset(用於放置所有的標註檔案)
為此我寫了乙個matlab程式,主要函式是copyfile,好了現在直接上matlab程式吧
%2018/09/07 by dq
clc;
clear;
close all;
disperalmainfolder='h:\workfile\secondperoidanotbackup';
concentratefolder='c:\users\administrator\desktop\secondperoidunifyset';
oldfileset=dir(concentratefolder);
oldfileset(1:2)=;
if ~isempty(oldfileset)
disp('the folder exists other files');
return
endimfolderpath=fullfile(concentratefolder,'imset');
if ~exist(imfolderpath,'dir')
mkdir(imfolderpath);
endanotfolderpath=fullfile(concentratefolder,'anotset');
if ~exist(anotfolderpath,'dir')
mkdir(anotfolderpath);
endfolderset=dir(disperalmainfolder);
foldernum=length(folderset);
for i=3:foldernum
foldername=folderset(i).name;
folderpath=fullfile(disperalmainfolder,foldername);
xmlfileset=dir(strcat(folderpath,'\*.xml'));
xmlfilenum=length(xmlfileset);
fprintf('%s xmlfilenum=%d\n',foldername,xmlfilenum);
%%%%%%%start%%%%%%%%%%
for k=1:xmlfilenum
xmlfilename=xmlfileset(k).name;
xmlfilepath=fullfile(folderpath,xmlfilename);
copyfile(xmlfilepath,anotfolderpath);%複製標註檔案到指定的資料夾
copyfile(impath,imfolderpath);%複製到指定的資料夾
end%%%%%%%end%%%%%%%%%%
% %%上述start和end之間的程式有一種更簡潔的方式
% xmlfiles=strcat(folderpath,'\*.xml');%複製資料夾folderpath下所有字尾名為.xml的檔案
% copyfile(xmlfiles,anotfolderpath);
% imfiles=strcat(folderpath,'\*.jpg');%複製資料夾folderpath下所有字尾名為.jpg的檔案
% copyfile(imfiles,imfolderpath);
end
Matlab中的括號()
matlab中經常會用到括號去引用某array或者是cel l的內容,但三者有什麼具體區別呢?中括號用來構建向量 vectors 或者是矩陣 matrices 如 6.9 9.64 sqrt 1 就是乙個有三個元素的向量。11 12 13 21 22 23 是乙個二乘三的矩陣.分號 用來結束一行。中...
Matlab中的括號()
標籤 matlab 括號 cell array 分類 matlab matlab中經常會用到括號去引用某array或者是cell的內容,但三者有什麼具體區別呢?中括號用來構建向量 vectors 或者是矩陣 matrices 如 6.9 9.64 sqrt 1 就是乙個有三個元素的向量。11 12 ...
Matlab中的括號()
matlab中經常會用到括號去引用某array或者是cell的內容,但三者有什麼具體區別呢?中括號用來構建向量 vectors 或者是矩陣 matrices 如 6.9 9.64 sqrt 1 就是乙個有三個元素的向量。11 12 13 21 22 23 是乙個二乘三的矩陣.分號 用來結束一行。中括...