0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文解析GPU图像处理的基本流程

Dbwd_Imgtec 来源:陈翠 2019-01-01 08:58 次阅读

现代GPU提供了顶点处理器和片段处理器两个可编程并行处理部件。在利用GPU执行图像处理等通用计算任务时,要做的主要工作是把待求解的任务映射到GPU支持的图形绘制流水线上。

通常的方法是把计算任务的输入数据用顶点的位置、颜色、法向量等属性或者纹理等图形绘制要素来表达,而相应的处理算法则被分解为一系列的执行步骤,并改写为GPU的顶点处理程序或片段处理程序,然后,调用3D API执行图形绘制操作,调用片段程序进行处理;最后,保存在帧缓存中的绘制结果就是算法的输出数据。

虽然数字图像处理算法多种多样,具体实现过程也很不相同,但是在利用GPU进行并行化处理时,有一些共性的关键技术问题需要解决,如:数据的加载,计算结果的反馈、保存等。

下面对这些共性的问题进行分析,并提出相应的解决思路。

1. 数据加载

在GPU的流式编程模型中,所有的数据都必须以“流”的形式进行加载处理,并通过抽象的3D API进行访问。在利用GPU进行图像处理时,最直接有效的数据加载方法是把待处理的图像打包为纹理,在绘制四边形时进行加载、处理。同时为了保证GPU上片段程序能够逐像素的对纹理图像进行处理,必须将投影变换设置为正交投影,视点变换的视区与纹理大小相同,使得光栅化后的每个片段(fragment)和每个纹理单元(texel)一一对应。对于图像处理算法中的其他参数,如果数据量很小,则可以直接通过接口函数进行设置;如果参数比较多,也应该将其打包为纹理的形式传输给GPU。在打包的过程中应充分利用纹理图像所具有的R、G、B、A四个通道。

2. 计算结果的反馈、保存

应用程序是通过调用3D API绘制带纹理的四边形,激活GPU上的片段程序进行图像处理的,而GPU片段着色器的直接渲染输出是一个帧缓冲区,它对应着计算机屏幕上的一个窗口,传统上用来容纳要显示到屏幕的像素,但是在GPU流式计算中可以用来保存计算结果。虽然CPU可以通过3D API直接读写这个帧缓冲区,将渲染处理的结果从帧缓存中复制到系统内存进行保存,但是帧缓存的大小受窗口大小限制,而且由于AGP总线的带宽限制(2.1GB/s),从显存到系统

镜像变换 GPU 渲染主要包括以下几个步骤:

设置 1 个输入纹理;

对输入纹理进行纹理采样;

设置变换矩阵;

在顶点着色器中,将输入顶点与变换矩阵相乘;

输出图像数据;

一文解析GPU图像处理的基本流程

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4741

    浏览量

    128963
  • 图像处理
    +关注

    关注

    27

    文章

    1292

    浏览量

    56757

原文标题:GPU图像处理的基本流程

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解FPGA的图像处理技术

    基于软件的图像处理方法存在着些局限性,尤其是计算速度和算法效率方面。所以大家很自然的就想到了FPGA作为嵌入式图像应用的平台。
    的头像 发表于 05-06 01:04 7874次阅读

    有没有大佬知道NI vision 有没有办法通过gpu和cuda来加速图像处理

    有没有大佬知道NI vision 有没有办法通过gpu和cuda来加速图像处理
    发表于 10-20 09:14

    视频监控系统图像处理技术应用解析

    视频监控系统图像处理技术应用解析随着物联网和移动互联网技术的迅速发展,传统的IT架构逐渐云端化,计算资源和承载业务将进步深度整合,在物联网和云计算汇聚的潮流中,视频监控技术将发生彻底
    发表于 09-23 15:00

    GPU

    有计算均使用浮点算法,而且还没有位或整数运算指令。此外,由于GPU专为图像处理设计,因此存储系统实际上是个二维的分段存储空间,包括个区段
    发表于 01-16 08:59

    看完GPU八大应用场景,抢食千亿美元市场

    潜在的市场。应用于手机等嵌入式、移动终端等领域的GPU芯片,般体积小、耗电低、性能无需特别强大,但也支持诸多功能,不限于创建图像图像处理
    发表于 12-07 09:59

    基于GPU的数字图像并行处理研究

    GPU并行化处理 可编程图形处理器(Programmable Graphic Process Unit, PGPU)是目前计算机上普遍采用的图形图像处理专用器件,具有单指令流多数据流(
    发表于 12-01 12:23 654次阅读
     基于<b class='flag-5'>GPU</b>的数字<b class='flag-5'>图像</b>并行<b class='flag-5'>处理</b>研究

    解析PLC的应用

    解析PLC的应用,具体的跟随小编起来了解下。
    的头像 发表于 07-19 11:21 5263次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解析</b>PLC的应用

    GPU的原理渲染流程详细说明

    GPU 是每台电脑不可缺少的组件,缺少 GPU,我们的笔记本将无法正常显示图像。即便我们每天都在运用 GPU,但是大家真的了解 GPU 的原
    发表于 12-25 07:24 4次下载
    <b class='flag-5'>GPU</b>的原理渲染<b class='flag-5'>流程</b>详细说明

    GPU的原理和渲染流程详细说明

     GPU是每台电脑不可缺少的组件,缺少GPU,我们的笔记本将无法正常显示图像。即便我们每天都在运用GPU,但是大家真的了解GPU的原理吗?了
    的头像 发表于 11-28 10:39 8568次阅读

    Linux应用开发【第二章】图像处理应用开发

    文章目录 2 图像处理应用开发 2.1 BMP图像处理 2.1.1 BMP文件格式解析 2.1.2 代码实现:将BMP文件
    的头像 发表于 12-10 17:40 794次阅读
    Linux应用开发【第二章】<b class='flag-5'>图像</b><b class='flag-5'>处理</b>应用开发

    GPU图像处理的基本流程

    现代GPU提供了顶点处理器和片段处理器两个可编程并行处理部件。在利用GPU执行图像
    的头像 发表于 02-14 15:47 1024次阅读

    GPU图像处理的工作原理

    现代GPU提供了顶点处理器和片段处理器两个可编程并行处理部件。在利用GPU执行图像
    的头像 发表于 08-07 09:46 1048次阅读
    <b class='flag-5'>GPU</b><b class='flag-5'>图像</b><b class='flag-5'>处理</b>的工作原理

    解密GPU工作流程 | 从数据到图像

    在现代计算机图形领域,GPU(GraphicsProcessingUnit,图形处理器)是不可或缺的组成部分,负责加速图形渲染和计算任务。本文将简单介绍GPU工作流程,包括其从数据输入
    的头像 发表于 10-16 18:22 1346次阅读
    解密<b class='flag-5'>GPU</b>工作<b class='flag-5'>流程</b> | 从数据到<b class='flag-5'>图像</b>

    相机图像信号处理流程(ISP)介绍

    本文是图像信号处理流程个总体的介绍,以便更好理解张照片究竟是如何诞生的,实际的技术要复杂很多。
    的头像 发表于 12-09 09:51 3044次阅读
    相机<b class='flag-5'>图像</b>信号<b class='flag-5'>处理</b><b class='flag-5'>流程</b>(ISP)介绍

    ALINX FPGA+GPU异架构视频图像处理开发平台介绍

    Alinx 最新发布的新品 Z19-M 是款创新的 FPGA+GPU 异构架构视频图像处理开发平台,它结合了 AMD Zynq UltraScale+ MPSoC(FPGA)与 NV
    的头像 发表于 08-29 14:43 1201次阅读