Borrar filtros
Borrar filtros

How do I combine two images of different sizes like a photo frame?

6 visualizaciones (últimos 30 días)
Magesh Anand
Magesh Anand el 13 de Ag. de 2017
Comentada: Image Analyst el 14 de Ag. de 2017
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
KSSV
KSSV el 13 de Ag. de 2017
Why don't you attach your images and give a expected output?
Magesh Anand
Magesh Anand el 13 de Ag. de 2017
I want the photo inside the frame

Iniciar sesión para comentar.

Respuestas (2)

Chad Greene
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
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);

Iniciar sesión para comentar.


Image Analyst
Image Analyst el 14 de Ag. de 2017
See my attached copy and paste demos.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by