我想编写一个函数newim = rippleim(im)
来获取图像并返回具有波纹效果的新图像。
我认为计算所有点的距离(p,q)
,然后乘以sin(d).*exp(-d)
会产生良好的衰减波效果。
n = 800;
m = 800;
im = zeros(n,m,3);
p = [round(m*.5) round(n*.5)];
[x y] = meshgrid(1:m,1:n);
x = x - p(1,1);
y = y - p(1,2);
d = (x .^2 + y .^2).^.5;
R = cos(.05*d) .* exp(-.005*d);
G = cos(.05*d) .* exp(-.005*d);
B = cos(.05*d) .* exp(-.005*d);
im = cat(3,R,G,B);
imshow(im);
我得到了,
归一化为[0 1]
,情况会好一些,
看起来还是不对。
我什至用谷歌搜索并在 python 中找到了一些类似的案例,关于动画。但我只想要一个固定的效果。
Q1如何提高效果?
Q2如何将它应用到现有图像上?
谢谢,