how to combine image, using hold on in looping

3 visualizaciones (últimos 30 días)
faris fais
faris fais el 12 de Oct. de 2020
Respondida: Satwik el 28 de Mzo. de 2025
hi everyone, i try to combine some image to be one but its doesnt work
i have 3 image
  1. its background image (orange color)
  2. its layer background
  3. its main image
i can combine the 1 and 2 with hold on
but if i try hold on in number 3, number 1 and 2 gone
imshow('background.png');
hold on;
bgimage = ['terbuka.png'];
[im1, map, alpha] = imread(bgimage);
f1 = imshow(im1);
set(f1, 'AlphaData', alpha);
plotcount=1
for k=1:3
for j=1:3
subplot(4, 4, plotcount);
plotcount=plotcount+1;
image2 = ['Star.png'];
[im, map, alpha] = imread(image2);
f = imshow(im);
set(f, 'AlphaData', alpha);
end
end
  2 comentarios
Image Analyst
Image Analyst el 14 de Oct. de 2020
Please attach star.png, terbuka.png, and background.png.
faris fais
faris fais el 15 de Oct. de 2020
background.jpg
terbuka.png
star.png

Iniciar sesión para comentar.

Respuestas (1)

Satwik
Satwik el 28 de Mzo. de 2025
I understand that the aim is to overlay multiple images using MATLAB, but the issue arises when adding the third image, causing the previous images to disappear. This is likely due to the way 'subplot' is used, which creates new axes each time it is called, thus not preserving the previous images. Here is a modified version of the code which combines all the three images:
% Display the background image
imshow('background.png');
hold on; % Retain current plot
% Read and display the layer background image
bgimage = 'terbuka.png';
[im1, map, alpha] = imread(bgimage);
f1 = imshow(im1);
set(f1, 'AlphaData', alpha);
% Loop to overlay the main images
for k = 1:3
for j = 1:3
% Read and display the main image
image2 = 'Star.png';
[im, map, alpha] = imread(image2);
f = imshow(im);
set(f, 'AlphaData', alpha);
% Optionally, adjust the position of the images if needed
% For example, you can set the 'XData' and 'YData' properties
% to place images at specific locations.
% Example: set(f, 'XData', [x_position], 'YData', [y_position]);
end
end
Given below is the resulting image from the above script:
I hope this helps!

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by