how do I show the images name on top of each picture
3 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Yongjian Feng
2021-11-25
编辑:Yongjian Feng
2021-11-25
Add a title to each subplot, after you call subplot:
title('Horse')
2 个评论
Yongjian Feng
2021-11-25
Yeah, instead of ',', use ';'.
subplot(2,2,3);
title ('Bicycle');
imshow(readimage(imds,tricycle));
更多回答(1 个)
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 个评论
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!