将选定的特征点转移到新变量

Transfer selected feature points to a new variable

我打算只传输几个使用 SVM 分类的特征描述符。我试图将选定的描述符放入矩阵中,但无法正确匹配它们。这是我为将选定的描述符传输到另一个变量而编写的代码。

[nrows, ncolumns] = size(fdImage);
SVMResultFace = svmclassify(SVMStructFace, fdImage);
ClassifiedFace = [];
for row = 1:nrows
    if SVMResultFace(row,1) == 1
        ClassifiedFace = [ClassifiedFace; fdImage(row,:)];
    end
end

有没有更合适的方法来做到这一点?谢谢!

从 fdImage 中删除这些行的最简单方法就是使用逻辑索引:

SVMResultFace = svmclassify(SVMStructFace, fdImage);
include_row = SVMResultFace(:,1) == 1;
ClassifiedFace = fdImage(include_row,:);