11

CascadeObjectDetectorMATLABについて質問があります。CascadeObjectDetectorMATLABのソース コードでは、次のように表示されます。

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?それは単に OpenCVCascadeClassifierですか?そして、detectMultiScale関数のソースコードはどこにありますか?

4

1 に答える 1

0

事はmatlabが次のオブジェクト検出器を提供するということです

  1. テンプレートマッチング
  2. ブロブ分析
  3. viola-jonesアルゴリズム詳細はこちら: http: //www.mathworks.ch/products/computer-vision/description4.html

次に、opencvについて説明します。顔の検出(および一般にオブジェクトの検出)に使用されるopencv関数cv.HaarDetectObjects()は、harrのような機能を使用するviolajonesアルゴリズムを使用します。

私の個人的な意見では、実装はわずかに異なる可能性がありますが、基本的に同じアルゴリズムを使用しています。

それでも確信が持てず、matlabのopencv関数を使用したい場合は、MEXを使用できます。したがって、この方法で、matlabのcv.HaarDetectObjects()を使用できます。詳細については、http://www.mathworks.ch/discovery/matlab-opencv.htmlを参照してください。

于 2012-10-01T14:20:33.313 に答える