自己的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 end1
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; end1
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)) end1
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
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- 自己的Matlab代码整理
- 原创: 自己收集整理的 DELPHI 中控制与使用HMTL帮助文件的单元代码。
- 自己的小代码整理库
- 自己收集整理的微软错误代码大全(中文和英文)
- JS代码大全 (都是网上看到 自己整理的)
- 自己学习整理的常用知识点代码demo
- 自己的技术经验和心得,及常用的资料和代码如何整理、分类和保存才好呢?
- IOS上传照片(自己的代码整理了一下)
- 自己整理的IOS网络检测和版本检测代码
- MATLAB整理代码快捷键
- 自己整理的一些网页代码
- 标准和 JM 代码--根据firsttime的材料整理出自己需要的加了红色标记
- 标准和 JM 代码--根据firsttime的材料整理出自己需要的加了红色标记
- 自己收集整理的微软错误代码大全(中文和英文)
- 原创: 自己收集整理的 DELPHI 中控制与使用HMTL帮助文件的单元代码。
- 自己收集整理的 DELPHI 中控制与使用HMTL帮助文件的单元代码。
- 自己整理了一个比较好的广告轮播的代码,很实用。
- TCP--UDP常用代码(socket编程--网上搜索自己整理的)
- 自己整理的IOS网络检测和版本检测代码
- IOS上传照片(自己的代码整理了一下)