У меня есть набор изображений некоторых фигур на черном фоне. Я хочу наложить эти фигуры на другое изображение. Это пример:Как накладывать изображения с мягкими краями
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