Overlay a image with plot

1 visualizzazione (ultimi 30 giorni)
Georg Edelmann
Georg Edelmann il 18 Feb 2020
Commentato: Kurt il 5 Dic 2023
Hey Guys,
i want to overlay a image with a the plot i made,
The first Subplot is just the Plot an the second shall be the combination.
Here is my Code:
I = imread('Bild_1.jpg');
I=I(:,:,1);
white = sum(I,2);
[Rows,numCols] = size(I);
x0=0;
y0=0;
width=numCols;
height=Rows;
set(gcf,'position',[x0,y0,width,height])
subplot(1,2,1)
plot(white);
view([90 90]);
saveas(gcf,'Plot_01.png',[x0,y0,width,height]);
P1=imread('Plot_01.png');
P2= imrotate(P1,90,'bicubic','crop');
subplot(1,2,2)
imshowpair(P2,I,'blend','Scaling','joint')
My Problem is that the Plot and the image are in a 90° Angle to each other. Moreover the saved Plot doest not have the same (Pixel)Size.
Hope you can help me

Risposta accettata

Srivardhan Gadila
Srivardhan Gadila il 25 Feb 2020
Below are some suggestions: (only for the above code)
  1. (line 14 - 17) Instead of using subplots use figure and save the plot
  2. (line 20, 21) Rotate the image first and then resize it
Below is the code after making changes:
I = imread('Bild_1.jpg');
I=I(:,:,1);
white = sum(I,2);
[Rows,numCols] = size(I);
x0=0;
y0=0;
width=numCols;
height=Rows;
figure
set(gcf,'position',[x0,y0,width,height])
plot(white);
view([90 90]);
saveas(gcf,'Plot_01.png',[x0,y0,width,height]);
P1=imread('Plot_01.png');
P1 = imrotate(P1,90);
P2 = imresize(P1,[Rows,numCols],'bicubic');
figure
imshowpair(P2,I,'blend','Scaling','joint')
  2 Commenti
Georg Edelmann
Georg Edelmann il 26 Feb 2020
thank you a lot
Kurt
Kurt il 5 Dic 2023
imshowpair and imrotate require the Image Processing Toolbox.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by