how to combine image, using hold on in looping

2 Ansichten (letzte 30 Tage)
faris fais
faris fais am 12 Okt. 2020
Beantwortet: Satwik am 28 Mär. 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 Kommentare
Image Analyst
Image Analyst am 14 Okt. 2020
Please attach star.png, terbuka.png, and background.png.
faris fais
faris fais am 15 Okt. 2020
background.jpg
terbuka.png
star.png

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Satwik
Satwik am 28 Mär. 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!

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by