Naming figures with existing filename
12 views (last 30 days)
Show older comments
Hello Community,
I am having trouble getting the naming of my figures right. What I want to do is use part of a variable that contains an existing file name. For example: baseFileName = IMG_1234.jpg, and I want the title for the subsequent figure to read as, 'RGB 1234'. I have tried various iterations of code, an example of which is:
figure('name', 'RGB (regexpi(baseFileName, (?<=IMG_)\d+', 'match', 'once'))', 'numbertitle', 'off');
but obviously the section referring to 'regexpi(baseFileName,...etc.' would also appear in the title which is not what I want. The regexpi line of code has worked sucessfully elsewhere so I know this is correct, but I'm struggling to insert it in to the correct part of naming the figure.
This is for a script that will be run a few times using different images and I want to store the images after with their correct ID in the title for future reference.
So, can anyone offer some useful advice please?
Regards,
10B.
0 Comments
Accepted Answer
Ilham Hardy
on 20 Jan 2016
Perhaps this might works?
figT = ['RGB ' (regexpi(baseFileName, (?<=IMG_)\d+', 'match', 'once'))];
figure('name', figT, 'numbertitle', 'off');
3 Comments
Ilham Hardy
on 21 Jan 2016
Hello,
Apparently you've missed a colon in your example.
It should be:
figT = ['RGB ' (regexpi(baseFileName, '(?<=IMG_)\d+', 'match', 'once'))];
instead of
figT = ['RGB ' (regexpi(baseFileName, (?<=IMG_)\d+', 'match', 'once'))];
Hope this helps, IH
More Answers (1)
Image Analyst
on 20 Jan 2016
You're probably referring to the annoying feature of title where it treats the letter following an underline as a subscript. You can turn off that annoying default feature by using the 'Interpreter' option in title(), xlabel(), or ylabel():
baseFileName = 'IMG_1234.jpg';
[~, baseNameNoExtension, ~] = fileparts(baseFileName);
title(baseNameNoExtension, 'Interpreter', 'none'); % No subscript now - YAY!!!
Or if you just plain don't want the underline, replace it with a space:
baseFileName = 'IMG_1234.jpg';
[~, baseNameNoExtension, ~] = fileparts(baseFileName);
baseNameNoExtension(baseNameNoExtension == '_') = ' ';
title(baseNameNoExtension, 'Interpreter', 'none');
See Also
Categories
Find more on Computer Vision with Simulink in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!