To store images in a Matlab Database

I have jpg images which I generated in my GUI. Furthermore, I want to save them in a Database.mat file along with a name i.e. in a two dimensional array having rows as names and a column of images. I am not getting through how to create the database.mat file and insert images in it as I have less proficiency in Matlab. Please help me as it is the part of my thesis. Thanks in advance!

 Accepted Answer

Use a table() data structure if you want to index by row names. For example,
dinfo = dir('*.tif');
T = table();
for K = 1 : length(dinfo)
filename = dinfo(K).name;
filecontent = imread(filename);
T{filename,1} = filecontent;
end
T.Properties.VariableNames{1} = 'ImageContent';

7 Comments

Ria3242
Ria3242 on 10 Sep 2015
Edited: Ria3242 on 10 Sep 2015
okay.
So the filname is got through dinfo and stored as row in T and you are calling the filecontent as the image right?
Sir, I want to store usernames(rows) along with their image passwords (column values) for a GUA system. Is it possible that I get username from the edit handle and store it into the table row?
Yes the filecontent is the image. I was avoiding using a variable named "image" because image() is a key MATLAB routine for displaying images.
Yes you can get a string from an edit box and store it in the table row, but if you are proceeding one at a time and you need the user to respond for each one, consider using inputdlg()
Easier, though, would be to name the files according to the username, as you do not need to prompt the user for each one. The small change you could make would be to change
T{filename,1} = filecontent;
into
[~, username, ~] = fileparts(filename);
T{username,1} = filecontent;
Hello Sir, I typed
dinfo = dir('*.jpg');
T = table();
in command window, but it says this error:
Undefined function or variable 'table'.
Why so?
Are you possibly using a version of MATLAB before R2013b ?
If you are, then what version are you using, and do you have the Statistics Toolbox?
Im using Matlab 7.0.4
Yes I have the statistics Toolbox.
Statistics has the similar Dataset Array -- though I do not know if it existed that far back.
okay Sir. I'll surely try it. Thank you so much for your help!

Sign in to comment.

More Answers (0)

Asked:

on 8 Sep 2015

Commented:

on 15 Oct 2015

Community Treasure Hunt

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

Start Hunting!