我对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
函数的源代码在哪里?
答案 0 :(得分:0)
问题在于matlab提供了以下物体探测器
现在来谈谈opencv。用于面部检测(通常用于对象检测)的opencv函数cv.HaarDetectObjects()使用中提琴jones算法,该算法使用类似于特征的函数。
我个人认为实施可能略有不同,但它们基本上具有相同的算法。
如果您仍然不相信并且想要使用matlab中的opencv函数,那么您可以使用MEX。所以这种方式你可以使用matlab中的cv.HaarDetectObjects()。有关详细信息,请访问:http://www.mathworks.ch/discovery/matlab-opencv.html