一种图像形态学滤波方法_4

文档序号:9788126阅读:来源:国知局
(可读写)。如果每个子图像的尺寸大小一致, 则直接将目标数据存储空间设置为与每个子图像大小一致即可,而如果每个子图像的尺寸 大小不尽一致,则需要将尺寸最大的子图像对应的尺寸设置为目标数据存储空间所需的尺 寸,以避免无法满足全部子图像的尺寸的情况发生。其中,尺寸最大的子图像是指不小于其 他子图像的尺寸的子图像,由此,当具有多个同样尺寸的子图像,且该多个同样尺寸的子图 像大于其他子图像时,直接将目标数据存储空间的尺寸设置为与该多个同样尺寸的子图像 具有的尺寸一致即可。此时,对于上述实施例中kernel内核程序的参数的设置,也可以包括 目标数据存储空间及源数据存储空间的地址等。
[0084] 在源数据存储空间存储的子图像被使用完成,目标数据存储空间存储的运算结果 被CPU调取后,可以将其进行销毁,以避免对于下一次的滤波运算造成不良影响。并且,在完 成对于全部子图像的滤波运算后,可以刷新显示滤波处理完成后的三维图像。
[0085] 简单来说,由CPU负责原始图像及结构元素的分解、循环控制、启动kernel内核程 序及存取中间临时数据等串行过程,而GHJ负责实现并行滤波运算,从而通过CPU和GPU协作 的方式达到本发明所能达到的以下有益效果:合理发挥GPU内大量处理单元的运算能力,实 现滤波处理的并行加速功能,同时不需要降低计算复杂度,更不会影响滤波效果;基于 OpenCL,开发简捷,核心程序改动很小,具有平台无关性;针对较大的三维图像,提出了分解 原始图像及结构元素的方法,以CPU和GPU串、并行协同工作的方式实现两层循环结构,达到 时间和空间的平衡;并且,该方法的加速效果主要由GPU的性能决定,可以随着技术发展通 过更换GHJ实现性能的提升,无需其他改动,升级成本低,代价小。
[0086]另外,为检验加速效果,以1024X1024 X 100的三维图像分别进行OpenCL加速前后 的测试,硬件平台为CPU E5-2603(1.8G,四核)、内存8G、GPU Tesla K20c(2496个流处理器, 显存5G),实验证明,加速前一次(即现有技术)3领域膨胀处理所耗时间为12567ms,加速后 (即本发明实施例提供的一种图像形态学处理方法)3领域膨胀处理所耗时间为1965ms,加 速比为6.4。可见,本发明实施例提供的一种图像形态学处理方法具有较快的处理速度。
[0087]对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这 些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可 以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限 制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的 范围。
【主权项】
1. 一种图像形态学滤波方法,其特征在于,包括: 获取图像信息及形态学处理信息,其中,所述图像信息包括原始图像及该原始图像的 图像尺寸,所述形态学处理信息包括滤波运算类型及与该滤波运算类型对应的结构元素; 依据所述图像尺寸、所述结构元素及图像处理器的内存对所述原始图像进行分解,得 到多个子图像; 利用所述图像处理器对所述多个子图像依次进行与所述滤波运算类型对应的基于所 述结构元素实现的滤波运算,其中,所述图像处理器在处理任一子图像时,利用所述图像处 理器的多个处理单元对该子图像包含的全部像素点同时进行滤波运算。2. 根据权利要求1所述的方法,其特征在于,依据所述图像尺寸、所述结构元素及图像 处理器的内存对所述原始图像进行分解,得到多个子图像,包括: 依据所述图像尺寸、所述结构元素及图像处理器的内存对所述原始图像进行分解,得 到多个子图像;其中,每个子图像的子图像尺寸之和等于所述图像尺寸,依据任一子图像的 子图像尺寸及所述结构元素进行计算得到的对该子图像进行滤波运算所需内存小于所述 图像处理器的内存。3. 根据权利要求1所述的方法,其特征在于,获取所述图像信息及形态学处理信息之 后,还包括: 依据所述图像尺寸、所述结构元素及所述图像处理器的内存对所述结构元素进行分 解,得到多个子结构元素; 利用所述图像处理器对所述多个子图像依次进行与所述滤波运算类型对应的基于所 述结构元素实现的滤波运算,包括: 步骤A:确定所述多个子结构元素中的任意一个子结构元素为当前结构元素,并确定所 述子图像为当前子图像; 步骤B:基于当前结构元素,利用所述图像处理器对所述多个当前子图像依次进行与所 述滤波运算类型对应的滤波运算,并确定得到的子图像为当前子图像; 步骤C:判断所述多个子结构元素中是否存在未被用于滤波运算的子结构元素,如果 是,则确定未被用于滤波运算的子结构元素中的任意一个子结构元素为当前结构元素,返 回执行步骤B;如果否,则停止操作。4. 根据权利要求1所述的方法,其特征在于,所述图像处理器中的任一处理单元进行与 所述滤波运算类型对应的滤波运算,包括: 获取全局工作项ID; 依据所述全局工作项ID访问全局内存的源数据存储空间,并获取所述源数据存储空间 中存储的子图像的相应位置上的像素点,将该像素点及所述结构元素的结构元素窗口内的 数据复制到工作项私有内存; 利用所述工作项私有内存中存储的像素点及对应结构元素窗口内的数据对该像素点 进行与所述滤波运算类型对应的滤波运算,并将运算所得结果返回至全局内存中与所述全 局工作项ID对应的目标数据存储空间中。5. 根据权利要求4所述的方法,其特征在于,依据所述全局工作项ID访问全局内存中的 源数据存储空间,包括: 依据所述全局工作项ID访问全局内存中的源数据存储空间,其中,所述源数据存储空 间为每次获取子图像时创建的,所述源数据存储空间的尺寸为所述结构元素窗口滑动覆盖 当前获取的子图像后所得的尺寸。6. 根据权利要求5所述的方法,其特征在于,将运算所得结果返回至全局内存中与所述 全局工作项ID对应的目标数据存储空间中,包括: 将运算所得结果返回至全局内存中与所述全局工作项ID对应的目标数据存储空间中, 其中,所述目标数据存储空间为预先创建的,所述目标数据存储空间的尺寸为所述多个子 图像中尺寸最大的子图像对应的尺寸。7. 根据权利要求1所述的方法,其特征在于,所述图像处理器为图形处理器GPU,利用所 述图像处理器对所述多个子图像依次进行与所述滤波运算类型对应的基于所述结构元素 实现的滤波运算,包括: 设置所述GPU对应的kerne 1内核程序的参数,并启动执行该kerne 1内核程序,以调度所 述GPU中的多个处理单元依次对所述多个子图像进行滤波运算。8. 根据权利要求1至7任一项所述的方法,其特征在于,该方法基于开放运算语言 OpenCL 实现。
【专利摘要】本发明公开了一种图像形态学滤波方法,包括:获取图像信息及形态学处理信息,其中,所述图像信息包括原始图像及该原始图像的图像尺寸,所述形态学处理信息包括滤波运算类型及与该滤波运算类型对应的结构元素;依据所述图像尺寸、所述结构元素及图像处理器的内存对所述原始图像进行分解,得到多个子图像;利用所述图像处理器对所述多个子图像依次进行与所述滤波运算类型对应的基于所述结构元素实现的滤波运算,其中,所述图像处理器在处理任一子图像时,利用所述图像处理器的多个处理单元对该子图像包含的全部像素点同时进行滤波运算。本申请公开的上述技术方案相对于现有技术来说,大大加快了处理速度,保证了处理实时性。
【IPC分类】G06T5/00
【公开号】CN105551002
【申请号】CN201510953779
【发明人】王璟瑞, 邹永宁, 高锐, 邱焓
【申请人】重庆大学, 重庆真测科技股份有限公司
【公开日】2016年5月4日
【申请日】2015年12月17日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1