名前

CreatePixelIndexList — は各ブロブにおける画素のインデックスのリストを計算する

呼び出し

PixelIndexMatrix = CreatePixelIndexList(BlobImage);

引数

BlobImage

2次元の行列で、型はuint32である

PixelIndexMatrix

行列で、列の数はボロブの数に相当し、行の数は最大のボロブの大きさに相当する。型はint32 (Scilab 5.2.0)又はuint32(Scilab 5.2.1以降)である。ボロブのにおける画素の数はnだと、インデックスは行1から行nまでに掲載される

説明

本関数は各ボロブにおける画素のインデックスのリストを計算する。各列はブロブに相当する。ボロブのにおける画素の数はnだと、インデックスは行1から行nまでに掲載される。AnalyzeBlobsは本関数を呼びさすから、ユーザーが本関数を呼び出すことが必要ではない。

RGB = ReadImage('contrib\IPD-5.0\demos\teaset.png'); 

Image = RGB2Gray(RGB);

ThresholdedImage = SegmentbyThreshold(Image, 200);

BlobImage = SearchBlobs(ThresholdedImage);

FilteredBlobImage = FilterBySize(BlobImage, 100); // Small objects are removed.

IsCalculated = GenerateFeatureStruct(%f); // Feature struct is generated.

IsCalculated.PixelIndexList = %t; // The pixel index list shall be calculated for each blob.

SizeHistogram = CreateHistogram(FilteredBlobImage);
 
NumberOfObjects = length(SizeHistogram) - 1;

PixelIndexMatrix = CreatePixelIndexList(FilteredBlobImage);

for n = 1 : NumberOfObjects
  
 PixelIndexList = PixelIndexMatrix(1 : SizeHistogram(n + 1), n);

 disp(PixelIndexList);

end;

参考

SearchBlobs, FilterBySize, CreateFeatureStruct, AnalyzeBlobs, CreateSizeHistogram, CumulateSizeHistogram