資源簡介
類似于photoshop球面化濾鏡,可調整各種參數,可用于圖像批處理
代碼片段和文件信息
clc
clear
%%?生成背景圖
siz=300;
sf=siz/10;?%?光柵頻率,圖像越大條數越多寬度固定
x=linspace(-11siz);
y2=cos(x*pi*sf)+1;
img=(y2‘*y2);
img1=fix(img.*256)+1;
A=mat2gray(img1);
imshow(A);
figure
%A=imread(‘1.bmp‘);
%%?球面化參數
????mode=1;%1為快速粗糙模式,0為精細模式(插值)
????R=50;%原始球半徑
????sigh=1;%1為凸-1為凹
????bump=.9;%凸度,0到1
????center=size(A)/2;%球心坐標
%%
siz=R*2+1;
%imshow(A)
for?x=1:siz%對于圖像上的每個點
????for?y=1:siz
????????l(xy)=((R-x)^2+(R-y)^2)^.5;%球心到此點距離
????????dir(xy)=atan((R+1-y)/(R+1-x));%從球心到此點的方向
????????if?l(xy)>=R
????????????l(xy)=0;
????????end
????end
end
dir(R+1R+1)=0;%避免atan(0/0)
dir=abs(dir);
%%?核心方程?ll為原圖每個點的距離-后圖每個點的距離
d=R*(1-bump^2)/2/bump;
r=(R^2+d^2)^.5;
ll=l-R*asin(l/r)/atan(R/d);
%%
%x=1:siz;y=1:siz;
%mesh(xyll)?%查看偏移量
%pause
%fi
- 上一篇:以matlab為架構對圖片做EBMA
- 下一篇:一個5階的AR MATLAB程序
評論
共有 條評論