开始代码解析之路
先解析难的函数
1.matlabpool (‘size’) <= 0 %是否打开并行运行
matlabpool(‘open’,’local’,4); %如果没有打开,就打开4个cpu
else
disp(‘Already initialized’);
end
这里要看运行机器,如果是4核,就打开4个。如果是2核,就打开两个。不然会出错,怎么计算机的核数?电脑->属性->设备管理器->处理器
2.imgpathlist = textread(imgpathlistfile, ‘%s’, ‘delimiter’, ‘\n’);
以imgpathlistfile为路径,delimiter意思间隔符,以\n为间隔,读取信息放入链表imgpathlist.存放的是图片路径。
3.faceDetector = vision.CascadeObjectDetector();
很多读者不知道,matlab已经实现计算机视觉中人脸检测和跟踪。
完整的matlab机器视觉要用到下面三个箱:
Image Processing Toolbox (图像处理工具箱)
Computer Vision System Toolbox (计算机视觉工具箱)
Image Acquisition Toolbox (图像采集工具箱)
读者可以查看 http://www.ilovematlab.cn/thread-201626-1-1.html
看人脸检测和跟踪。
4strfind
例:
S = ‘Find the starting indices of the pattern string’;
strfind(S, ‘in’)
ans =
2 15 19 45
strfind(S, ‘In’)
ans =
[]
5.textscan,之前要fopen,结束完要fclose。
6.shape = textscan(file, ‘%d16 %d16’, ‘HeaderLines’, 3, ‘CollectOutput’, 2)
headerLines 跳过文件file的3行,collectOutput为0,即默认,分别读每列放入cell中,有两个cell,每个cell放入数据每列,cell里面是68*1矩阵。collectOutput为1,2是按照文件格式,好像放入一个cell 是68*2矩阵。
7.bsxfun(@minus,a,b)=a-b.是对应i,j上相减。
比如:a=[5 6;7 8;10 11] b=[1 2];
a-b=[4 4;6 6;9 9]
8.fliplr 旋转矩阵和图片。