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 hereでいくつかの同様のケースを見つけました。しかし、私は固定効果が欲しいだけです。
Q1効果を高めるには?
Q2既存の画像に適用するには?
ありがとう、