【技术实现步骤摘要】
数据处理方法、装置、图形处理器、设备和存储介质
[0001]本公开涉及计算机视觉处理技术,涉及但不限于一种数据处理方法、装置、图形处理器(Graphics Processing Unit,GPU)、电子设备和计算机存储介质。
技术介绍
[0002]目前,中值滤波是图像处理领域一种常用的基于统计的非线性滤波方式,中值滤波的实现方式为:以中心像素邻域范围内所有像素值排序数列的中值替换原像素,中值滤波被广泛用于针对高斯和椒盐等噪音的图像降噪任务。
[0003]在相关技术中,可以采用桶排序方法对中心像素邻域范围内所有像素值进行排序,从而确定中心像素邻域范围内所有像素值排序数列的中值;在像素值的数据类型为0
‑
255之间的无符号整型(unsigned char)的情况下,桶排序方法可以有效地实现像素值排序;在像素值的数据类型为除0
‑
255之间的无符号整型外的其它类型的情况下,例如,在像素值的数据类型为浮点类型或大于255的整型数据的情况下,由于难以确定桶的划分方式和数目,因此,桶排序方法不支持这些类型数据的使用。
技术实现思路
[0004]本公开实施例提供了数据处理方法、装置、图形处理器、电子设备和计算机存储介质。
[0005]本公开实施例提供了一种数据处理方法,应用于GPU中,所述方法包括:
[0006]在所述GPU的第一存储器存储的像素值中,确定待计算邻域中值的像素值的集合;确定所述像素值的集合中每个像素值的第i邻域像素值;在i等于1的情况下,所 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于图形处理器GPU中,所述方法包括:在所述GPU的第一存储器存储的像素值中,确定待计算邻域中值的像素值的集合;确定所述像素值的集合中每个像素值的第i邻域像素值;在i等于1的情况下,所述第i邻域像素值表示所述每个像素值的邻域范围内的最大像素值,在i大于1的情况下,所述第i邻域像素值表示所述邻域范围内小于所述第i
‑
1邻域像素值的最大像素值;响应于所述第1邻域像素值至所述第i邻域像素值的数量之和大于或等于中值序号,将所述第i邻域像素值确定为所述每个像素值的邻域中值;所述中值序号表示所述邻域范围内的像素值数量与一之和的一半。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述GPU的统一计算设备架构CUDA线程块的参数,对确定所述第i邻域像素值、以及确定所述邻域中值的指令进行向量化,得到所述CUDA线程块的各线程执行的第一向量化指令。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在i大于2,且确定所述每个像素值的第i邻域像素值的情况下,删除所述第i
‑
2邻域像素值。4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一存储器为共享存储器;相应地,在确定所述待计算邻域中值的像素值的集合之前,所述方法还包括:读取第一图像的各像素点的像素值,所述第一图像为待进行中值滤波处理的图像;按照所述第一图像中各像素点的空间位置关系,确定所述各像素点的像素值在所述共享存储器中的存储位置;按照所述各像素点的像素值在所述共享存储器中的存储位置,将所述各像素点的像素值存储至所述共享存储器中。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:根据所述GPU的CUDA线程块的参数,对读取所述第一图像的各像素点的像素值、确定所述各像素点的像素值在所述共享存储器中的存储位置、以及将所述各像素点的像素值存储至所述共享存储器中的指令进行向量化,得到所述CUDA线程块的各线程执行的第二向量化指令。6.根据权利要求4或5所述的方法,其特征在于,所述按照所述各像素点的像素值在所述共享存储器中的存储位置,将所述各像素点的像素值存储至所述共享存储器中,包括:按照所述各像素点的像素值在所述共享存储器中的存储位置,将所述各像素点的像素值以二维数组的形式存储至所述共享存储器中;所述在所述第一存储器存储的像素值中,确定待计算邻域中值的像素值的集合,包括:将所述二维数组划分为中间区域和边界区域,在同一方向上所述中间区域的边界至所述二维数组的边界的距离均大于或等于所述每个像素值的邻域半径;在所述共享存储器存储的二维数组中,将所述中间区域中的像素值确定为所述待计算邻域中值的像素值的集合。7.根据权利要求1至6任一项所述的方法,其特征在于,在确定所述每个像素值的邻域中值后,所述方法还包括:按照所述像素值的集合中各像素值在所述第一存储器中的存储位置关系,确定所述各
像素值的邻...
【专利技术属性】
技术研发人员:菅立恒,
申请(专利权)人:上海商汤科技开发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。