How to extract the annotation file of XML data using MATLAB?

Dear all,
We have downloaded the road dataset online, in that, they have created annotation (Ground truth) for all the original images. The annotated images are in XML format, and we could open the XML data in notepad.
How to extract the information of annotated data (XML) file in MATLAB. How to view the information of annotated data (XML) as an image format.
One sample original image (000001.jpg) and its annotations (Ground truth (000001.xml)) files are attached here.
Would you please let us know that how to proceed further? Any help would be highly appreciable.
Thanks and regards
Sukumar.

2 Comments

There are many ways to read text files, and there are many ways to parse XML text to a struct. What did you try already? How did the results differ from what you expect or want?
It's impolite to tag people like that. There isn't much information about processing XML files, but there should be enough to get you started. See here https://uk.mathworks.com/help/matlab/ref/xmlread.html

Sign in to comment.

 Accepted Answer

(tested)
T = readtable('000001.xml');
img = imread('000001.jpg');
x = T.xmin;
width = T.xmax - x + 1;
y = T.ymin;
high = T.ymax - y + 1;
img2 = insertShape(img, 'rectangle', [x, y, width, high]);
imshow(img2)

3 Comments

Thank you so much, @Walter Roberson; this code will work.
There is the following error in reading the 000001.xml file in the readtable function.
T = readtable('000001.xml');
Error using readtable (line 216)
File extension '.xml' is not recognized. Use 'FileType' to specify the type to read
I tried to with T = readtable('000001.xml','FileType');
Error using readtable (line 216); Wrong number of arguments.
I am attaching here the zip file of the .m file of the script as mentioned above.
Thanks & regards
Sukumar.
Is it possible that you forgot to mention that you are using an older MATLAB version? I tested the code before I posted. I would have shown the output but it was a nuisance to attach an XML file.
I completely agree with you that code will work.
I am currently using MATLAB 2019a version. Is that okay?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!