📄 avgsegmentsedge.m
字号:
function expWW = avgSegmentsEdge(im,len,wid,respOrig)%resp = avgSegmentsEdge(im,len,wid,respOrig)%Useful debugging%im = zeros(200,100,3);%im(100:130,30:40,:) = 255;%im = uint8(im);%To do: zero out border effects?[origY, origX, dummy] = size(im);currAngles = 15:15:360;%currAngles = 15:15:180;currAngles = currAngles - 15 + 180; %Initialize to point down[imy,imx,imz] = size(im);%Shift our currentAnglecurrAngles = -90 - currAngles;imo = length(currAngles);lensc = .5;widsc = 1;yOff = [-1:1/5:1];xOff = [-1:1/5:1];padoff = ceil(sqrt((lensc*len).^2 + (widsc*wid)^2));%Blur the image because we are subsamplingkernal = [1 2 3 2 1]; kernal = kernal/sum(kernal);im = conv2(conv2(double(im),kernal,'same'),kernal','same');im = padarray(im,[padoff padoff],'both');sizBig = size(im);im = im(:)';expWW = zeros(length(yOff),length(xOff));%respOrig = reshape(respOrig,imy*imx,imo*2);%Grab the indexes one at a timefor j = 1:length(yOff), for i = 1:length(xOff), ww = zeros(sizBig); %Render onto ww for dir = 1:length(currAngles), currAngle = -90 - currAngles(dir); [ux,vx] = pol2cart((currAngle+180) * pi/180,widsc*wid*xOff(i)); %Width offset [uy,vy] = pol2cart((currAngle+90) * pi/180,lensc*len*yOff(j)); %Length offset vx = -vx; vy = -vy; xvec = round(ux+uy); yvec = round(vx+vy); ww(padoff+yvec+1:imy+padoff+yvec,padoff+xvec+1:imx+padoff+xvec) = ww(padoff+yvec+1:imy+padoff+yvec,padoff+xvec+1:imx+padoff+xvec) + respOrig(:,:,dir); end expWW(j,i) = im*ww(:); endend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -