how to remove image extension so that only numbered name can be stored in a database
2 views (last 30 days)
Show older comments
hi .. i have some features stored in a .mat file, and i want to concatenate numbered image names( without their extension) to the same .mat file. so that i can sort image names along with sorting its numerical features.. how to do plz help? say eg: if a.mat contains features as follows
12 2.3344 3.22 4.22 123.jpg
as i have written this example the mat file contains 5 columns but in fifth column, we have numbered name of an image including its extension i.e. .jpg. how to remove that extension & store only 123 as its name.
0 Comments
Accepted Answer
More Answers (2)
Image Analyst
on 9 Sep 2018
So after you extract the variables from your .mat file, do you have a string '12 2.3344 3.22 4.22 123.jpg'? If so, then do you want to take each number in the string and create a filename from it? Try
% Create sample string.
str = '12 2.3344 3.22 4.22 123.jpg'
% Convert to numbers
numbers = str2num(str(1:end-4))
% Now sort the numbers
sortedNumbers = sort(numbers, 'ascend')
% Now go through, saving files with each number but no extension (which is probably not a wise idea).
folder = pwd; % Wherever you want...
for k = 1 : length(numbers)
fullFileName = fullfile(folder, num2str(numbers(k)))
% Now do whatever you want with that filename
end
However, I don't see what sorting gets you - not sure why you wanted that. Plus you can use strsplit() and not bother about converting them to numbers. Why do you want them as numbers instead of keeping them as substrings?
Unfortunately you have not read this link and forgot to attach your .mat file. Attach it if you want more help.
7 Comments
dpb
on 12 Sep 2018
NB: The usage as a Row Name will require limiting the string to one that is a valid ML variable name.
See Also
Categories
Find more on Large Files and Big Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!