how do I show the images name on top of each picture

4 次查看(过去 30 天)

采纳的回答

Yongjian Feng
Yongjian Feng 2021-11-25
编辑:Yongjian Feng 2021-11-25
Add a title to each subplot, after you call subplot:
title('Horse')
  2 个评论
new_user
new_user 2021-11-25
subplot(2,2,3), title ('Bicycle');
imshow(readimage(imds,tricycle));
like this?
Yongjian Feng
Yongjian Feng 2021-11-25
Yeah, instead of ',', use ';'.
subplot(2,2,3);
title ('Bicycle');
imshow(readimage(imds,tricycle));

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2021-11-25
Another option, other than title(), is to put the filename in text in the overlay
rgbImage = imread(filename);
imshow(rgbImage);
text(10, 10, filename, 'Color', 'r', 'FontSize', 20, 'VerticalAlignment', 'top');
  2 个评论
new_user
new_user 2021-11-25
figure
subplot(2,2,1)
imshow(readimage(imds,horse));
how to edit this line to add yours??
Image Analyst
Image Analyst 2021-11-25
I'm sure you figured it out by now, but it would go something like this:
fontSize = 20;
folder = pwd;
imds = imageDatastore(folder, "FileExtensions",[".jpg",".tif"])
numImages = length(imds.Files)
plotRows = ceil(sqrt(numImages))
for k = 1 : numImages
thisFile = imds.Files{k}
[f, baseFileName, ext] = fileparts(thisFile);
thisImage = imread(thisFile);
subplot(plotRows, plotRows, k);
imshow(thisImage);
title(baseFileName, 'FontSize', fontSize);
text(10, 10, baseFileName, 'Color', 'r', ...
'BackgroundColor', 'y', 'FontSize', fontSize, 'VerticalAlignment', 'top')
end
g = gcf;
g.WindowState = 'maximized'
I show the name both as a title and in the overlay.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Historical Contests 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by