Compiling features from regionprops with its filename

1 vue (au cours des 30 derniers jours)
Lim
Lim le 30 Juil 2015
Commenté : Walter Roberson le 30 Juil 2015
I am working on extracting features on my images and compiling the features into one file. I want to put the file name under that file too but it only display the name and it's in 'char'.
My code:
files = dir('*_cell.bmp'); %the folder has 5 images with this extension
[m1 n1] = size(files);
Feature = [];
for i = 1:m1
x1 = files(i).name;
[path, name, extension] = fileparts(x1);
OriginalImage = imread(x1);
Blue = OriginalImage(:,:,3);
binaryImage = Blue > 0.1;
CellMeasure = regionprops(binaryImage,'all');
CellArea = CellMeasure.Area;
Feature = [Feature; name CellArea];
end
Output: - on the Workspace, >> Feature 5x10 char
>> Feature
Feature =
0201_cell
0205_cell
0206_cell
0401_cell
4101_cell
Please help.

Réponse acceptée

Walter Roberson
Walter Roberson le 30 Juil 2015
Before:
Feature = cell(m1, 2);
In the loop:
Feature(i,:) = {name CellArea};

Plus de réponses (1)

Lim
Lim le 30 Juil 2015
It works! Thanks Walter! What if I have more features? I do this:
files = dir('*_cell.bmp');
[m1 n1] = size(files);
Feature = cell(m1,2);
for i = 1:m1
x1 = files(i).name;
[path, name, extension] = fileparts(x1);
OriginalImage = imread(x1);
Blue = OriginalImage(:,:,3);
binaryImage = Blue > 0.1;
CellMeasure = regionprops(binaryImage,'all');
CellArea = CellMeasure.Area;
CellPerimeter = CellMeasure.Perimeter;
ShapeFeat = [CellArea CellPerimeter];
Red = OriginalImage(:,:,1);
Green = OriginalImage(:,:,2);
RMean = mean(Red(:));
GMean = mean(Green(:));
BMean = mean(Blue(:));
ColorFeat = [RMean GMean BMean];
AllFeat = [ShapeFeat ColorFeat];
Feature(i,:) = {name AllFeat};
end
...and it returns
>>Feature
Feature =
'001_cell' [1x16 double]
'002_cell' [1x16 double]
'003_cell' [1x16 double]
How do I expand all the features (in this case, 16) under 'Feature' so that I can save it in an excel file later?
filename = 'M3_Cell.xlsx';
xlswrite(filename,Feature);
  1 commentaire
Walter Roberson
Walter Roberson le 30 Juil 2015
Feature(i,:) = [name num2cell(AllFeat)];
This assumes that AllFeat will be strictly a row vector of numeric values. If that is not the case then you would have to construct, for example,
{name RMean CellMeasure.PixelIDList}

Connectez-vous pour commenter.

Catégories

En savoir plus sur Geometric Transformation and Image Registration dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by