论文部分内容阅读
数字图像处理技术作为自动化、信息化的一个重要手段广泛应用于各行各业的工作环节中。随着所要处理的图像幅度的增大,像元的密集,对于数字图像处理所需的时间复杂度的要求也越来越高,传统的基于CPU的数字图像处理算法已经难以满足实时性的要求。这对于数字图像处理速度的研究提出了很大的挑战。一般而言,图形处理器(GPU)大部分情况下是用于进行图形渲染计算任务的处理,这势必会造成大量计算资源的浪费。近年来,由于GPU的可编程性能得到很大提高,人们将研究热点专注于GPU通用计算技术。GPU通用计算编程模式一般采用CPU+GPU的异构模式,CPU和GPU在分工上各有不同。CPU是用于执行复杂的逻辑计算,GPU用于执行密集的大量数据的并行计算。GPU的出现为数字图像处理提供了一种新型的廉价高效的并行计算平台。本文首先介绍了GPU的发展历程、GPU与CPU的对比、GPU的体系架构的相关内容。接着论述了将GPU作为数据并行计算设备的CUDA并行开发平台,其中包括CUDA的概述、CUDA的编程模型、CUDA的软硬件体系以及CUDA的存储器模型。基于以上对于GPU的通用计算开发环境与流程的内容,本文利用GPU进行了数字图像处理算法的优化设计,包括对于数字图像滤波的优化,对于联合相关变换器像移测量的优化、对于星图配准算法的优化。本文首先对以上三种数字图像处理算法的基于CPU的传统串行算法进行分析,将算法中可以进行并行优化的部分提取出来进行基于GPU的并行结构设计。利用VisualStudio2010、OpenCV2.3.1、CUDA4.2的综合平台进行以上算法的并行开发与实验。最终实验结果显示,利用GPU对以上算法的并行优化可以带来算法速度上的提升。本文最后还介绍了利用Matlab调用CUDA运算进行算法优化的实现方法。由于Matlab具有简便易操作的特点,利用已经编写完成的CUDA核函数,通过Matlab的相关调用接口函数,可以更加方便的利用GPU的加速优势来进行数字图像的处理。