Compiling features from regionprops with its filename

조회 수: 9 (최근 30일)
Lim
Lim 2015년 7월 30일
댓글: Walter Roberson 2015년 7월 30일
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.

채택된 답변

Walter Roberson
Walter Roberson 2015년 7월 30일
Before:
Feature = cell(m1, 2);
In the loop:
Feature(i,:) = {name CellArea};

추가 답변 (1개)

Lim
Lim 2015년 7월 30일
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
Walter Roberson
Walter Roberson 2015년 7월 30일
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}

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by