我使用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(b
和d
的向量)。那是为什么?
有没有办法减少向量的长度?即有没有办法减少extractLBPFeatures
返回的参数数量? (我知道它可能会影响分类任务)。
答案 0 :(得分:1)
a
和c
都是1x59?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 neighbours,P
,更改Rotation invariance flag以及the number of bins,B
,您可以减少。但你应该确定你在做什么。
一个例子:
extractLBPFeatures(a,'Upright',false,'NumNeighbors',4);