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

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

3天内不再提示

GPU图像处理的基本流程

新机器视觉 来源:CSDN-林炳文Evankaka 2023-02-14 15:47 次阅读

现代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 个输入纹理;

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

设置变换矩阵;

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

输出图像数据;

64cbbf8e-aaa1-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红

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

    关注

    68

    文章

    19245

    浏览量

    229596
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4723

    浏览量

    128872
  • 图像处理
    +关注

    关注

    27

    文章

    1288

    浏览量

    56709
  • 编程
    +关注

    关注

    88

    文章

    3609

    浏览量

    93680
  • 数据加载
    +关注

    关注

    0

    文章

    6

    浏览量

    6284

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

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA设计经验之图像处理

    FPGA所能进行的实时流水线运算和DSP,GPU等进行的图像处理运算有何不同。DSP,GPU,CPU对图像
    发表于 06-12 16:26

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

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

    GPU

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

    基于GPU/CPU的流程序多粒度划分与调度

    并实现了面向GPU/CPU混合架构的数据流程序任务划分方法和多粒度调度策略,包括任务的分类处理GPU端任务的水平分裂和CPU端离散任务的均衡化,构造了软件流水调度,经过编译优化生成O
    发表于 11-23 14:29 0次下载

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

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

    基于GPU加速的医学图像配准技术

    针对目前医学图像配准技术无法满足临床实时性需求问题,对基于图形处理器( GPU)加速的医学图像配准技术进行综述探讨。首先对GPU通用计算进行
    发表于 01-03 11:08 1次下载
    基于<b class='flag-5'>GPU</b>加速的医学<b class='flag-5'>图像</b>配准技术

    GPU原理 GPU渲染流程

    GPU渲染流水线,是硬件真正体现渲染概念的操作过程,也是最终将图元画到2D屏幕上的阶段。GPU管线涵盖了渲染流程的几何阶段和光栅化阶段,但对开发者而言,只有对顶点和片段着色器有可编程控制权,其他一律不可编程。
    发表于 04-27 11:33 9481次阅读
    <b class='flag-5'>GPU</b>原理 <b class='flag-5'>GPU</b>渲染<b class='flag-5'>流程</b>

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

    现代GPU提供了顶点处理器和片段处理器两个可编程并行处理部件。在利用GPU执行图像
    的头像 发表于 01-01 08:58 5871次阅读
    一文解析<b class='flag-5'>GPU</b><b class='flag-5'>图像</b><b class='flag-5'>处理</b>的基本<b class='flag-5'>流程</b>

    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 8504次阅读

    GPU图像处理的工作原理

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

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

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

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

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

    图像边缘检测系统的设计流程

    图像边缘检测系统的设计流程是一个涉及多个步骤的复杂过程,它旨在从图像中提取出重要的结构信息,如边界、轮廓等。这些边缘信息对于图像分析、机器视觉、图像
    的头像 发表于 07-17 16:39 339次阅读

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

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