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

 Accepted Answer

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 Comments

thank you a lot
imshowpair and imrotate require the Image Processing Toolbox.

Sign in to comment.

More Answers (0)

Products

Release

R2019b

Community Treasure Hunt

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

Start Hunting!