how to combine image, using hold on in looping

11 views (last 30 days)
faris fais
faris fais on 12 Oct 2020
Answered: Satwik on 28 Mar 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 Comments
Image Analyst
Image Analyst on 14 Oct 2020
Please attach star.png, terbuka.png, and background.png.

Sign in to comment.

Answers (1)

Satwik
Satwik on 28 Mar 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!

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!