zoukankan      html  css  js  c++  java
  • 使用OpenCL提升OpenCV图像处理性能 | speed up opencv image processing with OpenCL

    本文首发于个人博客https://kezunlin.me/post/59afd8b3/,欢迎阅读最新内容!

    speed up opencv image processing with OpenCL

    Guide

    OpenCL is a framework for writing programs that execute on these heterogenous platforms. The developers of an OpenCL library utilize all OpenCL compatible devices (CPUs, GPUs, DSPs, FPGAs etc) they find on a computer / device and assign the right tasks to the right processor.
    Keep in mind that as a user of OpenCV library you are not developing any OpenCL library. In fact you are not even a user of the OpenCL library because all the details are hidden behind the transparent API/TAPI.

    config

    cmake config by default for compiling OpenCV:

    WITH_OPENCL ON
    

    example

    Mat

    #include "opencv2/opencv.hpp"
    using namespace cv;
     
    int main(int argc, char** argv)
    {
        Mat img, gray;
        img = imread("image.jpg", IMREAD_COLOR);
         
        cvtColor(img, gray, COLOR_BGR2GRAY);
        GaussianBlur(gray, gray,Size(7, 7), 1.5);
        Canny(gray, gray, 0, 50);
         
        imshow("edges", gray);
        waitKey();
        return 0;
    }
    

    UMat

    #include "opencv2/opencv.hpp"
    using namespace cv;
     
    int main(int argc, char** argv)
    {
        UMat img, gray;
        imread("image.jpg", IMREAD_COLOR).copyTo(img);
         
        cvtColor(img, gray, COLOR_BGR2GRAY);
        GaussianBlur(gray, gray,Size(7, 7), 1.5);
        Canny(gray, gray, 0, 50);
         
        imshow("edges", gray);
        waitKey();
        return 0;
    }
    

    UMat with transparent API/TAPI

    Reference

    History

    • 20190626: created.

    Copyright

  • 相关阅读:
    11
    10
    09
    08
    201621044079韩烨软件工程作业三
    软工作业二 201621044079韩烨
    软工作业一 201621044079韩烨
    14
    201621044079 week13 网络
    week12 201621044079 流与文件
  • 原文地址:https://www.cnblogs.com/kezunlin/p/11940014.html
Copyright © 2011-2022 走看看