MATLAB 使用 OpenCv CascadeClassifier 吗?

问题描述 投票:0回答:1

我有一个关于 MATLAB 中的

CascadeObjectDetector
的问题。在 MATLAB 中的
CascadeObjectDetector
源代码中我看到:

pCascadeClassifier; % OpenCV pCascadeClassifier 

然后我看到:

%------------------------------------------------------------------
% Constructor
%------------------------------------------------------------------
function obj = CascadeObjectDetector(varargin)              
    obj.pCascadeClassifier = vision.internal.CascadeClassifier;
    ...
end

stepImpl

bbox = double(obj.pCascadeClassifier.detectMultiScale(I, ...
            double(obj.ScaleFactor), ...
            uint32(obj.MergeThreshold), ...            
            uint32(obj.MinSize), ...
            uint32(obj.MaxSize)));

你知道什么是

vision.internal.CascadeClassifier
吗?仅仅是 OpenCV
CascadeClassifier
吗?
detectMultiScale
函数的源代码在哪里?

matlab opencv computer-vision matlab-cvst
1个回答
0
投票

问题是 matlab 提供了以下对象检测器

  1. 模板匹配
  2. 斑点分析
  3. 维奥拉-琼斯算法 更多信息在这里:http://www.mathworks.ch/products/computer-vision/description4.html

现在谈谈opencv。用于人脸检测(通常用于对象检测)的 opencv 函数 cv.HaarDetectObjects() 使用 viola jones 算法,该算法又使用 harr 等特征。

我个人的观点是,实现可能略有不同,但它们本质上具有相同的算法。

如果您仍然不相信并且想使用 matlab 中的 opencv 函数,您可以使用 MEX。这样你就可以使用 matlab 中的 cv.HaarDetectObjects() 。更多详细信息请访问:http://www.mathworks.ch/discovery/matlab-opencv.html

© www.soinside.com 2019 - 2024. All rights reserved.