'extractLBPFeatures'为不同大小的图像返回的特征向量的长度

时间:2017-09-03 15:29:59

标签: image matlab image-processing feature-extraction

我使用extractLBPFeatures进行64 * 64和200 * 200图像的特征提取。

a=imread('f1.jpg'); % f1.jpg is of size 64*64
b=extractLBPFeatures(a);
size(b)

ans =

     1    59

c = imresize(a, [200 200]); % a resized image.
d=extractLBPFeatures(c);
size(d)

ans =
    1    59

我注意到,在这两种情况下,它都会在上面的代码中返回长度为1 * 59(bd的向量)。那是为什么?

有没有办法减少向量的长度?即有没有办法减少extractLBPFeatures返回的参数数量? (我知道它可能会影响分类任务)。

1 个答案:

答案 0 :(得分:1)

为什么ac都是1x59?

来自documentation

  

LBP特征向量作为长度为N的1-by-N向量返回,表示要素的数量...整体LBP特征长度N取决于单元格的数量和箱数B

N = numCells x B

默认情况下,我们有:

细胞大小等于大小(I);我在哪里的形象
 numCells = prod(floor(size(I)/ CellSize));
⇒numCells= 1

 邻居数= P = 8
 B =(P×P-1)+ 3
    ⇒       B = 59

    ⇒N= 1x59(默认情况下)

有没有办法减少extractLBPFeatures返回的参数数量?

如上面的计算所示,通过缩小number of neighboursP,更改Rotation invariance flag以及the number of binsB,您可以减少。但你应该确定你在做什么。

一个例子:

extractLBPFeatures(a,'Upright',false,'NumNeighbors',4);