CN109523473A - 图像处理方法、装置、存储介质和电子装置 - Google Patents
图像处理方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN109523473A CN109523473A CN201811204054.4A CN201811204054A CN109523473A CN 109523473 A CN109523473 A CN 109523473A CN 201811204054 A CN201811204054 A CN 201811204054A CN 109523473 A CN109523473 A CN 109523473A
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- mean value
- processing
- original image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 132
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000015654 memory Effects 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 14
- 238000005096 rolling process Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 41
- 238000001914 filtration Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000009877 rendering Methods 0.000 description 7
- 238000012805 post-processing Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 235000013399 edible fruits Nutrition 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005574 cross-species transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种图像处理方法、装置、存储介质和电子装置。该方法包括:获取对待处理的原始图像;基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。通过本发明,达到了提高对图像进行处理的速度的效果。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种图像处理方法、装置、存储介质和电子装置。
背景技术
目前,在对图像进行处理时,可以对图像进行泛光(Bloom)处理。在对图像进行泛光处理时,通常是对图像进行一次高斯模糊,比如,对图像直接采用高斯函数进行滤波处理。
在屏幕分辨率为1080P的情况下,当通过高斯滤波对图像进行全屏运算时,运算量比较大,比如,一台普通的I7机器通过高斯滤波对图像进行全屏运算,需要10分钟左右才能运算完,从而导致对图像进行处理的速度比较慢,而且对图像进行处理的效果并不理想。
针对现有技术中对图像进行处理的速度低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种图像处理方法、装置、存储介质和电子装置,以至少解决对图像进行处理的速度低的技术问题。
为了实现上述目的,根据本发明的一个方面,提供了一种图像处理方法。该方法包括:获取待处理的原始图像;基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。
可选地,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像包括:基于三次均值模糊滤波或九次均值模糊滤波,对原始图像的像素进行泛光处理,得到目标图像。
可选地,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像包括:基于均值模糊滤波分别对原始图像的第一横向像素和原始图像的第一纵向像素进行泛光处理,得到目标图像。
可选地,基于均值模糊滤波对原始图像的第一纵向像素进行泛光处理包括:将第一纵向像素切换为目标图像的第二横向像素;基于均值模糊滤波对第二横向像素进行泛光处理。
可选地,将第一纵向像素切换为目标图像的第二横向像素包括:将原始图像的像素在内存中的存储位置旋转目标角度,以使第一纵向像素切换为目标图像的第二横向像素。
可选地,在基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像之前,该方法还包括:按照目标线程数将原始图像划分为目标数量的子目标图像,其中,目标线程数为处理器支持的多个线程的数量;基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像包括:通过与每个子目标图像对应的线程,基于均值模糊滤波对每个子目标图像进行泛光处理,得到目标图像。
为了实现上述目的,根据本发明的另一方面,还提供了一种图像处理装置。该装置包括:获取单元,用于获取待处理的原始图像;处理单元,用于基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。
可选地,处理单元包括:处理模量,用于基于三次均值模糊滤波或九次均值模糊滤波,对原始图像的像素进行泛光处理,得到目标图像。
为了实现上述目的,根据本发明的另一方面,还提供了一种存储介质。该存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行本发明实施例的图像处理的方法。
为了实现上述目的,根据本发明的另一方面,还提供了一种电子装置。该电子装置包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行本发明实施例中的图像处理方法。
通过本发明,获取待处理的原始图像;基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。由于基于均值模糊滤波对原始图像的像素进行泛光处理,避免了由于直接采用高斯公式对图像进行滤波导致处理的运算量过大,达到了对原始图像进行后处理的目的,解决了对图像进行处理的速度低的技术问题,进而达到了提高对图像进行处理的速度的技术效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种图像处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种图像处理方法的流程图;
图3是根据本发明实施例的一种滤波曲线的示意图;
图4是根据本发明实施例的一种CPU的缓存架构的示意图;
图5是根据本发明实施例的一种通过高斯滤波对图像进行处理的曲线的示意图;
图6是根据本发明实施例的一种对图像进行处理的场景的示意图;以及
图7是根据本发明实施例的一种图像处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种图像处理方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至移动终端20。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的一种图像处理方法,图2是根据本发明实施例的一种图像处理方法的流程图。如图2所示,该方法包括如下步骤:
步骤S202,获取待处理的原始图像。
在本发明上述步骤S202提供的技术方案中,目标场景可以为渲染流水线中的场景,比如,为游戏场景,原始图像可以为对目标场景进行渲染得到的一张图片,也即,为原场景图。可选地,渲染器对三维的目标场景进行渲染,得到原始图像,该原始图像为由渲染器对三维的目标场景进行渲染得到的一张效果图,可以由图片帧数据组成,更符合三维场景。其中,渲染器是三维引擎的核心部分,是高级全局照明渲染的插件,用于实现将三维物体绘制到屏幕上。
在对目标场景进行渲染,得到原始图像之后,获取该原始图像。
步骤S204,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。
在本发明上述步骤S204提供的技术方案中,在获取待处理的原始图像之后,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。
在该实施例中,在对目标场景进行渲染,得到原始图像之后,可以快速地添加可动态修改的后处理(Post Effect)效果。该实施例的后处理,为渲染流水线中的最后阶段,处理的对象是由目标场景生成的上述原始图像。可选地,该实施例在渲染器上动态添加后处理功能,包括对原始图像的像素进行泛光处理,可以根据原始图像快速地调整泛光处理的参数,减少对图像进行处理的流程的切换,从而在不阻塞用户操作的情况下,可以快速得到处理结果以向用户展示与处理结果对应的预览效果。
该实施例的均值模糊滤波(Box Blur)可以计算图像中目标像素周围的临近像素(像素半径为R)的平均值,作为输出像素的结果,可以基于滑动窗口快速地对图像进行模糊处理,压制了对图像进行处理过程中的高频信号并保留低频信号,实现了对图像上的每个像素实现低频滤波,使得整体效果就是一张模糊的图像,显示更少的细节信息。另外,均值模糊滤波还可以做累加器,也即,可以利用前面累加的结果完成后续的运算,这相比于卷积模糊处理,运算量小,处理速度快,从而可以更有效地完成对图像进行模糊处理。
可选地,该实施例在采用均值模糊滤波来拟合高斯滤波的效果时,d=floor(σ*3*sqrt(2*π)/4+0.5),其中,d≥0用于确定均值模糊滤波的半径,σ是高斯函数的标准差,floor用于表示向下取整运算,sqrt用于表示开平方运算。
可选地,该实施例在基于均值模糊滤波对原始图像的像素进行泛光处理时,可以设置一个需要对原始图像进行泛光处理的像素的亮度阈值,在第一遍处理时,需要对原始图像中的像素进行筛选,所有小于亮度阈值的像素都被筛掉,所有大于等于上述亮度阈值的像素留下来,可以得到一张只包含需要泛光部分的贴图,而其余部分是黑色的,对需要泛光的部分进行上述均值模糊滤波处理,得到具有光溢出效果的图像,最后将具有光溢出效果的图像和原始图像进行叠加,得到最终的目标图像。可选地,该实施例通过对原始图像进行泛光处理,可以将原始图像的光照范围调高以达到过饱和,也即,让原始图像亮的地方更亮。
可选地,该实施例在用渲染器对目标场景进行渲染完成之后,对缓冲区中的数据即时做泛光处理的后处理操作,可以通过调整泛光强度(Bloom Intensity)来进行泛光处理。
需要说明的是,由于高斯滤波需要做e的指数级运算导致对图像进行处理的运算量大,而该实施例可以通过均值模糊滤波来拟合高斯滤波的效果,均值模糊滤波只需要将像素相加求平均,并且还可以利用已经累加得到的结果进行计算,因而,基于均值模糊滤波对原始图像的像素进行泛光处理简单、且可以避免直接采用高斯公式对图像进行滤波导致的运算量大的问题,使得性能消耗小,提升了对图像进行滤波的速度以及泛光处理的效果。比如,1080P的分辨率在普通的I7机子上只需2秒就可以完成整个图像的计算。
上述步骤S202至步骤S204,为基于图像滤波的泛光处理算法,可以基于中央处理器(Central Processing Unit/Processor,简称为CPU)实现快速全屏Bloom。通过获取待处理的原始图像;基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。由于基于均值模糊滤波对原始图像的像素进行泛光处理,避免了由于直接采用高斯公式对图像进行滤波导致处理的运算量过大,达到了对原始图像进行后处理的目的,解决了对图像进行处理的速度低的技术问题,进而达到了提高对图像进行处理的速度的技术效果。
作为一种可选的实施方式,步骤S204,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像包括:基于三次均值模糊滤波或九次均值模糊滤波,对原始图像的像素进行泛光处理,得到目标图像。
在该实施例中,基于均值模糊滤波对原始图像的像素进行泛光处理,对原始图像进行模糊的程度取决于在横轴方向上的像素半径、在纵轴方向上的像素半径和迭代次数。其中,在像素半径相同的情况下,迭代次数越多,输出的图像越模糊,在迭代次数相同的情况下,像素半径越大,输出的图像就越模糊,对图像的拉伸效果也就越显著。
该实施例可以基于三次均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像,其中,三次均值模糊滤波也即迭代三次均值模糊滤波。可选地,d=floor(σ*3*sqrt(2*π)/4+0.5),其中,d≥0用于确定均值模糊滤波的半径,σ是高斯函数的标准差,floor用于表示向下取整运算,sqrt用于表示开平方运算。如果d是奇数,则三次均值模糊滤波的半径都是d;如果d是偶数,则前两次均值模糊滤波的半径是d,第三次的均值模糊滤波的半径是d+1。在迭代第三次均值模糊滤波的时候,均值模糊滤波的曲线可以和高斯模糊滤波的曲线基本重合,从而实现采用三次均值模糊滤波来拟合高斯滤波的效果。
作为另一种示例,该实施例基于九次均值模糊滤波,对原始图像的像素进行泛光处理,以提高对图像进行泛光处理的表现效果,其中,九次均值模糊滤波也即迭代九次均值模糊滤波,九次(3*3=9)均值模糊滤波相当于三次高斯模糊滤波的效果。
可选地,该实施例的均值模糊滤波的次数还可以为A=log2(高斯模糊半径)次,可以根据需进行泛光处理的图像的大小来进行确定。
作为一种可选的实施方式,步骤S204,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像包括:基于均值模糊滤波分别对原始图像的第一横向像素和原始图像的第一纵向像素进行泛光处理,得到目标图像,其中,第一横向像素中的多个像素在内存中连续存储,第一纵向像素中每相邻的两个像素相差内存存储的一行像素,原始图像包括一行像素。
在该实施例中,原始图像的像素在内存中的排布位置可以是在目标坐标系中,从左上角第一个位置开始,以横向方向排布,一行排布之后,再排布第二行,从上到下,直至排布到右下角的最后一个位置。该原始图像的像素包括第一横向像素和第一纵向像素,第一横向像素可以包括位于目标坐标系下处于横向方向的多个像素,第一纵向像素可以包括位于目标坐标系下处于纵向方向的多个像素。其中,第一横向像素中的多个像素在内存中是连续存储的,第一纵向像素中每相邻的两个像素相差内存存储的一行像素。
在该实施例中,在对原始图像的第一横向像素进行访问的时候,由于内存连续,使得CPU的缓存(Cache)的命中率增高,在纵向访问像素的时候,内存会偏移一整行的像素对应的内存数据。
该实施例可以基于三次均值模糊滤波对原始图像的第一横向像素进行泛光处理,包括对原始图像的横向方向的像素进行三次均值模糊滤波;基于三次均值滤波对原始图像的第一纵向像素进行泛光处理,包括对原始图像的纵向方向的像素进行三次均值滤波,进而得到目标图片。需要说明的是,该实施例基于三次均值模糊滤波对原始图像的第一横向像素进行泛光处理,基于三次均值滤波对原始图像的第一纵向像素进行泛光处理没有先后顺序要求,由于基于均值模糊滤波对原始图像的第一横向像素和第一纵向像素进行泛光处理,避免了由于直接采用高斯公式对图像进行滤波导致处理的运算量过大,达到了提高对图像进行处理的速度的效果。
作为一种可选的实施方式,步骤S204,基于均值模糊滤波对原始图像的第一纵向像素进行泛光处理包括:将第一纵向像素切换为目标图像的第二横向像素,其中,第二横向像素中的多个像素在内存中连续存储;基于均值模糊滤波对第二横向像素进行泛光处理。
在该实施例中,在CPU执行程序代码片段逻辑的时候,会获取一小片内存加入到CPU Cache里面。在内存连续的情况下,数据访问是最快的,从而可以加大CPU Cache数据内存的命中率。因而,在对原始图像的第一横向像素进行访问的时候,由于内存连续,使得CPUCache的命中率增高,但是在纵向访问像素的时候,内存会偏移一整行的像素对应的内存数据,比如,对于一张1024×1024的图片,在访问第一纵向像素时,会偏移1024*4*4byte=16384Byte的数据,由于CPU Cache的Cache Line大小是64Byte,16384Byte已经大于64Byte,这时候CPU缓存已经无法放下16384Byte的数据,这样会直接导致CPU的命中率下降,其中,Cache Line为CPU Cache的最小缓存单位。
因而,该实施例在基于均值模糊滤波对原始图像的第一纵向像素进行泛光处理时,将第一纵向像素切换为目标图像的第二横向像素,比如,将原始图像的像素在内存中的存储位置旋转90°,这样纵向访问像素就会转为横向访问像素,使得第二横向像素中的多个像素在内存中连续存储,那么CPU的命中率会相对提高两个等级,做均值模糊滤波的速度也会更快,进而基于均值模糊滤波对第二横向像素进行泛光处理,可以基于三次均值模糊滤波对第二横向像素进行泛光处理,从而避免了由于直接采用高斯公式对图像进行滤波导致处理的运算量过大,达到了提高对图像进行处理的速度的效果。
作为一种可选的实施方式,将第一纵向像素切换为目标图像的第二横向像素包括:将原始图像的像素在内存中的存储位置旋转目标角度,以使第一纵向像素切换为目标图像的第二横向像素。
在该实施例中,在将第一纵向像素切换为目标图像的第二横向像素时,可以将原始图像的像素在内存中的存储位置旋转目标角度,该目标角度可以为使得第一纵向像素切换为目标图像的第二横向像素的角度,比如,为90度、450度,使得在访问第二横向像素时,访问速度最快,且提高了CPU Cache数据内存的命中率,进而提高了对图像进行处理的效率。
作为一种可选的实施方式,在步骤S204,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像之前,该方法还包括:按照目标线程数将原始图像划分为目标数量的子目标图像,其中,目标线程数为处理器支持的多个线程的数量;步骤S204,基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像包括:通过与每个子目标图像对应的线程,基于均值模糊滤波对每个子目标图像进行泛光处理,得到目标图像。
在该实施例中,可以在对图像进行处理的整体计算中引入多线程机制,将整个原始图像进行分块处理,按照目标线程数将原始图像划分为目标数量的子目标图像,目标线程数为处理器支持的多个线程的数量,不同处理器支持的多个线程的数量可以不同,该处理器可以为CPU。可选地,在确定子目标图像的目标数量时,可以向上取整对目标线程数进行开方得到的结果,再对向上取整得到的结果进行平方,最后将平方后的结果确定为目标数量。
举例而言,对于4线程的CPU,目标线程数为4,可以向上取整对4进行开方得到的结果2,再对向上取整得到的结果2进行平方,最后将平方后的结果4确定为目标数量,也即,可以将原始图像分成4块;对于8线程的CPU,目标线程数为8,可以向上取整对8进行开方得到的结果2.828,再对向上取整得到的结果3进行平方,最后将平方后的结果9确定为目标数量,也即,可以将原始图像分成9块;对于16线程的CPU,目标线程数为16,可以向上取整对16进行开方得到的结果4,再对向上取整得到的结果4进行平方,最后将平方后的结果16确定为目标数量,也即,可以将原始图像分成16块。
在按照目标线程数将原始图像划分为目标数量的子目标图像之后,通过与每个子目标图像对应的线程,基于均值模糊滤波对每个子目标图像进行泛光处理,得到目标图像。可选地,在目标线程数与目标数量一致的情况下,由每一个线程处理对应的一个子目标图像,在目标线程数与目标数量不一致的情况下,比如,在目标线程数小于目标数量的情况下,由最先处理完一个子目标图像的线程,处理还未处理的子目标图像。
在该实施例中,每个子目标图像由单独的一个线程执行泛光处理,由于不会对原始图像进行修改,所以多线程完全不用加锁,保证了处理速度最大化,在1080P分辨率下的原始图像做泛光处理,可以在2秒内完成,进而可以快速达到交互的效果。
在该实施例中,如果基于高斯滤波对原始图像进行泛光处理得到的曲线效果不符合要求,则可以采用递归滤波(Recursive Filter)去拟合更好的泛光曲线,可以做log(2为底)(高斯模糊半径)次对应的高斯模糊结果相加,比如,一张1024×512的图像,选择512为高斯模糊半径,然后将半径为512在A=log2(高斯模糊半径)中对应的高斯模糊结果进行叠加,半径可以通过一直除以2得到,直到小于或者等于2为止,从而能达到更符合人眼的泛光处理效果。
在相关技术中,通常是对图像进行一次高斯模糊,高斯滤波需要做e的指数级运算,运算量比较大,而且对图像进行处理的效果并不理想。而该实施例可以在渲染器上动态添加入一些后处理功能,针对基于图像滤波对泛光处理算法进行了改进,可以基于三次均值模糊滤波去拟合高斯函数,这样只要将目标像素的周围像素相加平均就可以作为输出的像素,还可以利用已经累加的结果进行后续运算,从而降低了运算量;另外,该实施例还针对CPU的Cache缓存机制,将均值模糊滤波分为横向滤波和纵向滤波,从而增加Cache的命中率,加快算法速度;进一步地,实施例为了提升泛光处理效果,还可以采用九次均值模糊滤波去加强整体的泛光处理的表现效果,并且引入了多线程机制,从而提升了对图像进行滤波的速度以及对图像进行泛光处理的效果。
实施例2
下面结合优选的实施方式对本发明的技术方案进行说明,具体以原始图像为图片进行举例说明。
该实施例为计算机图形学的一种图像处理算法,基于图像滤波的泛光处理算法进行改进,可以用在当渲染完一张效果图后,快速地添加可动态修改的后处理效果,可以根据当前图像快速调整泛光,以减少流程上的切换,从而提升滤波的速度和泛光处理的表现效果。
在该实施例中,如果直接采用高斯公式滤波会导致运算量过大,该实施例采用三次均值模糊滤波来拟合高斯滤波的效果。
可选地,d=floor(σ*3*sqrt(2*π)/4+0.5),其中,d用于确定均值模糊滤波的半径,σ用于表示高斯函数的标准差,floor用于表示向下取整运算,sqrt用于表示开平方运算。
可选地,如果上述d是奇数,则三次均值模糊滤波的半径都是d;如果d是偶数,则前两次均值模糊滤波的半径是d,第三次的半径是d+1。
图3是根据本发明实施例的一种滤波曲线的示意图。如图3所示,实线用于表示均值滤波的曲线,虚线用于表示高斯滤波曲线,横坐标用于表示滤波直径,纵坐标用于表示权值。在每次迭代均值模糊滤波时,均值模糊滤波的曲线越来越靠近高斯滤波的曲线,在迭代第三次均值模糊滤波的时候,均值模糊滤波的曲线基本和高斯模糊滤波的曲线重合了,实现了采用三次均值模糊滤波来拟合高斯滤波的效果。
在该实施例中,对需要进行泛光处理的图片中的每个像素采用横向均值模糊滤波和纵向均值模糊滤波。为了更符合CPU的Cache机制,该实施例在进行纵向均值模糊滤波时,可以将图片旋转90度,以将图片中的纵向数据变成横向数据再开始计算,从而使得对图像进行处理的速度更快。
下面对该实施例的缓存架构进行介绍。
图4是根据本发明实施例的一种CPU的缓存架构的示意图。如图4所示,桌面级CPU可以是多级缓存架构,为了加快数据的访问速度,访问速度L1缓存>L2缓存>L3缓存,L1缓存包括L1i缓存和L1d缓存。
在该实施例中,当CPU执行程序代码片段逻辑的时候,会获取一小片内存加入到CPU的Cache缓存里面。比如,以Intel Core i7 6700K为例,i7 6700K的L1缓存大小为64KB,L2缓存是256KB,L3是8MB,为了加大CPU Cache数据内存的命中率,在访问数据时,在内存连续的情况下,访问速度是最快的。一张图片的像素在内存的排布可以是在目标坐标系中,从左上角第一个位置开始,以横向方向排布,一行排布之后,再排布第二行,从上到下,直至排布到右下角的最后一个位置。因而,该实施例在对图片进行横向像素访问时,内存是连续,可以使得CPU Cache的命中率增高。但是,在纵向访问像素的时候,内存会偏移一整行的像素内存数据,比如,对于一张1024×1024的图像,在访问纵向数据时,会偏移1024*4*4byte=16384Byte的数据,由于CPU Cache的Cache Line大小是64Byte,16384Byte已经大于64Byte了,这时图4所示的L1和L2缓存已经无法放下16384Byte的数据,直接会导致CPU命中率下降,其中,Cache Line为CPU Cache的最小缓存单位。
因而,该实施例在进行纵向滤波模糊操作的时候,可以将图片旋转90度,这样在进行纵向访问时,就会直接转为横向访问,访问的数据在内存先后是连续的,可以使得CPUCache的命中率增高,CPU的命中率会相对提高两个等级,进而使得做滤波模糊的速度也会更快。
图5是根据本发明实施例的一种通过高斯滤波对图像进行处理的曲线的示意图。如图5所示,横坐标用于表示周围像素的距离,纵坐标用于表示权重,高斯函数的标准差σ=0.4。在对基于高斯滤波对图片进行泛光处理得到的曲线效果不满意时,可以采用Recursive Filter去拟合更好的泛光曲线,可以做A=log2(高斯模糊半径)次对应的高斯模糊结果相加,比如,一张1024×512的图像,选择512为高斯模糊半径,然后将半径为512在A=log2(高斯模糊半径)中对应的高斯模糊结果进行叠加,半径可以通过一直除以2得到,直到小于或者等于2为止,从而能达到更符合人眼的泛光处理效果。
该实施例可以将整个图片进行分块,引入多线程机制。可选地,在进行图像处理分块时,可以根据用户CPU的线程数进行分块,可以通过用户CPU线程数开方向上取整再平方确定分块数,比如,4线程的CPU可以分成4块,8线程的CPU可以分成9块,16线程的CPU可以分成16块。每个块都由一个线程单独执行,因为不会对原图进行修改,因而多线程完全不用加锁,速度最大化。在1080P分辨率下的图像做泛光处理可以在2秒内完成,从而可以达到快速交互的效果。
图6是根据本发明实施例的一种对图像进行处理的场景的示意图。如图6所示,在用渲染器MAX或者MAYA渲染获取到渲染的缓冲区的时候,对缓冲区的数据即时做后处理,这里是做Bloom的操作。通过调整Bloom Intensity数值做Bloom操作。其中,滤波的半径可以是渲染分辨率长宽最大值的一半,从而实现全屏操作。
需要说明的是,图6所示界面仅用于示意基于均值模糊滤波对图像进行泛光处理后的图像的场景,并不代表实际的处理效果。通过对原始图像进行泛光处理,可以将原始图像的光照范围调高以达到过饱和,也即,让原始图像亮的地方更亮。
需要说明的是,上述对图像进行处理的场景仅为本发明实施例的一种示例,并不限于上述场景的显示效果,任何基于均值模糊滤波的泛光处理算法,实现快速全屏Bloom的显示效果,均值本发明实施例的范围之内,此处不再一一举例说明。
该实施例的渲染器在渲染完一个场景得到图片帧数据的时候,可以动态添加后处理效果,根据当前图片快速调整泛光参数,以减少流程上的切换,在不阻塞用户操作的情况下,可以快速得到结果以向用户预览,比如,1080P的分辨率在普通的I7机子上可以实现在2秒内完成整个图像的计算。
在相关技术中,通常是对图像进行一次高斯模糊,高斯滤波需要做e的指数级运算,运算量比较大,而且对图像进行处理的效果并不理想。而该实施例在渲染器上动态添加入一些后处理功能,针对基于图像滤波对泛光处理算法进行了改进,可以基于三次均值模糊滤波去拟合高斯函数,这样只要将目标像素的周围像素相加平均就可以作为输出的像素,还可以利用已经累加的结果进行后续运算,从而降低了运算量,另外,该实施例还针对CPU的Cache缓存机制,将均值模糊滤波分为横向滤波和纵向滤波,从而增加Cache的命中率,加快算法速度;进一步地,实施例为了提升泛光处理效果,还可以采用九次均值模糊滤波去加强整体的泛光处理的表现效果,并且引入了多线程机制,从而提升了对图像进行滤波的速度以及泛光处理的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例3
本发明实施例还提供了一种图像处理装置。需要说明的是,该实施例的图像处理装置可以用于执行本发明实施例的图像处理装置。
图7是根据本发明实施例的一种图像处理装置的示意图。如图7所示,该图像处理装置700包括:获取单元10和处理单元20。
获取单元10,用于获取待处理的原始图像。
处理单元20,用于基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。
可选地,处理单元20包括:第一处理模块,用于基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像包括:基于三次均值模糊滤波或九次均值模糊滤波,对原始图像的像素进行泛光处理,得到目标图像。
可选地,处理单元20包括:第二处理模块,用于基于均值模糊滤波分别对原始图像的第一横向像素和原始图像的第一纵向像素进行泛光处理,得到目标图像,其中,第一横向像素中的多个像素在内存中连续存储,第一纵向像素中每相邻的两个像素相差内存存储的一行像素,原始图像包括一行像素。
可选地,处理单元20包括:切换模块,用于将第一纵向像素切换为目标图像的第二横向像素,其中,第二横向像素中的多个像素在内存中连续存储;第三处理模块,用于基于均值模糊滤波对第二横向像素进行泛光处理。
可选地,切换模块包括:旋转子模块,用于将原始图像的像素在内存中的存储位置旋转目标角度,以使第一纵向像素切换为目标图像的第二横向像素。
可选地,该装置还包括:划分单元,用于在基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像之前,按照目标线程数将原始图像划分为目标数量的子目标图像,其中,目标线程数为处理器支持的多个线程的数量;处理单元20包括:第四处理模块,用于通过与每个子目标图像对应的线程,基于均值模糊滤波对每个子目标图像进行泛光处理,得到目标图像。
该实施例通过获取单元10获取待处理的原始图像,通过处理单元20基于均值模糊滤波对原始图像的像素进行泛光处理,得到目标图像。由于基于均值模糊滤波对原始图像的像素进行泛光处理,避免了由于直接采用高斯公式对图像进行滤波导致处理的运算量过大,达到了对原始图像进行后处理的目的,解决了对图像进行处理的速度低的技术问题,进而达到了提高对图像进行处理的速度的技术效果。
实施例4
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例5
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
获取待处理的原始图像;
基于均值模糊滤波对所述原始图像的像素进行泛光处理,得到目标图像。
2.根据权利要求1所述的方法,其特征在于,基于均值模糊滤波对所述原始图像的像素进行泛光处理,得到所述目标图像包括:
基于三次均值模糊滤波或九次均值模糊滤波,对所述原始图像的像素进行泛光处理,得到所述目标图像。
3.根据权利要求1所述的方法,其特征在于,基于均值模糊滤波对所述原始图像的像素进行泛光处理,得到所述目标图像包括:
基于均值模糊滤波分别对所述原始图像的第一横向像素和所述原始图像的第一纵向像素进行泛光处理,得到所述目标图像。
4.根据权利要求3所述的方法,其特征在于,基于均值模糊滤波对所述原始图像的所述第一纵向像素进行泛光处理包括:
将所述第一纵向像素切换为所述目标图像的第二横向像素;
基于均值模糊滤波对所述第二横向像素进行泛光处理。
5.根据权利要求4所述的方法,其特征在于,将所述第一纵向像素切换为所述目标图像的所述第二横向像素包括:
将所述原始图像的像素在内存中的存储位置旋转目标角度,以使所述第一纵向像素切换为所述目标图像的第二横向像素。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,
在基于均值模糊滤波对所述原始图像的像素进行泛光处理,得到所述目标图像之前,所述方法还包括:按照目标线程数将所述原始图像划分为目标数量的子目标图像,其中,所述目标线程数为处理器支持的多个线程的数量;
基于均值模糊滤波对所述原始图像的像素进行泛光处理,得到所述目标图像包括:通过与每个所述子目标图像对应的线程,基于均值模糊滤波对每个所述子目标图像进行泛光处理,得到所述目标图像。
7.一种图像处理装置,其特征在于,包括:
获取单元,用于获取待处理的原始图像;
处理单元,用于基于均值模糊滤波对所述原始图像的像素进行泛光处理,得到目标图像。
8.根据权利要求7所述的装置,其特征在于,所述处理单元包括:
处理模量,用于基于三次均值模糊滤波或九次均值模糊滤波,对所述原始图像的像素进行泛光处理,得到所述目标图像。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811204054.4A CN109523473A (zh) | 2018-10-16 | 2018-10-16 | 图像处理方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811204054.4A CN109523473A (zh) | 2018-10-16 | 2018-10-16 | 图像处理方法、装置、存储介质和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109523473A true CN109523473A (zh) | 2019-03-26 |
Family
ID=65770888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811204054.4A Pending CN109523473A (zh) | 2018-10-16 | 2018-10-16 | 图像处理方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109523473A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402384A (zh) * | 2020-03-25 | 2020-07-10 | 北京字节跳动网络技术有限公司 | 图像生成方法、装置、电子设备及计算机可读存储介质 |
CN112700377A (zh) * | 2019-10-23 | 2021-04-23 | 华为技术有限公司 | 图像泛光处理方法及装置、存储介质 |
WO2022252080A1 (en) * | 2021-05-31 | 2022-12-08 | Huawei Technologies Co.,Ltd. | Apparatus and method for generating a bloom effect |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489051A (zh) * | 2008-01-17 | 2009-07-22 | 佳能株式会社 | 图像处理设备和图像处理方法以及摄像设备 |
CN102033832A (zh) * | 2010-12-02 | 2011-04-27 | 杭州国芯科技股份有限公司 | 一种同步动态存储器访存控制方法 |
CN103037187A (zh) * | 2011-09-29 | 2013-04-10 | 吴小平 | 一种旋转投影机拼接装置及同步多播放器信源 |
CN106355545A (zh) * | 2015-07-16 | 2017-01-25 | 浙江大华技术股份有限公司 | 一种数字图像几何变换的处理方法及装置 |
CN106570827A (zh) * | 2016-08-31 | 2017-04-19 | 天津大学 | 利用存储空间地址变换进行图像旋转的方法及装置 |
CN108320283A (zh) * | 2018-02-01 | 2018-07-24 | 研靖信息科技(上海)有限公司 | 一种确定图像最优配色阈值范围的方法与设备 |
CN108573480A (zh) * | 2018-04-20 | 2018-09-25 | 太平洋未来科技(深圳)有限公司 | 基于图像处理的环境光补偿方法、装置及电子设备 |
CN108596828A (zh) * | 2018-04-18 | 2018-09-28 | 网易(杭州)网络有限公司 | 图像泛光处理方法与装置、电子设备、存储介质 |
-
2018
- 2018-10-16 CN CN201811204054.4A patent/CN109523473A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101489051A (zh) * | 2008-01-17 | 2009-07-22 | 佳能株式会社 | 图像处理设备和图像处理方法以及摄像设备 |
CN102033832A (zh) * | 2010-12-02 | 2011-04-27 | 杭州国芯科技股份有限公司 | 一种同步动态存储器访存控制方法 |
CN103037187A (zh) * | 2011-09-29 | 2013-04-10 | 吴小平 | 一种旋转投影机拼接装置及同步多播放器信源 |
CN106355545A (zh) * | 2015-07-16 | 2017-01-25 | 浙江大华技术股份有限公司 | 一种数字图像几何变换的处理方法及装置 |
CN106570827A (zh) * | 2016-08-31 | 2017-04-19 | 天津大学 | 利用存储空间地址变换进行图像旋转的方法及装置 |
CN108320283A (zh) * | 2018-02-01 | 2018-07-24 | 研靖信息科技(上海)有限公司 | 一种确定图像最优配色阈值范围的方法与设备 |
CN108596828A (zh) * | 2018-04-18 | 2018-09-28 | 网易(杭州)网络有限公司 | 图像泛光处理方法与装置、电子设备、存储介质 |
CN108573480A (zh) * | 2018-04-20 | 2018-09-25 | 太平洋未来科技(深圳)有限公司 | 基于图像处理的环境光补偿方法、装置及电子设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112700377A (zh) * | 2019-10-23 | 2021-04-23 | 华为技术有限公司 | 图像泛光处理方法及装置、存储介质 |
CN111402384A (zh) * | 2020-03-25 | 2020-07-10 | 北京字节跳动网络技术有限公司 | 图像生成方法、装置、电子设备及计算机可读存储介质 |
WO2022252080A1 (en) * | 2021-05-31 | 2022-12-08 | Huawei Technologies Co.,Ltd. | Apparatus and method for generating a bloom effect |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109523473A (zh) | 图像处理方法、装置、存储介质和电子装置 | |
CN109102483A (zh) | 图像增强模型训练方法、装置、电子设备及可读存储介质 | |
CN110874812A (zh) | 游戏中的场景图像绘制方法、装置及电子终端 | |
CN106921829A (zh) | 一种拍照方法和装置及拍照设备 | |
CN110163813A (zh) | 一种图像去雨方法、装置、可读存储介质及终端设备 | |
US10943389B2 (en) | Removing or identifying overlapping fragments after z-culling | |
CN109740721A (zh) | 麦穗计数方法及装置 | |
CN110866872B (zh) | 一种路面裂缝图片预处理智能选择方法、装置及电子设备 | |
US9613405B2 (en) | Scalable massive parallelization of overlapping patch aggregation | |
CN108335260A (zh) | 一种游戏场景图像处理方法、装置、存储介质及电子装置 | |
CN110378305A (zh) | 茶叶病害识别方法、设备、存储介质及装置 | |
CN111683192B (zh) | 图像处理方法及相关产品 | |
CN108198211A (zh) | 眼底图像的处理方法及装置、存储介质、处理器 | |
CN108604302A (zh) | 用于计算机视觉的自适应双边(bl)滤波 | |
CN109886892A (zh) | 图像处理方法、图像处理装置以及存储介质 | |
CN109564684A (zh) | 图像语义分割方法、可编程逻辑电路、***及电子设备 | |
CN109698946A (zh) | 投影设备自动对焦方法、投影设备及计算机可读存储介质 | |
CN108377372B (zh) | 一种白平衡处理方法、装置、终端设备和存储介质 | |
CN112422842B (zh) | 一种自适应曝光方法、介质及终端 | |
CN105893578B (zh) | 一种照片选择的方法及装置 | |
CN112837350A (zh) | 目标运动对象识别方法、装置、电子设备及存储介质 | |
CN107113377A (zh) | 图像处理装置、图像处理方法、图像处理程序以及存储介质 | |
CN110400312A (zh) | 确定图像模糊类型的方法、装置和服务器 | |
CN109658360A (zh) | 图像处理的方法、装置、电子设备和计算机存储介质 | |
CN109325920A (zh) | 雾霾图像清晰化方法、***及可存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190326 |