前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV的Transparent API

OpenCV的Transparent API

作者头像
Tyan
发布2019-05-25 23:24:12
7120
发布2019-05-25 23:24:12
举报
文章被收录于专栏:SnailTyanSnailTyan

1. Transparent API

OpenCV 3中的Transparent API就是OpenCV 2中的OCL模块,从OpenCV 3开始,已经没有OCL模块,取而代之的是Transparent API。Transparent API主要是用来提升性能的。

2. Usage

  • 普通的Mat写法:
代码语言:javascript
复制
#include "opencv2/opencv.hpp"
using namespace cv;

int main(int argc, char** argv)
{
    Mat img, gray;
    img = imread("image.jpg", 1);

    cvtColor(img, gray, COLOR_BGR2GRAY);
    GaussianBlur(gray, gray,Size(7, 7), 1.5);
    Canny(gray, gray, 0, 50);

    imshow("edges", gray);
    waitKey();
    return 0;
}
  • Transparent API写法(UMat)
代码语言:javascript
复制
#include "opencv2/opencv.hpp"
using namespace cv;

int main(int argc, char** argv)
{
    UMat img, gray;
    imread("image.jpg", 1).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;
}

其实主要是将Mat变为UMat,其它的不变。Mat变为UMat有两种方式,一种是copyTo,一种是getUMat

代码语言:javascript
复制
# copyTo
UMat img;
imread("image.jpg", 1).copyTo(img);

# getUMat
Mat mat = imread("image.jpg", IMREAD_COLOR); 
// Get umat from mat. 
UMat umat = mat.getUMat(flag);

flag下选项有ACCESS_READ,ACCESS_WRITE,ACCESS_RW,ACCESS_FAST

3. How to accelerate?

Transparent API主要是使用了OpenCL来进行加速,下面是OpenCL的介绍。

OpenCL(Open Computing Language,开放计算语言)是一个为异构平台编写程序的框架,此异构平台可由CPU、GPU、DSP、FPGA或其他类型的处理器与硬件加速器所组成。OpenCL由一门用于编写kernels(在OpenCL设备上运行的函数)的语言(基于C99)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分区和数据分区的并行计算机制。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年12月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Transparent API
  • 2. Usage
  • 3. How to accelerate?
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档