Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 41027

OpenCL Haar : Invalid classifier cascade

$
0
0
Hello I have a Problem with my implementation of haar face detection with the use of OpenCL. I tried the exact same Code with the use of a CPU based Approach and it worked but a bit slow in realtime, so I want to make it faster with OCL. when I call the cascade.detectMultiScale function the program crashes with the following error: OpenCV Error: Null pointer (Invalid classifier cascade) in cv::ocl::OclCascadeClassifier::oclHaarDetectObjects, file C:\builds\2_4_PackSlave-win32-vc12-shared\opencv\modules\ocl\src\haar.cpp, line 686 Code: int main(int argc, const char** argv) { string cascadeName = "haarcascade_frontalface_alt.xml"; VideoCapture cap(0); Mat frame, frameCopy, image; ocl::oclMat gpu_mat; ocl::OclCascadeClassifier cascade; cv::CascadeClassifier cpu_cascade; if (!cascade.load(cascadeName) || !cpu_cascade.load(cascadeName)) { cout << "ERROR: Could not load classifier cascade: " << cascadeName << endl; return EXIT_FAILURE; } if (!cap.isOpened()) cout << "Capture from CAM 0 didn't work" << endl; namedWindow("result", WINDOW_AUTOSIZE); while (1) { cap.read(frame); vector faces; if (frame.empty()) break; cvtColor(frame,frame, CV_BGR2GRAY); equalizeHist(frame, frame); gpu_mat.upload(frame); cascade.detectMultiScale(gpu_mat, faces, 1.1, 3, 0 | CV_HAAR_SCALE_IMAGE , Size(30, 30), Size(0, 0)); /*cpu_cascade.detectMultiScale(frame, faces, 1.15, 3, 0 | CV_HAAR_SCALE_IMAGE , Size(30, 30), Size(0, 0));*/ gpu_mat.download(frame); for (int i = 0; i < faces.size(); i++) { Rect face = faces[i]; rectangle(frame, Point(face.x, face.y), Point(face.x + face.width, face.y + face.height), Scalar(255, 0, 0), 1, 4); } imshow("result", frame); if (cv::waitKey(1) >= 0) break; } cap.release(); cvDestroyWindow("result"); return 0; } Maybe someone can help me. Thanks

Viewing all articles
Browse latest Browse all 41027

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>