【技术实现步骤摘要】
本专利技术涉及数字信号处理及异构计算
,涉及一种分片双边滤波方法,具体涉及一种基于OpenCL的GPU加速分片双边滤波方法,可用于高分辨率数字图像的实时空间域滤波。
技术介绍
高分辨率数字图像能够提供丰富的场景细节信息,因而成为当今医学影像、遥感遥测以及多媒体通信等应用领域的迫切需求。然而数字图像在其形成和传输的过程中很容易受到噪声的污染,这种带有噪声的数字图像不利于对图像进行分析,如何有效的滤除噪声并最大限度地保留原始图像的信息是数字图像处理领域的重要研究课题之一。在高斯滤波、中值滤波、均值滤波和双边滤波这些传统的滤波方法,其中高斯滤波、中值滤波和均值滤波都能够有效去除图像中的噪声,但这些方法不能保护图像的边缘信息,双边滤波方法在考虑了距离权值的基础上又增加了亮度权值,双边滤波方法能够有效去除噪声且对图像的边缘信息进行了一定程度的保护。Shimodaira H.在IEEE International Conference on Image Processing.2013:868–871上发表了“Patch-based bilateral filter:Algorithms and performance”的论文,文中提出了一种分片双边滤波算法,与传统双边滤波方法相比,在计算值域高斯模板时是通过度量待滤波像素邻域块与搜索窗内其它像素邻域块的结构相似度获取亮度权值,这种方法能够有效去除噪声并很好的保护了图像的边缘信息。但是,该算法计算复杂度较高,无法应用在高分辨率图像的实时处理任务中。此外,现有分片双边滤波方法只能运行在单一架构CPU上,不能在异构架 ...
【技术保护点】
一种基于OpenCL的GPU加速分片双边滤波方法,其特征在于包括以下步骤:(1)、在主机端通过通用CPU,选择异构计算平台和其对应的计算设备,在该异构计算平台上创建上下文,并在该上下文中创建命令队列,得到异构架构;(2)、输入原始图像,主机端读取该原始图像数据到主机内存中,同时为处理后的图像数据分配主机内存;(3)、主机端利用高斯函数生成空域高斯模板,并将该模板存储在主机内存中;(4)、主机端在步骤(1)得到的上下文中创建多个缓存对象,分别用于设备端存储原始图像、处理后图像和空域高斯模板,通过所述命令队列将原始图像和空域高斯模板写入对应的缓存对象;(5)、利用OpenCL标准,对分片双边滤波算法进行并行化编程,将并行化后的分片双边滤波算法写成内核函数;(6)、在主机端将原始图像的宽度和高度、空域高斯模板半径和多个缓存对象设置为内核函数的参数;(7)、在主机端设置内核函数入列所需的维度数、每个维度上的工作项数和每个工作组处理的工作项数;(8)、主机端根据步骤(7)设置的参数,入列内核函数;(9)、设备端根据主机端生成的空域高斯模板确定搜索窗大小,搜索窗内的基于结构相似度进行计算的亮度权值 ...
【技术特征摘要】
1.一种基于OpenCL的GPU加速分片双边滤波方法,其特征在于包括以下步骤:(1)、在主机端通过通用CPU,选择异构计算平台和其对应的计算设备,在该异构计算平台上创建上下文,并在该上下文中创建命令队列,得到异构架构;(2)、输入原始图像,主机端读取该原始图像数据到主机内存中,同时为处理后的图像数据分配主机内存;(3)、主机端利用高斯函数生成空域高斯模板,并将该模板存储在主机内存中;(4)、主机端在步骤(1)得到的上下文中创建多个缓存对象,分别用于设备端存储原始图像、处理后图像和空域高斯模板,通过所述命令队列将原始图像和空域高斯模板写入对应的缓存对象;(5)、利用OpenCL标准,对分片双边滤波算法进行并行化编程,将并行化后的分片双边滤波算法写成内核函数;(6)、在主机端将原始图像的宽度和高度、空域高斯模板半径和多个缓存对象设置为内核函数的参数;(7)、在主机端设置内核函数入列所需的维度数、每个维度上的工作项数和每个工作组处理的工作项数;(8)、主机端根据步骤(7)设置的参数,入列内核函数;(9)、设备端根据主机端生成的空域高斯模板确定搜索窗大小,搜索窗内的基于结构相似度进行计算的亮度权值作为值域高斯模板;(10)、设备端将原始图像对应的缓存对象中的数据、空域高斯模板和值域高斯模板进行归一化加权平均计算,得到处理后的图像数据,并将该图像数据写入其对应的缓存对象;(11)、主机端读取处理后图像对应的缓存对象,得到处理后的图像数据,并将该图像数据写到主机内存。2.根据权利要求1所述的基于OpenCL的GPU加速分片双边滤波方法,其特征...
【专利技术属性】
技术研发人员:赖睿,李吉昌,杨银堂,秦翰林,周慧鑫,王炳健,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。