MATLAB使用OpenCv CascadeClassifier吗?

时间:2012-09-25 14:22:20

标签: matlab opencv vision matlab-cvst

我对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函数的源代码在哪里?

1 个答案:

答案 0 :(得分:0)

问题在于matlab提供了以下物体探测器

  1. 模板匹配
  2. blob分析
  3. viola-jones算法 更多信息:http://www.mathworks.ch/products/computer-vision/description4.html
  4. 现在来谈谈opencv。用于面部检测(通常用于对象检测)的opencv函数cv.HaarDetectObjects()使用中提琴jones算法,该算法使用类似于特征的函数。

    我个人认为实施可能略有不同,但它们基本上具有相同的算法。

    如果您仍然不相信并且想要使用matlab中的opencv函数,那么您可以使用MEX。所以这种方式你可以使用matlab中的cv.HaarDetectObjects()。有关详细信息,请访问:http://www.mathworks.ch/discovery/matlab-opencv.html