Как заставить мой проект OpenCV использовать GPU? - PullRequest
0 голосов
/ 11 октября 2019

Итак, моя проблема:

Я пытаюсь загрузить свой графический процессор с поддержкой OpenCV OpenCL, но, к сожалению, он вообще не работает.

Я не могу понять, что не таквыиграть мой код.

PS: Мой OpenCV собран с поддержкой CMAKE, CUDA и OpenCL.

ocl::setUseOpenCL(true);
    cv::ocl::haveOpenCL();
    VideoCapture cap;
    cap.open(0);
    UMat frame;
    UMat gray;
    for (;;)
    {
        cap >> frame;
        cvtColor(frame, frame, COLOR_RGB2BGR);
        cvtColor(frame, gray, COLOR_RGB2GRAY);
        medianBlur(gray, gray, 5);
        vector<Vec3f> circles;
        HoughCircles(gray, circles, HOUGH_GRADIENT, 1,
            gray.rows / 8,  // change this value to detect circles with different distances to each other
            100, 20, 25, 50 // change the last two parameters
       // (min_radius & max_radius) to detect larger circles
        );
        for (size_t i = 0; i < circles.size(); i++)
        {
            Vec3i c = circles[i];
            Point center = Point(c[0], c[1]);
            // circle center
            circle(frame, center, 1, Scalar(0, 100, 100), 3, LINE_AA);
            // circle outline
            int radius = c[2];
            circle(frame, center, radius, Scalar(0, 0, 255), 3, LINE_AA);
        }
        if (frame.empty()) break; // end of video stream
        imshow("this is you, smile! :)", frame);
        if (waitKey(10) == 27) break; // stop capturing by pressing ESC 
    }

Ожидается, что моя загрузка графического процессора будет больше, чем обычно, но это не так (обычно 4-5%)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...