论文部分内容阅读
图像分割是计算机视觉领域中一个重要的图像技术,是对图像进行分析、识别和理解的基础,无论在理论研究还是实际应用中都得到了人们的广泛重视。然而,现有的图像分割算法较多采用的是串行处理的方式,具有迭代次数多、运算效率低等缺陷,很难满足实际工程的需求。因此,本文主要研究内容就是使用数据的并行处理来提升图像分割算法的效率。近年来,GPU由于其强大的通用并行计算能力而备受关注,经常被应用于图像处理的研究中。与此同时,NVIDIA公司统一并行计算架构CUDA,这种架构是基于GPU的。在CUDA的平台上可直接用C、C++等编程语言进行程序开发,并且可以直接对GPU的硬件资源进行访问,充分发挥显卡的大规模并行计算能力,为开发者开发可平滑扩展的并行程序提供便利的条件。上述因素促使我们考虑在CUDA架构上实现对图像分割算法的并行化。本文的主要工作包括以下几点:首先,对本文研究基础和相关技术进行了介绍。归纳总结了现有的图像分割技术,对现有图像分割技术的优势和缺陷进行了分析,指出了亟待解决的问题和改进的方向。介绍了基于CUDA平台的GPU高性能运算技术,对CUDA的软硬件结构和编程模型进行了详细的说明。其次,针对图像分割串行算法的问题,提出了一种适用于CUDA架构的图像分割并行算法。该算法主要是根据现有的区域生长算法进行改进,利用分而治之的思想,采用块内迭代和块间合并相结合的方式减少迭代次数,将原来的串行算法进行并行化改造。另外,结合CUDA的特点和优势,提出了若干优化策略,以使该并行算法适用于CUDA架构,并达到更好的执行效率和效果。最后,介绍了图像分割并行算法在CUDA上的具体实现。对算法流程、程序结构和主要模块的设计进行了详细的说明。以图表的形式展示了实验数据和实验结果,并对实验结果进行了详细的分析和总结。实验结果证明,与OpenCV实现的cvBlob算法相比,本文提出的图像分割算法具有较高的效率。