How do I combine two images of different sizes like a photo frame?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have two Images DSLR (My Photo and Photo frame), I need to make a photo frame for that i don't know how to combine both without any pixel loss. Kindly help me
2 comentarios
Respuestas (2)
Chad Greene
el 13 de Ag. de 2017
Here's a quick and dirty way.
% Load images:
man = imread('john-cena-3.jpg');
frame = imread('Transparent_Easter_Frame.png') ;
% Make the frame the same size as the man:
framer = imresize(frame,[size(man,1) size(man,2)]);
% Find empty region of the frame (where all RGB values are zero):
whiteRegion = sum(framer,3)==0;
% For context, here's the white region of the frame:
imagesc(whiteRegion)
axis off
% Display the picture of the man:
figure
image(man)
% Overlay the picture of the resized frame:
hold on
h = image(framer);
% Make the white region of the frame transparent:
set(h,'AlphaData',~whiteRegion);
axis image off
1 comentario
Image Analyst
el 14 de Ag. de 2017
I think you could make an RGB image like this:
output = frame; % Initialize;
mask = cat(3, whiteRegion, whiteRegion, whiteRegion);
output(mask) = man(mask); % Replace white with man but only in mask region.
imshow(output);
Ver también
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!