{
Size imgsz = _image.size();
bool recalcOptFeatures = updateScaleData(imgsz, _scales);
-
+
size_t i, nscales = scaleData->size();
Size sz0 = scaleData->at(0).szi;
sz0 = Size(std::max(rbuf.cols, (int)alignSize(sz0.width, 16)), std::max(rbuf.rows, sz0.height));
optfeatures->resize(nfeatures);
optfeaturesPtr = &(*optfeatures)[0];
for( fi = 0; fi < nfeatures; fi++ )
- optfeaturesPtr[fi].setOffsets( ff[fi], sstep );
+ optfeaturesPtr[fi].setOffsets( ff[fi], sstep );
copyVectorToUMat(*optfeatures, ufbuf);
}
{
if (data.maxNodesPerTree > 1)
return false;
-
+
Ptr<LBPEvaluator> lbp = featureEvaluator.dynamicCast<LBPEvaluator>();
if( lbp.empty() )
return false;
bool outputRejectLevels )
{
Size imgsz = _image.size();
-
+
Mat grayImage;
- UMat ugrayImage;
_InputArray gray;
candidates.clear();
};
virtual ~FeatureEvaluator();
-
+
virtual bool read(const FileNode& node, Size origWinSize);
virtual Ptr<FeatureEvaluator> clone() const;
virtual int getFeatureType() const;
Ptr<CvHaarClassifierCascade> oldCascade;
Ptr<MaskGenerator> maskGenerator;
- UMat ugrayImage, uimageBuffer;
+ UMat ugrayImage;
UMat ufacepos, ustages, unodes, uleaves, usubsets;
ocl::Kernel haarKernel, lbpKernel;
bool tryOpenCL;
mask |= (CALC_SUM_OFS_( ofs.s9, ofs.sa, ofs.sd, ofs.se, p ) >= cval ? 4 : 0); // 7
mask |= (CALC_SUM_OFS_( ofs.s8, ofs.s9, ofs.sc, ofs.sd, p ) >= cval ? 2 : 0); // 6
mask |= (CALC_SUM_OFS_( ofs.s4, ofs.s5, ofs.s8, ofs.s9, p ) >= cval ? 1 : 0); // 7
-
+
s += (bitset[idx] & (1 << mask)) ? st.z : st.w;
}