Adding a Title to imwrite Command

25 Ansichten (letzte 30 Tage)
Fritz Sonnichsen
Fritz Sonnichsen am 13 Aug. 2020
Kommentiert: Rik am 14 Aug. 2020
I am trying to do imwrite's adding titles to the output images. I tried the code below but it doesn't work. Probably I am using "plot" constucts that don't apply here. The forum was a bit vague on this. Is there any way to add a title to imwrite?
Thanks
fritz
imwrite (p, gray,outfl)
titl = strcat(''TITLE HERE');
title(titl)
  1 Kommentar
Rik
Rik am 13 Aug. 2020
What do mean exactly with title? Do you want to add a text to the image itself? Do you want to set a char array as one of the EXIF fields?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Johannes Hougaard
Johannes Hougaard am 13 Aug. 2020
You have to add the title to your figure before using imwrite.
If it is indeed images (.jpg, .tiff etc) that constitutes your p and gray read from an image using imread I believe this will do the trick
[p,gray] = imread("yourfilenamehere.tif");
newfig = figure;
imshow(p,gray);
title("TITLE HERE");
newimg = getframe(newfig);
imwrite(newimg.cdata,gray,outfl);
If your data p are not an RGB image, but rather a graphic depiction of numeric data in matlab it'd probably be easier to use the print option to save your graph as an image file.
x = linspace(-10,10,111);
p = sin(x);
newfig = figure;
plot(x,p);
title("This is sin(x) in the range -10 to 10");
print(newfig,outfl,'-djpeg'); % If save as .jpg, change to -dpng for .png or -dtiff for .tif
  2 Kommentare
Fritz Sonnichsen
Fritz Sonnichsen am 14 Aug. 2020
OK---it worked--somewhat more lengthy than expected!
Thanks
Fritz
Rik
Rik am 14 Aug. 2020
You might also be interested in alternative: convert text to an image and add that on top of your original image. You can use a function like text2im to do that.
If the answer by Johannes solved your issue, don't forget to mark his answer as accepted, if not, feel free to comment with your remaining issues.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Ferheen Ayaz
Ferheen Ayaz am 13 Aug. 2020
I think you may want to do this
F=figure(1)
imshow('1.png')
title('Hello')
frame=getframe(F)
im=frame2im(frame)
imwrite(im,'2.png')

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by