getsegmentsedge.m

来自「基于matlab写的对人体的分割程序」· M 代码 · 共 41 行

M
41
字号
function resp = getSegmentsEdge(im,maskOrig)%resp = getSegmentsColEdge(im,patch)%Useful debugging%im = zeros(200,100,3);%im(100:130,30:40,:) = 255;%im = uint8(im);currAngles = 15:15:360;%currAngles = 15:15:180;%currAngles = currAngles - 15 + 180;currAngles = currAngles - 15;[imy,imx,imz] = size(im);imo = length(currAngles);resp = zeros([imy imx imo]);lensc = .5;widsc = 1;[len,wid] = size(maskOrig);for dir = 1:imo,  %currAngle = dir * dtheta;  currAngle = currAngles(dir);  %currIm = imrotate(im,-currAngle);  mask = imrotate(maskOrig,currAngle);  [mm,nn] = size(mask);  thet = currAngle*pi/180;  offset = round([-sin(thet) cos(thet)]*wid);  imResp = filter2(mask,im);  %Zero-out border effects  %imResp([1:floor(mm/2) imy-ceil(mm/2):end],:) = 0;  %imResp(:,[1:floor(nn/2) imx-ceil(nn/2):end]) = 0;  resp(:,:,dir) = imResp;end%Debug%[dummy,I] = max(resp(:)); [y,x,ii] = ind2sub(size(resp),I);

⌨️ 快捷键说明

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