本文整理汇总了C++中GpuMat::colRange方法的典型用法代码示例。如果您正苦于以下问题:C++ GpuMat::colRange方法的具体用法?C++ GpuMat::colRange怎么用?C++ GpuMat::colRange使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GpuMat
的用法示例。
在下文中一共展示了GpuMat::colRange方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: faceDetect_GPU
int faceDetect_GPU(Mat &image, vector<Mat> &faces, int init)
{
static CascadeClassifier_GPU cascade_gpu;
static HANDLE init_mutex;
if(init == 1)
{
init_mutex = CreateMutex(NULL, FALSE, NULL);
cascade_gpu.load(string(CASCADE_PATH));
return 0;
}
Mat gray;
cvtColor(image, gray, CV_BGR2GRAY);
equalizeHist(gray, gray);
GpuMat image_gpu(gray);
GpuMat objbuf;
WaitForSingleObject(init_mutex, INFINITE);
double start = GetTickCount();
int detections_number = cascade_gpu.detectMultiScale(image_gpu, objbuf, 1.1, 3);
cout << "Face Detect GPU Time : " << GetTickCount()-start << "ms" << endl;
ReleaseMutex(init_mutex);
Mat obj_host;
objbuf.colRange(0, detections_number).download(obj_host);
Rect* det_faces = obj_host.ptr<Rect>();
for(int i = 0; i < detections_number; ++i)
{
Mat face = gray(det_faces[i]);
faces.push_back(face);
}
return 0;
}