matlab进阶

常用功能的实现

获取当前脚本所在目录

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等工具的用法

原文地址:https://www.cnblogs.com/zjutzz/p/6127700.html