mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 11:40:44 +08:00
fixed brocken tests by classifier loger from r9027
This commit is contained in:
parent
e4e00498a8
commit
336dcbcff7
@ -97,13 +97,15 @@ void cv::gpu::CascadeClassifier_GPU_LBP::allocateBuffers(cv::Size frame)
|
|||||||
Ncv32u bufSize;
|
Ncv32u bufSize;
|
||||||
ncvSafeCall( nppiStIntegralGetSize_8u32u(roiSize, &bufSize, prop) );
|
ncvSafeCall( nppiStIntegralGetSize_8u32u(roiSize, &bufSize, prop) );
|
||||||
integralBuffer.create(1, bufSize, CV_8UC1);
|
integralBuffer.create(1, bufSize, CV_8UC1);
|
||||||
}
|
|
||||||
|
|
||||||
candidates.create(1 , frame.width >> 1, CV_32SC4);
|
candidates.create(1 , frame.width >> 1, CV_32SC4);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool cv::gpu::CascadeClassifier_GPU_LBP::empty() const { return stage_mat.empty(); }
|
bool cv::gpu::CascadeClassifier_GPU_LBP::empty() const
|
||||||
Size cv::gpu::CascadeClassifier_GPU_LBP::getClassifierSize() const { return NxM; }
|
{
|
||||||
|
return stage_mat.empty();
|
||||||
|
}
|
||||||
|
|
||||||
bool cv::gpu::CascadeClassifier_GPU_LBP::load(const string& classifierAsXml)
|
bool cv::gpu::CascadeClassifier_GPU_LBP::load(const string& classifierAsXml)
|
||||||
{
|
{
|
||||||
@ -301,7 +303,6 @@ int cv::gpu::CascadeClassifier_GPU_LBP::detectMultiScale(const GpuMat& image, Gp
|
|||||||
else
|
else
|
||||||
objects.create(1 , image.cols >> 4, CV_32SC4);
|
objects.create(1 , image.cols >> 4, CV_32SC4);
|
||||||
|
|
||||||
// GpuMat candidates(1 , defaultObjSearchNum, CV_32SC4);
|
|
||||||
// used for debug
|
// used for debug
|
||||||
// candidates.setTo(cv::Scalar::all(0));
|
// candidates.setTo(cv::Scalar::all(0));
|
||||||
// objects.setTo(cv::Scalar::all(0));
|
// objects.setTo(cv::Scalar::all(0));
|
||||||
@ -314,7 +315,6 @@ int cv::gpu::CascadeClassifier_GPU_LBP::detectMultiScale(const GpuMat& image, Gp
|
|||||||
GpuMat dclassified(1, 1, CV_32S);
|
GpuMat dclassified(1, 1, CV_32S);
|
||||||
cudaSafeCall( cudaMemcpy(dclassified.ptr(), &classified, sizeof(int), cudaMemcpyHostToDevice) );
|
cudaSafeCall( cudaMemcpy(dclassified.ptr(), &classified, sizeof(int), cudaMemcpyHostToDevice) );
|
||||||
|
|
||||||
//int step = 2;
|
|
||||||
// cv::gpu::device::lbp::bindIntegral(integral);
|
// cv::gpu::device::lbp::bindIntegral(integral);
|
||||||
|
|
||||||
Size scaledImageSize(image.cols, image.rows);
|
Size scaledImageSize(image.cols, image.rows);
|
||||||
|
@ -357,11 +357,15 @@ TEST_P(LBP_classify, Accuracy)
|
|||||||
{
|
{
|
||||||
cv::Rect r = faces[i];
|
cv::Rect r = faces[i];
|
||||||
|
|
||||||
|
#if defined (LOG_CASCADE_STATISTIC)
|
||||||
std::cout << r.x << " " << r.y << " " << r.width << " " << r.height << std::endl;
|
std::cout << r.x << " " << r.y << " " << r.width << " " << r.height << std::endl;
|
||||||
|
#endif
|
||||||
cv::rectangle(markedImage, r , CV_RGB(255, 0, 0));
|
cv::rectangle(markedImage, r , CV_RGB(255, 0, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined (LOG_CASCADE_STATISTIC)
|
||||||
cv::imshow("Res", markedImage); cv::waitKey();
|
cv::imshow("Res", markedImage); cv::waitKey();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
INSTANTIATE_TEST_CASE_P(GPU_ObjDetect, LBP_classify,
|
INSTANTIATE_TEST_CASE_P(GPU_ObjDetect, LBP_classify,
|
||||||
|
@ -978,7 +978,10 @@ struct CascadeClassifierInvoker
|
|||||||
double gypWeight;
|
double gypWeight;
|
||||||
int result = classifier->runAt(evaluator, Point(x, y), gypWeight);
|
int result = classifier->runAt(evaluator, Point(x, y), gypWeight);
|
||||||
|
|
||||||
|
#if defined (LOG_CASCADE_STATISTIC)
|
||||||
|
|
||||||
logger.setPoint(Point(x, y), result);
|
logger.setPoint(Point(x, y), result);
|
||||||
|
#endif
|
||||||
if( rejectLevels )
|
if( rejectLevels )
|
||||||
{
|
{
|
||||||
if( result == 1 )
|
if( result == 1 )
|
||||||
@ -1019,8 +1022,9 @@ bool CascadeClassifier::detectSingleScale( const Mat& image, int stripCount, Siz
|
|||||||
if( !featureEvaluator->setImage( image, data.origWinSize ) )
|
if( !featureEvaluator->setImage( image, data.origWinSize ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
#if defined (LOG_CASCADE_STATISTIC)
|
||||||
logger.setImage(image);
|
logger.setImage(image);
|
||||||
|
#endif
|
||||||
|
|
||||||
Mat currentMask;
|
Mat currentMask;
|
||||||
if (!maskGenerator.empty()) {
|
if (!maskGenerator.empty()) {
|
||||||
@ -1044,7 +1048,10 @@ bool CascadeClassifier::detectSingleScale( const Mat& image, int stripCount, Siz
|
|||||||
}
|
}
|
||||||
candidates.insert( candidates.end(), concurrentCandidates.begin(), concurrentCandidates.end() );
|
candidates.insert( candidates.end(), concurrentCandidates.begin(), concurrentCandidates.end() );
|
||||||
|
|
||||||
|
#if defined (LOG_CASCADE_STATISTIC)
|
||||||
logger.write();
|
logger.write();
|
||||||
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user