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 + -
显示快捷键?