dir_next.m

来自「怎样进行Iris部分的定位算法,Matlab code及说明」· M 代码 · 共 31 行

M
31
字号
function [Nextdir]=dir_next(dir,step)
%step=0,顺时针旋转45度
%step=1,逆时针旋转90度
if step==0
    dir_N=[[-1,-1]',[-1,0]',[-1,1]',[0,1]',[1,1]',[1,0]',[1,-1]',[0,-1]'];
    for i = 1:8
        if dir' == dir_N(:,i)
            try Nextdir=dir_N(:,i+1);
            catch Nextdir=dir_N(:,1);
            end
            Nextdir=Nextdir';
        end
    end
elseif step==1
    dir_Y=[[-1,-1]',[1,-1]',[1,1]',[-1,1]';[-1,0]',[0,-1]',[1,0]',[0,1]'];
    if dir(1)*dir(2)==0
        j=3;
    else
        j=1;
    end
    for i = 1:4
        if dir' == dir_Y(j:j+1,i)
            try Nextdir=dir_Y(j:j+1,i+1);
            catch Nextdir=dir_Y(j:j+1,1);
            end
            Nextdir=Nextdir';
        end
    end
else
    error('The input arguments "step" must be a logical num');
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?