常用功能的实现
获取当前脚本所在目录
current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/'
常用函数的说明
bsxfun
matlab函数 bsxfun浅谈
bsxfun是一个matlab自版本R2007a来就提供的一个函数,作用是”applies an element-by-element binary operation to arrays a and b, with singleton expansion enabled.”
bsxfun的执行是这样的,如果a和b的大小相同,那么c=a+b. 但如果有某维不同,且a或b必须有一个在这一维的维数为1, 那么bsxfun就将少的这个虚拟的复制一些来使与多的维数一样。
交换矩阵通道顺序
是在faster-rcnn代码中看到的,图像从rgb通道顺序转为bgr通道顺序:
I=imread('001150.jpg'); % 三通道图像
J=I(:,:,[3,2,1])
完整版用来debug验证的代码可以这样写:
im_name = '001150.jpg';
I=imread(im_name);
figure(1); imshow(I(:,:,1)); title('R channel');
figure(2); imshow(I(:,:,2)); title('G channel');
figure(3); imshow(I(:,:,3)); title('B channel');
J=I(:,:,[3,2,1],:);
figure(4); imshow(J(:,:,1)); title('R channel');
figure(5); imshow(J(:,:,2)); title('G channel');
figure(6); imshow(J(:,:,3)); title('B channel');
加速你的matlab代码
http://cn.mathworks.com/matlabcentral/fileexchange/5685-writing-fast-matlab-code
列举了利用profiler等工具的用法