替换
批量对某一文件夹的txt文本进行查找字符,替换
path1='C:\Users\Ldating\Desktop\1\'; % 数据的地址
files1 = dir([path1])
[A] = {files1(:).name};
class_num1 = size(files1);
%% 修改内容
check1='},{';
check2=']'; %要替换的两个字符
replace='\n';%替换为
%% 修改
for i=3:class_num1
name1=strcat(path1,A(i));
name1=name1{1};
A(i)
fid1=fopen(name1);
while ~feof(fid1)
r1=regexprep(fgetl(fid1),check1,replace);
r2=regexprep(r1,check2,replace);
end
fclose(fid1);
newname=strcat('C:\Users\Ldating\Desktop\2\',A(i),'_处理后.txt'); % 数据保存地址
newname1=newname{1};
fid2=fopen(newname1,'w+');
fprintf(fid2,char(r2))
fclose(fid2);
end
PR Plot
通过计算与G truth,之间的成功率
path1='C:\Users\Ldating\Desktop\truth.txt';
path2='C:\Users\Ldating\Desktop\Ours.txt'
fid1=fopen(path1);
fid2=fopen(path2);
for i=1:78969 %需要读取的行数
%1
a{i}=fgets(fid1);
A=strsplit(a{i});
A1=transpose(str2num(cell2mat(A(1))));
A2=transpose(str2num(cell2mat(A(2))));
A3=transpose(str2num(cell2mat(A(3))));
A4=transpose(str2num(cell2mat(A(4))));
center1_X=A1+A3/2;
center1_Y=A2+A4/2;
%2
b{i}=fgets(fid2);
B=strsplit(b{i});
B1=transpose(str2num(cell2mat(B(1))));
B3=transpose(str2num(cell2mat(B(3))));
B2=transpose(str2num(cell2mat(B(2))));
B8=transpose(str2num(cell2mat(B(8))));
center2_X=B1+(B3-B1)/2;
center2_Y=B2+(B8-B2)/2;
dis(i)=sqrt((center1_X-center2_X)^2+(center1_Y-center2_Y)^2);
end
fclose(fid1);
fclose(fid2);
for k=1:50
tru=0;
fal=0;
for i=1:78969
if(dis(i)<=k)
tru=tru+1;
end
PLOT(k)=tru/78969;
end
end
x=(1:50);
plot(x,PLOT,'*-');
计算txt文本的行数
依次对比两个文件夹下的txt文本行数,
path1='C:\Users\Ldating\Desktop\bbox\';
path2='C:\Users\Ldating\Desktop\trj\'
files1 = dir([path1])
[A] = {files1(:).name};
class_num1 = size(files1);
files2 = dir([path2])
[B] = {files2(:).name};
class_num2 = size(files2);
for i=3:class_num1
name1=strcat(path1,A(i));
name2=strcat(path2,B(i));
name1=name1{1};
name2=name2{1};
A(i)
fid1=fopen(name1);
fid2=fopen(name2);
lines1=0;
lines2=0;
while ~feof(fid1)
fgetl(fid1);
lines1 = lines1 +1;
end
fclose(fid1);
lines1
while ~feof(fid2)
fgetl(fid2);
lines2 = lines2 +1;
end
fclose(fid2);
lines2
end
复制txt到指定文件夹
依次进入每个文件夹,复制里面的指定内容,按文件夹的名字命名,统一存到指定目录
path='D:\数据集\红外数据集\红外数据集\RGBT234\1\';
files = dir([path])%找格式为tif的文件
%[path]
output='E:\MATLAB\R2016b\bin\modify_Name\';
[A] = {files(:).name};
class_num = size(files);
A;
for i=3:class_num
s1=strcat(path,A(i),'\visible.txt');
s11=s1{1};
copyfile(s11,output);
s2=strcat(output,'visible.txt');
newname=strcat(A(i),'.txt');
newname1=newname{1};
eval(['!rename' 32 'visible.txt' 32 newname1]);
end
解规划问题?
f=[-3;-1];
a=[3 -2;-5 -4 ;2 1];
b=[3;-10;5];
lb=[0;0;0];
ub=[];
[x,favl]=linprog(f,a,b,[],[],lb,ub)
删除图片
dirs=dir('G:\3_Projects\l2变电站\934_1867\*.png');
% 用你需要的目录以及文件扩展名替换。读取某个目录的指定类型文件列表,返回结构数组。
dircell=struct2cell(dirs)' ;
% 结构体(struct)转换成元胞类型(cell),转置一下是让文件名按列排列。
filenames=dircell(:,1) %
dirs1=dir('G:\3_Projects\l2变电站\934_1867\*.xml');
% 用你需要的目录以及文件扩展名替换。读取某个目录的指定类型文件列表,返回结构数组。
dircell1=struct2cell(dirs1)' ;
% 结构体(struct)转换成元胞类型(cell),转置一下是让文件名按列排列。
filenames1=dircell1(:,1)%
fileFolder=fullfile('G:\3_Projects\l2变电站\934_1867\*.xml');
dirOutput=dir(fullfile(fileFolder,'*.xml'));
fileNames={dirOutput.name}';
fileNames