2
黒い背景にいくつかの図形の画像があります。これらの図形を別の画像にオーバーレイしたい。これはサンプルです:画像をソフトエッジでオーバーレイする方法
m = 200; n = m*3/2; p = m/2;
background = im2double(rgb2gray(imresize(imread('pears.png'), [m, n])));
[x, y] = meshgrid(linspace(-1, 1, 64));
shape1 = imadjust(im2double(imresize(imread('moon.tif'), [m, m])), [.1 .9], [0, 1]);
shape2 = imadjust(im2double(rgb2gray(imresize(imread('saturn.png'), [m, m]))), [.1 .9], [0, 1]);
mask1 = double(shape1>0);
mask2 = double(shape2>0);
I = background;
I(:, (1:m)+0) = (1-mask1).*I(:, (1:m)+0) + mask1.*shape1;
I(:, (1:m)+p) = (1-mask2).*I(:, (1:m)+p) + mask2.*shape2;
そして結果:
がどのように私はそれらの鋭い黒い縁を削除することができますか?
これは良い方法ですが、黒い部分を完全に取り除く必要があります。出来ますか? – saastn
@saastn:それに対処するために私の答えを更新しました。 – gnovice
おかげさまで、私は 'fspecial( 'gaussian'、2)'がそれをより良くすると思います。 – saastn