Save plot on top of an image.

1 Ansicht (letzte 30 Tage)
Ana Olivia
Ana Olivia am 16 Jun. 2015
Kommentiert: Ana Olivia am 17 Jun. 2015
Hello!
I need to save a graph on top of a black image. I have an image, so I want to make a plot on this image, and save it on a new image with black background and with same dimensions.
In the beginning I "paint" the image with black color, since I want both images to have the same dimensions. Then I use ginput and plot to pick the part of the image that I want. Then I open the black image using imshow(blackimage) and I use these commands:
f = getframe(gcf);
DATA = frame2im(f);
and I use imwrite to save DATA.
But I am having a problem with it because this program changes the dimensions of DATA, changes it to uint8, and the image becomes 3D. Please, can someone help me to solve this problem? What can I do to both images have the same dimensions?
Thank you for the help!
  4 Kommentare
Walter Roberson
Walter Roberson am 16 Jun. 2015
Is all of the original image to be included in the final image (except for the part covered up by the plot)? Or are you extracting a portion of the image and want to plot on a sub-portion of that? Something like:
display the full image
user selects a portion of it
everything outside of the selected portion is to be cleared to black
then plot on top in some pre-determined location
Is the plot a constant size and constant coordinates? Or is the user pointing out the location (and implicitly size) to put the plot? What is being set to black??
Ana Olivia
Ana Olivia am 17 Jun. 2015
Yes, I want to do this. I want to select a portion of the image and everything outside the selected portion needs to be cleared to black. I tried to use roipoly, but it just works to polygons, and I want a line.
No, the plot is not constant. The user points the location (using ginput). Then the rest is set to black.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

LUI PAUL
LUI PAUL am 16 Jun. 2015
Bearbeitet: LUI PAUL am 16 Jun. 2015
Is this what you are looking for?
uiopen('C:\black.gif',1)%first image
imshow('black.gif');
[x,y] = ginput% select your interest
hold on
plot((1:900),1:900)%second image,plotting on first image
note: 1.here at the time of using "ginput" you have to select area manually and hit enter.
2.insteed of plot use your own.
  1 Kommentar
Ana Olivia
Ana Olivia am 17 Jun. 2015
I already plotted the graphic on the image with black background, but I couldn't save it. Every time I try to save the image the size of it changes. So I am searching for a way to save the modified image (image with plot).
But thanks a lot for answering me!

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by