original = imread(
'image1.png'
);
imshow(original); title(
'original'
);
final=uint8(zeros(size(original)));
Xmid=ceil((size(original,1)+1)/2);
Ymid=ceil((size(original,2)+1)/2);
K=180;
x2=zeros([size(original,1) size(original,2)]);
y2=zeros([size(original,1) size(original,2)]);
for
i = 1:size(original,1)
x = i - Xmid;
for
j = 1:size(original,2)
[theta,rho] = cart2pol(x, j-Ymid);
sqtrho = sqrt(rho * K);
[a,b] = pol2cart(theta, sqtrho);
x2(i,j) = ceil(a) + Xmid;
y2(i,j) = ceil(b) + Ymid;
end
end
x2(x2<1)=1;
x2(x2>size(original,1))=size(original,1);
y2(y2<1)=1;
y2(y2>size(original,2))=size(original,2);
for
i=1:size(original,1)
for
j=1:size(original,2)
final(i,j,:) = original(x2(i,j),y2(i,j),:);
end
end
figure, imshow(final);title(
'Image with Cone Effect'
);