您的位置:首页 > 编程语言 > MATLAB

自己的Matlab代码整理

2016-10-11 16:11 225 查看

自己的Matlab代码整理

生成矩阵:

traindata=zeros(4500,4097);
1
迭代目录下的所有bmp格式的图片 :

filelist = dir(fullfile(DataPath,int2str(i),'*.bmp'));
num_file = length(filelist);
for i=1:numfile
filename=filelist(i).name
end
1
2
3
4
5
矩阵对象存储

dlmwrite('traindata.data', uint8(traindata),' ');
1
图像裁剪:

faceImage= imcrop(originImg);
1
图像大小归一化:

resizedImg=imresize(originImg,[64,64]);
1
图像转为矩阵

faceimage=imread([faceName int2str(i) ').jpg']);
testdata(j,1)=1;
facedata=reshape(faceimage',[1,1024]);%//记得转置
testdata(j,2:1025)=facedata;
1
2
3
4
facetrain(i,:)=facedata;
1
%创建文件夹:
mkdir(SavePath,id);
%//当文件夹不存在的时候创建文件夹
if exist([savepath  tag ],'dir')==0
mkdir(savepath,tag);
end

%//复制文件
copyfile([ImagePath '/' name] ,[SavePath '/' id  '/' name ])

%//比较字符串是否相等:
if strcmp(tag,'pr' )
1
2
3
4
5
6
7
8
9
10
11
12
%//数据增强作用,增多图像数据。
%//旋转
% subplot(2,3,1);
im=imread('1.jpg');
% imshow(im);
%
% subplot(2,3,2);
% im_lr=fliplr(im);%//左右对称
% imshow(im_f);
%
% subplot(2,3,3);
% im_ud= flipud(im);%//上下对称
% imshow(im_ud);
%
% subplot(2,3,4);
% im_rot90=rot90(im);%// 旋转90度
% imshow(im_rot90);
%
% subplot(2,3,5);
% im_rot180=rot90(im,2);%//旋转180度
% imshow(im_rot180);
%
% subplot(2,3,6);
% im_rot270=rot90(im,3);%//旋转270度
% imshow(im_rot270);

% subplot(3,3,7);
% im_rot360=rot90(im,4);  % 旋转360度还是自身。
% imshow(im_rot360);

%figure;

subplot(3,3,1);
imshow(im);

% subplot(2,3,2);
% im_noise=imnoise(im,'poisson');%//加噪声
% imshow(im_noise);

% subplot(2,3,3);
% im_histeq= histeq(im);%//直方图均衡化
% imshow(im_histeq);

% 左右剪切就好了,上下的话,容易剪掉一些人脸。
subplot(3,3,2);
[w,h]=size(im);
im_crop1=imcrop(im,[2,0,w,h]);
im_crop1=imresize(im_crop1,[w,h]);
imshow(im_crop1);

subplot(3,3,3);
[w,h]=size(im);
im_crop2=imcrop(im,[0,0,w-2,h]);
im_crop2=imresize(im_crop2,[w,h]);
imshow(im_crop2);

subplot(3,3,4);
[w,h]=size(im);
im_crop3=imcrop(im,[4,0,w,h]);
im_crop3=imresize(im_crop3,[w,h]);
imshow(im_crop3);

subplot(3,3,5);
[w,h]=size(im);
im_crop4=imcrop(im,[0,0,w-4,h]);
im_crop4=imresize(im_crop4,[w,h]);
imshow(im_crop4);

subplot(3,3,6);
[w,h]=size(im);
im_crop5=imcrop(im,[0,0,w-6,h]);
im_crop5=imresize(im_crop5,[w,h]);
imshow(im_crop5);

subplot(3,3,7);
[w,h]=size(im);
im_crop5=imcrop(im,[8,0,w,h]);
im_crop5=imresize(im_crop5,[w,h]);
imshow(im_crop5);

subplot(3,3,8);
[w,h]=size(im);
im_crop5=imcrop(im,[0,0,w-8,h]);
im_crop5=imresize(im_crop5,[w,h]);
imshow(im_crop5);

subplot(3,3,9);
[w,h]=size(im);
im_crop5=imcrop(im,[10,0,w,h]);
im_crop5=imresize(im_crop5,[w,h]);
imshow(im_crop5);

figure;

subplot(4,4,1);
im_rot5=imrotate(im,5,'bilinear','crop');
imshow(im_rot5);

subplot(4,4,2);
im_rot10=imrotate(im,10,'bilinear','crop');
imshow(im_rot10);

subplot(4,4,3);
im_rot15=imrotate(im,15,'bilinear','crop');
imshow(im_rot15);

subplot(4,4,4);
im_rot15=imrotate(im,20,'bilinear','crop');
imshow(im_rot15);

subplot(4,4,5);
im_rot15=imrotate(im,25,'bilinear','crop');
imshow(im_rot15);

subplot(4,4,6);
im_rot15=imrotate(im,30,'bilinear','crop');
imshow(im_rot15);

subplot(4,4,7);
im_rot5=imrotate(im,-5,'bilinear','crop');
imshow(im_rot5);

subplot(4,4,8);
im_rot10=imrotate(im,-10,'bilinear','crop');
imshow(im_rot10);

subplot(4,4,9);
im_rot15=imrotate(im,-15,'bilinear','crop');
imshow(im_rot15);

subplot(4,4,10);
im_rot15=imrotate(im,-20,'bilinear','crop');
imshow(im_rot15);

subplot(4,4,11);
im_rot15=imrotate(im,-25,'bilinear','crop');
imshow(im_rot15);

subplot(4,4,12);
im_rot15=imrotate(im,-30,'bilinear','crop');
imshow(im_rot15);

%//变换顺序,打乱数据的顺序。
A=[1 2 3 4 5 6 7 8 9 10]
p=randperm(10)
A=A(p)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
文件读写:
fid=fopen('testfile.txt','w');
fprintf(fid,'image%s\r\n',list(i_list).name);
fclose(fid);
1
2
3
4
%//文件图像格式转换
im=imread(sourcepath);
imshow(im);
imwrite(im,'a.eps');
1
2
3
4
%//当文件夹不存在时,新建文件夹:
if(exist([SavePath,'/', id],'dir')==7)
k=k+1;
else
mkdir(SavePath, id);
k=1;
end
1
2
3
4
5
6
7
//读取文件所有的行:
fid=fopen(filePath);
fid1=fopen(file1,'wt');
while ~feof(fid)
tline=fgets(fid);
//写出文件
fprintf(fid1,'%s',tline);
end
fclose(fid);
1
2
3
4
5
6
7
8
9
10
//csv文件读写
filePath='/media/crw/DataCenter1/Dataset/Twins-Converted/image-metadata-2.0.csv';
T = readtable(filePath);
% T(2,'filename')
% T(2,'date')
% T(2,'gender')
% T(2,'race')
% T(2,'yearofbirth')
% T(2,'weather')
% T(2,'glasses')
% T(2,'expression')
% T(2,'yaw')

for i=1:24050
filename=cell2mat(T1(i,1))
gender=cell2mat(T1(i,3))
glasses=cell2mat(T1(i,7))
expression=cell2mat(T1(i,8))
yaw=cell2mat(T1(i,9))
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%//鼠标裁剪图片
im=imread('testimage.jpg');
imshow(im);
imcroped=imcrop;
figure;
imshow(imcroped);

size(im)
im_gray=rgb2gray(im);
im_gray=imresize(im_gray,[64,64]);
figure;
imshow(im_gray);
1
2
3
4
5
6
7
8
9
10
11
12
%//文本替代
name=fscanf(fid,'%s',1);
name=strrep(name,'\','/');
1
2
3

版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: