CN110930313A - 在fpga中实现图像双边滤波的方法和装置、fpga - Google Patents
在fpga中实现图像双边滤波的方法和装置、fpga Download PDFInfo
- Publication number
- CN110930313A CN110930313A CN201811096288.1A CN201811096288A CN110930313A CN 110930313 A CN110930313 A CN 110930313A CN 201811096288 A CN201811096288 A CN 201811096288A CN 110930313 A CN110930313 A CN 110930313A
- Authority
- CN
- China
- Prior art keywords
- value
- pixel data
- weight
- domain
- determining
- 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.)
- Granted
Links
- 238000001914 filtration Methods 0.000 title claims abstract description 106
- 230000002146 bilateral effect Effects 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003384 imaging method Methods 0.000 claims abstract description 14
- 238000009499 grossing Methods 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
Images
Classifications
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/10—Image enhancement or restoration using non-spatial domain filtering
-
- 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
- G06T2207/20028—Bilateral filtering
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本申请提供了一种在FPGA中实现图像双边滤波的方法和装置、FPGA,用以解决现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题。该方法包括:在FPGA接收来自成像设备的图像数据的过程中,将接收到的一个像素数据确定为目标像素数据,确定该目标像素数据所在滤波窗口中的全部像素数据为影响像素数据;依次从存储的空域权重表中查找确定每个影响像素数据对应的空域权重值,从存储的值域权重表中查找确定每个影响像素数据对应的值域权重值;根据查找到的该目标像素数据的全部影响像素数据的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,得到滤波后的像素数据。
Description
技术领域
本发明涉及图像处理领域,特别涉及一种在现场可编程门阵列(Field-Programmable GateArray,FPGA)中实现图像双边滤波的方法和装置、FPGA。
背景技术
目前,在一些应用场景中,会对成像设备获取到的视频图像进行图像处理,得到所需要的图像数据。
这些图像处理技术中包括滤波处理。图像滤波即在尽量保留图像特征信息的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。图像滤波的方法有很多种,例如中值滤波、非线性滤波、形态学滤波等,每种滤波方法都有不同的优势和用途,具体可根据客户需求进行个性化选择。
双边滤波器(Bilateral Filter)是一种非线性滤波的方法,它同时考虑空域信息和灰度相似性,结合图像的空间邻近度和像素的灰度值相似度对图像进行滤波,可在滤除噪声的同时较好地保存图像的边缘(即细节特征)信息。较之,一般的滤波器(例如维纳滤波(Wiener filter)、高斯滤波(Gaussian filter)等)会存在较明显的边缘模糊现象,对于高频的边缘细节的保护效果不好。因此,双边滤波在对图像边缘细节要求高的应用中得到广泛应用,它综合考虑空域和值域的相关性对目标数据进行处理,是一种折中处理方法,具有简单、非迭代、局部的特点。
在图像处理的离散领域,双边滤波的定义可表示为:
其中,Ι'为双边滤波后的图像像素,I为滤波器的输入图像像素,I(i,j)为当前滤波的目标像素点的灰度值,(i,j)表示目标像素点的坐标,Ω为滤波窗口内包含的所有像素点的集合(滤波是在一定窗口区域内进行的),I(k,l)为滤波窗口Ω内的任一像素点的灰度值,(k,l)为该像素点的坐标。gs为空域上的滤波函数,fr为值域上的滤波函数。K为权重,表征空域上的邻近度和值域上的相似性。
对于图像上的任意一点I(i,j),I(k,l)为该点所在的区域窗口Ω(例如3*3、5*5或者7*7的窗口)内的任一像素点,则表征两个像素点空域邻近度的权重函数gs可采用高斯核表示:
同理,表征两个像素点值域相似度的权重函数fr:
其中σs、σr分别表示空域和值域的光滑参数,定义σs为空间度邻近度因子。其值越大,周围像素对目标像素点的影响越大,图像越模糊;反之,图像越清晰,但若其值过小,噪声的滤除效果可能会受限。
在一些应用场景中,图像成像设备获取到视频图像数据之后,通过FPGA使用双边滤波算法对视频图像数据进行处理,得到滤波后的图像数据。通常是在FPGA中实时调用IP(Intellectual Property)核对图像数据中的每个像素点进行上述公式的计算。
但是,在FPGA中使用双边滤波算法对图像数据滤波处理的过程中,会消耗大量的逻辑资源,且无法对成像设备获取到的图像数据进行实时处理,从而通常将获取到的图像数据进行缓存到本地,再进行滤波处理。
可见,在现有的FPGA上使用双边滤波算法对图像数据进行滤波处理的方法中,存在无法满足实时性要求的问题。
发明内容
有鉴于此,本申请提供了一种在FPGA中实现图像双边滤波的方法和装置、FPGA,用以解决现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题。
根据本申请的一个方面,提供了一种在FPGA中实现图像双边滤波的方法,包括:
在FPGA接收来自成像设备的图像数据的过程中,在接收到图像数据中的有效数据后,将接收到的一个像素数据确定为目标像素数据,确定该目标像素数据所在滤波窗口中的全部像素数据为影响像素数据;
依次从存储的空域权重表中查找确定每个影响像素数据对应的空域权重值,从存储的值域权重表中查找确定每个影响像素数据对应的值域权重值;
根据查找到的该目标像素数据的全部影响像素数据的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,得到滤波后的像素数据。
根据本申请的一个方面,提供了一种在FPGA中实现图像双边滤波的装置,包括:
接收单元,用于接收来自成像设备的图像数据;
查找单元,用于在接收单元接收到图像数据中的有效数据后,将接收到的一个像素数据确定为目标像素数据,确定该目标像素数据所在滤波窗口中的全部像素数据为影响像素数据;依次从存储的空域权重表中查找确定每个影响像素数据对应的空域权重值,从存储的值域权重表中查找确定每个影响像素数据对应的值域权重值;
滤波单元,用于根据查找到的该目标像素数据的全部影响像素数据的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,得到滤波后的像素数据。
根据本申请的一个方面,提供了一种FPGA,该FPGA包括上述的装置。
根据本申请实施例提供的在FPGA中实现图像双边滤波的方法,在FPGA接收到来自成像设备的图像数据的过程中,对接收到的任意一个像素数据,确定该像素数据所在滤波窗口中的全部像素数据为影响像素数据,从存储的空域权重表中查找确定每个影响像素对应的空域权重值,从存储的值域权重表中查找确定每个影响像素对应的值域权重值,根据查找到的全部影响像素的空域权重值和值域权重值,使用双边滤波器对该目标像素进行滤波,得到滤波后的像素;其中将复杂的空域权重计算和值域权重计算,由实时计算改为查表操作,查表操作的速度大大快于实时计算的速度,能够加快图像双边滤波的处理速度,提高处理的实时性,从而能够解决现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本申请实施例提供的在FPGA中实现图像双边滤波的方法的处理流程图;
图2为本发明实施例提供的在FPGA中实现图像双边滤波的方法的另一种处理流程图;
图3为滤波窗口中的位置标号示例;
图4为空域权重表的示例;
图5为值域权重表的示例;
图6为本发明实施例提供的在FPGA中实现图像双边滤波的方法的另一种处理流程图;
图7为本发明实施例提供的在FPGA中实现图像双边滤波的装置的结构示意图;
图8为本发明实施例提供的在FPGA中实现图像双边滤波的装置的另一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
针对现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题,本申请实施例提供了一种在FPGA中实现图像双边滤波的方案,用于解决该问题。在该方案中,在FPGA接收到来自成像设备的图像数据的过程中,对接收到的任意一个像素数据,确定该像素数据所在滤波窗口中的全部像素数据为影响像素数据,从存储的空域权重表中查找确定每个影响像素对应的空域权重值,从存储的值域权重表中查找确定每个影响像素对应的值域权重值,根据查找到的全部影响像素的空域权重值和值域权重值,使用双边滤波器对该目标像素进行滤波,得到滤波后的像素;其中将复杂的空域权重计算和值域权重计算,由实时计算改为查表操作,查表操作的速度大大快于实时计算的速度,能够加快图像双边滤波的处理速度,提高处理的实时性,从而能够解决现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题。
以上是本发明的核心思想,为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
本申请实施例提供了一种在FPGA中实现图像双边滤波的方法,如图1所示,该方法包括:
步骤102、在FPGA接收来自成像设备的图像数据的过程中,在接收到图像数据中的有效数据后,将接收到的一个像素数据确定为目标像素数据,确定该目标像素数据所在滤波窗口中的全部像素数据为影响像素数据;
步骤104、依次从存储的空域权重表中查找确定每个影响像素数据对应的空域权重值,从存储的值域权重表中查找确定每个影响像素数据对应的值域权重值;
步骤106、根据查找到的该目标像素数据的全部影响像素数据的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,得到滤波后的像素数据。
通过如图1所示的处理过程,对接收到的每个像素数据在滤波窗口中的全部影响像素数据进行查表操作,查找得到全部影响像素数据的空域权重值和值域权重值,并根据查找到的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,能够通过操作速度较快的查表操作来提高确定空域权重值和值域权重值的操作速度,从而能够提高在FPGA上进行图像双边滤波处理的处理速度和实时性,能够解决现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题。
在一些实施例中,如图2所示,在如图1所示的处理过程之前,可以根据如下步骤进行确定和存储空域权重表和值域权重表:
步骤100、在FPGA接收第一帧图像数据的过程中,在第一帧图像数据的消隐期,根据预设的空域光滑参数σs、值域光滑参数σr、滤波窗口Ω的半径r和灰度值数据位宽n,确定空域权重表中包括的空域权重值、和值域权重表中包括的值域权重值;
其中,空域权重表中包括M个空域权重值,一个空域权重值是目标像素数据在滤波窗口中的一个影响像素数据对目标像素数据的空域邻近权重,滤波窗口中包括M个影响像素数据,M=(2r+1)2,r为滤波窗口Ω的窗口半径;值域权重表中包括N个值域权重值,一个值域权重值是影响像素数据对目标像素数据的一种值域邻近权重,N=2n,n为灰度值数据位宽。
在一些应用场景中,空域权重表和值域权重表可以被保存为显示查找表(look-Up-Table,LUT)。
具体地,根据下列公式(3)确定一个影响像素数据的空域权重值;根据公式(4)确定一种值域权重值;
其中,gs为空域上的滤波函数,fr为值域上的滤波函数,I(i,j)为目标像素数据的灰度值,(i,j)为目标像素数据的坐标,I(k,l)为影响像素数据的灰度值,(k,l)为影响像素数据的坐标,σs为预设的空域光滑参数,σr为预设的值域光滑参数。
在具体的应用场景中,σs和σr通常为预设的参数,并且由操作人员根据具体的应用需要进行设置。
步骤101、存储确定得到的空域权重表和值域权重表。
其中,存储确定得到的空域权重表的操作,可以包括:根据滤波窗口中影响像素数据的位置,在空域权重表中存储影响像素数据对应的空域权重值。
例如,以3*3的滤波窗口Ω为例,窗口Ω的半径为r=1,当以该滤波窗口对一个目标像素数据进行滤波时,该滤波窗口中包括(2r+1)2=9个影响像素数据,可以对该滤波窗口中影响像素的位置进行标号,如图3所示;并根据滤波窗口中影响像素数据的位置,在空域权重表中存储影响像素数据对应空域权重值,如图4所示。在图3所示的滤波窗口中,位置标号为(1,1)的像素数据为目标像素数据,在滤波窗口Ω=3×3内的所有数据均为其影响像素数据,即如下图3所示的位置编号为(0,0)、(0,1)、(0,2)、(1,0)、(1,1)、(1,2)、(2,0)、(2,1)、(2,2)的像素数据。在图4所示的空域权重表中,索引为影响像素数据的位置编号,每个位置编号对应一个空域权重值,包括g1~g9。
其中,存储确定得到的值域权重表的操作,可以包括:按照0至N数值从小到大或者从大到小的顺序,在值域权重表中对应存储数值0至N对应的值域权重值;
在上述公式(4)中,在窗口Ω内变量包括平滑参数σr、目标像素点的灰度值I(i,j)和影响像素点的灰度值I(k,l),其中预设的σr不变,则变量仅包含|I(i,j)-I(k,l)|(即目标像素数据与影响像素数据的灰度值的差)。例如,对于灰度值数据的位宽为n=8bit的图像数据,I(i,j)∈[0,255],I(k,l)∈[0,255],因此|I(i,j)-I(k,l)|∈[0,255]。由于I(i,j)和I(k,l)都是图像I上某点的像素灰度值,因此取值为非负整数。此时,可将|I(i,j)-I(k,l)|作为索引,分别取值0、1、2、…、255,并将其对应的公式(4)的数值存储于LUT中,如图5所示,索引即为0~255,n0~n255分别代表|I(i,j)-I(k,l)|∈[0,255]时公式(4)的结果数值,也即值域权重值。
根据上述存储空域权重表和值域权重表的操作,相对应地,上述步骤104中从存储的空域权重表中查找确定一个影响像素数据对应的空域权重值的操作,包括:
根据影响像素数据在滤波窗口中的位置,从存储的空域权重表中查找确定与该影响像素数据的位置对应的空域权重值。
例如,如图3和图4所示,可以先确定影响像素数据在滤波窗口中的位置,并在空域权重表中查找该位置对应的空域权重值。
上述步骤104中从存储的值域权重表中查找确定一个影响像素数据对应的值域权重值的操作,包括:
确定目标像素数据的灰度值与该影响像素数据的灰度值之间的差值,根据该差值数值在值域权重表中查找确定与该差值数值对应的值域权重值。
例如,在确定了目标像素数据的灰度值和一个影响像素数据的灰度值之间的差值后,以该差值的数值为索引,在如图5所示的值域权重表中,查找到该差值数值对应的值域权重值。
通过上述处理可以查找到影响像素的空域权重值和值域权重值。
在上述步骤106中,使用双边滤波器对该目标像素数据进行滤波,包括:
根据下列公式(1)和公式(2)对目标像素数据进行滤波:
其中,Ι'为双边滤波后的图像像素数据,I为滤波器的输入图像像素数据,I(i,j)为目标像素数据的灰度值,(i,j)表示目标像素数据点的坐标,Ω为滤波窗口内包含的所有像素数据点的集合,I(k,l)为滤波窗口Ω内的一个影响像素数据,(k,l)为影响像素数据的坐标;gs为空域上的滤波函数,fr为值域上的滤波函数;K为权重。
在上述步骤104中已经查找得到gs的值和fr的值,将查找得到的值代入到上述公式(1)和(2)中,计算得到滤波后的像素数据。
以上描述了对像素数据进行双边滤波的处理。
在上述实施例中,空域光滑参数σs、值域光滑参数σr、滤波窗口半径r和灰度值数据位宽n是预设的、且固定不变的。在另一些实施例中,根据应用场景的需要,允许对空域光滑参数σs、值域光滑参数σr、滤波窗口半径r和灰度值数据位宽n中的任意一个参数进行修改和更新,则图1所示的处理需要根据更新后的参数更新空域权重表和值域权重表。
图6中示出了对空域权重表和值域权重表进行更新的处理流程,该处理在图1所示处理流程之前,包括:
步骤100’、在接收后续图像数据的过程中,在接收图像数据的帧消隐期,检测双边滤波器的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽中的任意一个参数是否有更新;
步骤101’、在确定参数没有更新的情况下,接收图像数据中的有效数据,处理进行到步骤102;
步骤102’、在确定参数有更新的情况下,根据更新后的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽,确定空域权重表中包括的空域权重值、和/或值域权重表中包括的值域权重值;存储更新后的空域权重表和/或值域权重表;并接收图像数据中的有效数据,处理进行到步骤102。
确定空域权重表中包括的空域权重值和确定值域权重表中包括的值域权重值的处理如上所述,这边不再赘述。
通过如图6所示的处理过程,能够根据更新后的参数对空域权重表和值域权重表进行更新,进一步结合图1所示的处理,能够根据更新后的空域权重表和值域权重表来对像素数据进行滤波处理。
根据本申请实施例提供的方法,在FPGA接收到来自成像设备的图像数据的过程中,对接收到的像素数据,确定该像素数据所在滤波窗口中的全部像素数据为影响像素数据,从存储的空域权重表中查找确定每个影响像素对应的空域权重值,从存储的值域权重表中查找确定每个影响像素对应的值域权重值,根据查找到的全部影响像素的空域权重值和值域权重值,使用双边滤波器对该目标像素进行滤波,得到滤波后的像素;其中将复杂的空域权重计算和值域权重计算,由实时计算改为查表操作,查表操作的速度大大快于实时计算的速度,能够加快图像双边滤波的处理速度,提高处理的实时性,从而能够解决现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题。
基于相同的发明构思,本申请实施例还提供了一种在FPGA中实现图像双边滤波的装置。
图7中示出了本申请实施例提供的在FPGA中实现图像双边滤波的装置的结构,该装置包括:
接收单元71,用于接收来自成像设备的图像数据;
查找单元72,用于在接收单元71接收到图像数据中的有效数据后,将接收到的一个像素数据确定为目标像素数据,确定该目标像素数据所在滤波窗口中的全部像素数据为影响像素数据;依次从存储的空域权重表中查找确定每个影响像素数据对应的空域权重值,从存储的值域权重表中查找确定每个影响像素数据对应的值域权重值;
滤波单元73,用于根据查找到的该目标像素数据的全部影响像素数据的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,得到滤波后的像素数据。
在一些实施例中,如图8所示,图7所示的装置还可以进一步包括确定单元70。
确定单元70,用于在接收单元接收第一帧图像数据的过程中,在第一帧图像数据的帧消隐期,根据预设的空域光滑参数σs、值域光滑参数σr、滤波窗口半径r和灰度值数据位宽n,确定空域权重表中包括的空域权重值、和值域权重表中包括的值域权重值;存储确定得到的空域权重表和值域权重表;
其中,空域权重表中包括M个空域权重值,一个空域权重值是目标像素数据在滤波窗口中的一个影响像素数据对目标像素数据的空域邻近权重,滤波窗口中包括M个影响像素数据,M=(2r+1)2,r为窗口Ω的窗口半径;值域权重表中包括N个值域权重值,一个值域权重值是一种影响像素数据对目标像素数据的值域邻近权重,N=2n,n为灰度值数据位宽。
在一些实施例中,确定单元70存储确定得到的空域权重表,包括:根据滤波窗口中影响像素数据的位置顺序,在空域权重表中存储影响像素数据对应的空域权重值;
则,查找单元72从存储的空域权重表中查找确定一个影响像素数据对应的空域权重值,包括:根据影响像素数据在滤波窗口中的位置,从存储的空域权重表中查找确定与该影响像素数据的位置对应的空域权重值。
在一些实施例中,确定单元存储确定得到的值域权重表,包括:按照0至N数值从小到大或者从大到小的顺序,在值域权重表中对应存储数值0至N对应的值域邻近权重值;
则,查找单元72从存储的值域权重表中查找确定一个影响影响像素数据对应的值域权重值,包括:确定目标像素数据的灰度值与该影响像素数据的灰度值之间的差值,根据该差值数值在值域权重表中查找确定与该差值数值对应的值域权重值。
进一步地,在一些实施例中,确定单元70还用于:在接收单元71接收后续图像数据的过程中,在接收图像数据的帧消隐期,检测双边滤波器的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽中的任意一个参数是否有更新;在确定参数没有更新的情况下,接收图像数据中的有效数据;在确定参数有更新的情况下,根据更新后的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽,确定空域权重表中包括的空域权重值、和/或值域权重表中包括的值域权重值;存储更新后的空域权重表和/或值域权重表;并接收图像数据中的有效数据。
在一些实施例中,确定单元确定空域权重表中包括的空域权重值,确定值域权重表中包括的值域权重值,包括:
其中,gs为空域上的滤波函数,fr为值域上的滤波函数,I(i,j)为目标像素数据的灰度值,(i,j)为目标像素数据的坐标,I(k,l)为影响像素数据的灰度值,(k,l)为影响像素数据的坐标,σs为空域光滑参数,σr为值域光滑参数。
在一些实施例中,滤波单元73使用双边滤波器对该目标像素数据进行滤波,包括:根据下列公式对目标像素数据进行滤波,其中,Ι'为双边滤波后的图像像素数据,I为滤波器的输入图像像素数据,I(i,j)为目标像素数据的灰度值,(i,j)表示目标像素数据点的坐标,Ω为滤波窗口内包含的所有像素数据点的集合,I(k,l)为滤波窗口Ω内的一个影响像素数据的灰度值,(k,l)为影响像素数据的坐标;gs为空域上的滤波函数,fr为值域上的滤波函数;K为权重。
在具体的应用场景中,如图7或8所示的装置可以被封装为一个IP核,通过对IP核的调用,实现如图1或图2所示的方法。
基于相同的方面构思,本申请实施例还提供了一种FPGA,在该FPGA中包括如图7或图8所示的装置。
综上,根据本申请实施例提供的技术方案,在FPGA接收到来自成像设备的图像数据的过程中,对接收到的像素数据,确定该像素数据所在滤波窗口中的全部像素数据为影响像素数据,从存储的空域权重表中查找确定每个影响像素对应的空域权重值,从存储的值域权重表中查找确定每个影响像素对应的值域权重值,根据查找到的全部影响像素的空域权重值和值域权重值,使用双边滤波器对该目标像素进行滤波,得到滤波后的像素;其中将复杂的空域权重计算和值域权重计算,由实时计算改为查表操作,查表操作的速度大大快于实时计算的速度,能够加快图像双边滤波的处理速度,提高处理的实时性,从而能够解决现有技术中在FPGA上使用双边滤波算法对图像数据进行滤波处理,无法满足实时性要求的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种在FPGA中实现图像双边滤波的方法,其特征在于,包括:
在FPGA接收来自成像设备的图像数据的过程中,在接收到图像数据中的有效数据后,将接收到的一个像素数据确定为目标像素数据,确定该目标像素数据所在滤波窗口中的全部像素数据为影响像素数据;
依次从存储的空域权重表中查找确定每个影响像素数据对应的空域权重值,从存储的值域权重表中查找确定每个影响像素数据对应的值域权重值;
根据查找到的该目标像素数据的全部影响像素数据的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,得到滤波后的像素数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
在FPGA接收第一帧图像数据的过程中,在第一帧图像数据的帧消隐期,根据预设的空域光滑参数σs、值域光滑参数σr、滤波窗口半径r和灰度值数据位宽n,确定空域权重表中包括的空域权重值、和值域权重表中包括的值域权重值;存储确定得到的空域权重表和值域权重表;
其中,空域权重表中包括M个空域权重值,一个空域权重值是目标像素数据在滤波窗口中的一个影响像素数据对目标像素数据的空域邻近权重,滤波窗口中包括M个影响像素数据,M=(2r+1)2,r为滤波窗口Ω的窗口半径;值域权重表中包括N个值域权重值,一个值域权重值是一种影响像素数据对目标像素数据的值域邻近权重,N=2n,n为灰度值数据位宽。
3.根据权利要求2所述的方法,其特征在于,存储确定得到的空域权重表,包括:
根据滤波窗口中影响像素数据的位置顺序,在空域权重表中存储影响像素数据对应的空域权重值;则,
从存储的空域权重表中查找确定一个影响像素数据对应的空域权重值,包括:
根据影响像素数据在滤波窗口中的位置,从存储的空域权重表中查找确定与该影响像素数据的位置对应的空域权重值。
4.根据权利要求2所述的方法,其特征在于,存储确定得到的值域权重表,包括:
按照0至N数值从小到大或者从大到小的顺序,在值域权重表中对应存储数值0至N对应的值域邻近权重值;则,
从存储的值域权重表中查找确定一个影响像素数据对应的值域权重值,包括:
确定目标像素数据的灰度值与该影响像素数据的灰度值之间的差值,根据该差值数值在值域权重表中查找确定与该差值数值对应的值域权重值。
5.根据权利要求2所述的方法,其特征在于,还包括:
在接收后续图像数据的过程中,在接收图像数据的帧消隐期,检测双边滤波器的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽中的任意一个参数是否有更新;
在确定参数没有更新的情况下,接收图像数据中的有效数据;
在确定参数有更新的情况下,根据更新后的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽,确定空域权重表中包括的空域权重值、和/或值域权重表中包括的值域权重值;存储更新后的空域权重表和/或值域权重表;并接收图像数据中的有效数据。
8.根据权利要求1所示的方法,其特征在于,空域权重表和值域权重表保存为显示查找表。
9.一种在FPGA中实现图像双边滤波的装置,其特征在于,包括:
接收单元,用于接收来自成像设备的图像数据;
查找单元,用于在接收单元接收到图像数据中的有效数据后,将接收到的一个像素数据确定为目标像素数据,确定该目标像素数据所在滤波窗口中的全部像素数据为影响像素数据;依次从存储的空域权重表中查找确定每个影响像素数据对应的空域权重值,从存储的值域权重表中查找确定每个影响像素数据对应的值域权重值;
滤波单元,用于根据查找到的该目标像素数据的全部影响像素数据的空域权重值和值域权重值,使用双边滤波器对该目标像素数据进行滤波,得到滤波后的像素数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
确定单元,用于在接收单元接收第一帧图像数据的过程中,在第一帧图像数据的帧消隐期,根据预设的空域光滑参数σs、值域光滑参数σr、滤波窗口半径r和灰度值数据位宽n,确定空域权重表中包括的空域权重值、和值域权重表中包括的值域权重值;存储确定得到的空域权重表和值域权重表;
其中,空域权重表中包括M个空域权重值,一个空域权重值是目标像素数据在滤波窗口中的一个影响像素数据对目标像素数据的空域邻近权重,滤波窗口中包括M个影响像素数据,M=(2r+1)2,r为滤波窗口Ω的窗口半径;值域权重表中包括N个值域权重值,一个值域权重值是一种影响像素数据对目标像素数据的值域邻近权重,N=2n,n为灰度值数据位宽。
11.根据权利要求10所述的装置,其特征在于,确定单元存储确定得到的空域权重表,包括:
根据滤波窗口中影响像素数据的位置顺序,在空域权重表中存储影响像素数据对应的空域权重值;则,
查找单元从存储的空域权重表中查找确定一个影响像素数据对应的空域权重值,包括:
根据影响像素数据在滤波窗口中的位置,从存储的空域权重表中查找确定与该影响像素数据的位置对应的空域权重值。
12.根据权利要求10所述的装置,其特征在于,确定单元存储确定得到的值域权重表,包括:
按照0至N数值从小到大或者从大到小的顺序,在值域权重表中对应存储数值0至N对应的值域邻近权重值;则,
查找单元从存储的值域权重表中查找确定一个影响像素数据对应的值域权重值,包括:
确定目标像素数据的灰度值与该影响像素数据的灰度值之间的差值,根据该差值数值在值域权重表中查找确定与该差值数值对应的值域权重值。
13.根据权利要求10所述的装置,其特征在于,确定单元还用于:
在接收单元接收后续图像数据的过程中,在接收图像数据的帧消隐期,检测双边滤波器的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽中的任意一个参数是否有更新;
在确定参数没有更新的情况下,接收图像数据中的有效数据;
在确定参数有更新的情况下,根据更新后的空域光滑参数、值域光滑参数、滤波窗口尺寸和灰度值数据位宽,确定空域权重表中包括的空域权重值、和/或值域权重表中包括的值域权重值;存储更新后的空域权重表和/或值域权重表;并接收图像数据中的有效数据。
16.一种FPGA,其特征在于,包括如权利要求9所述的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811096288.1A CN110930313B (zh) | 2018-09-19 | 2018-09-19 | 在fpga中实现图像双边滤波的方法和装置、fpga |
PCT/CN2019/077053 WO2020057062A1 (zh) | 2018-09-19 | 2019-03-05 | 在fpga中实现图像双边滤波的方法和装置、fpga |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811096288.1A CN110930313B (zh) | 2018-09-19 | 2018-09-19 | 在fpga中实现图像双边滤波的方法和装置、fpga |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110930313A true CN110930313A (zh) | 2020-03-27 |
CN110930313B CN110930313B (zh) | 2023-07-14 |
Family
ID=69855243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811096288.1A Active CN110930313B (zh) | 2018-09-19 | 2018-09-19 | 在fpga中实现图像双边滤波的方法和装置、fpga |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110930313B (zh) |
WO (1) | WO2020057062A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112435156A (zh) * | 2020-12-08 | 2021-03-02 | 烟台艾睿光电科技有限公司 | 一种基于fpga的图像处理方法、装置、设备及介质 |
CN113822827A (zh) * | 2021-09-18 | 2021-12-21 | 凌云光技术股份有限公司 | 一种基于fpga外置存储器的均值滤波方法及装置 |
CN114255179A (zh) * | 2021-12-09 | 2022-03-29 | 河北地质大学 | 地震图像噪声压制方法、装置及电子设备 |
CN114627031A (zh) * | 2022-02-10 | 2022-06-14 | 北京双翼麒电子有限公司 | 基于fpga的图像双边滤波方法和装置 |
CN116228768A (zh) * | 2023-05-09 | 2023-06-06 | 济宁众达利电气设备有限公司 | 一种电子元器件表面划痕检测方法 |
CN114627031B (zh) * | 2022-02-10 | 2024-10-22 | 北京双翼麒电子有限公司 | 基于fpga的图像双边滤波方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118038280B (zh) * | 2024-04-15 | 2024-06-14 | 山东亿昌装配式建筑科技有限公司 | 基于航拍影像的建筑施工进度监测及预警方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006056650A1 (de) * | 2006-12-11 | 2008-04-17 | Siemens Ag | Verfahren zur bilateralen Filterung digitaler Bilddaten |
CN103020914A (zh) * | 2012-12-18 | 2013-04-03 | 华侨大学 | 基于空间连续性原理的快速图像去雾方法 |
CN103116875A (zh) * | 2013-02-05 | 2013-05-22 | 浙江大学 | 自适应双边滤波图像去噪方法 |
CN107230190A (zh) * | 2017-05-23 | 2017-10-03 | 北京奇艺世纪科技有限公司 | 一种图像双边滤波方法和装置 |
CN108259707A (zh) * | 2016-12-29 | 2018-07-06 | 中国移动通信集团广东有限公司 | 视频图像实时去噪方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392423A (zh) * | 2014-11-26 | 2015-03-04 | 浙江红相科技股份有限公司 | 基于实时均衡红外图像细节增强算法 |
CN104867122B (zh) * | 2015-05-29 | 2017-08-01 | 北京理工大学 | 一种红外自适应非均匀性校正及细节增强级联处理方法 |
CN106327447B (zh) * | 2016-08-30 | 2019-05-03 | 天津天地伟业物联网技术有限公司 | 基于fpga平台的空域和像素域混合降噪方法 |
-
2018
- 2018-09-19 CN CN201811096288.1A patent/CN110930313B/zh active Active
-
2019
- 2019-03-05 WO PCT/CN2019/077053 patent/WO2020057062A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006056650A1 (de) * | 2006-12-11 | 2008-04-17 | Siemens Ag | Verfahren zur bilateralen Filterung digitaler Bilddaten |
CN103020914A (zh) * | 2012-12-18 | 2013-04-03 | 华侨大学 | 基于空间连续性原理的快速图像去雾方法 |
CN103116875A (zh) * | 2013-02-05 | 2013-05-22 | 浙江大学 | 自适应双边滤波图像去噪方法 |
CN108259707A (zh) * | 2016-12-29 | 2018-07-06 | 中国移动通信集团广东有限公司 | 视频图像实时去噪方法及装置 |
CN107230190A (zh) * | 2017-05-23 | 2017-10-03 | 北京奇艺世纪科技有限公司 | 一种图像双边滤波方法和装置 |
Non-Patent Citations (2)
Title |
---|
丛中昌等: "基于双边滤波和查表法的视频实时去噪算法研究", 《2017广东通信青年论坛优秀论文集》 * |
陈峥等: "基于FPGA的红外图像细节增强算法设计与实现", 《激光与红外》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112435156A (zh) * | 2020-12-08 | 2021-03-02 | 烟台艾睿光电科技有限公司 | 一种基于fpga的图像处理方法、装置、设备及介质 |
WO2022121077A1 (zh) * | 2020-12-08 | 2022-06-16 | 烟台艾睿光电科技有限公司 | 一种基于fpga的图像处理方法、装置、设备及介质 |
CN112435156B (zh) * | 2020-12-08 | 2022-12-09 | 烟台艾睿光电科技有限公司 | 一种基于fpga的图像处理方法、装置、设备及介质 |
CN113822827A (zh) * | 2021-09-18 | 2021-12-21 | 凌云光技术股份有限公司 | 一种基于fpga外置存储器的均值滤波方法及装置 |
CN113822827B (zh) * | 2021-09-18 | 2024-03-22 | 凌云光技术股份有限公司 | 一种基于fpga外置存储器的均值滤波方法及装置 |
CN114255179A (zh) * | 2021-12-09 | 2022-03-29 | 河北地质大学 | 地震图像噪声压制方法、装置及电子设备 |
CN114627031A (zh) * | 2022-02-10 | 2022-06-14 | 北京双翼麒电子有限公司 | 基于fpga的图像双边滤波方法和装置 |
CN114627031B (zh) * | 2022-02-10 | 2024-10-22 | 北京双翼麒电子有限公司 | 基于fpga的图像双边滤波方法和装置 |
CN116228768A (zh) * | 2023-05-09 | 2023-06-06 | 济宁众达利电气设备有限公司 | 一种电子元器件表面划痕检测方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020057062A1 (zh) | 2020-03-26 |
CN110930313B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110930313A (zh) | 在fpga中实现图像双边滤波的方法和装置、fpga | |
Agrawal et al. | A novel joint histogram equalization based image contrast enhancement | |
CN110705583B (zh) | 细胞检测模型训练方法、装置、计算机设备及存储介质 | |
Wang et al. | Iterative non-local means filter for salt and pepper noise removal | |
CN109743473A (zh) | 视频图像3d降噪方法、计算机装置及计算机可读存储介质 | |
US20170109873A1 (en) | Image enhancement using self-examples and external examples | |
US20190266703A1 (en) | Image preprocessing method and device for jpeg compressed file | |
WO2022016326A1 (zh) | 图像处理方法、电子设备和计算机可读介质 | |
CN113592776A (zh) | 图像处理方法及装置、电子设备、存储介质 | |
Gu et al. | A Low‐Light Image Enhancement Method Based on Image Degradation Model and Pure Pixel Ratio Prior | |
CN114119439A (zh) | 红外与可见光图像融合方法、装置、设备及存储介质 | |
Banić et al. | Puma: A high-quality retinex-based tone mapping operator | |
Das et al. | A comparative study of single image fog removal methods | |
CN113888438A (zh) | 图像处理方法、装置及存储介质 | |
CN110517201B (zh) | 循环保边平滑滤波的方法、装置和电子设备 | |
CN114202491B (zh) | 一种增强光学图像的方法及系统 | |
CN111882565A (zh) | 一种图像二值化方法、装置、设备及存储介质 | |
Pandey et al. | A fast and effective vision enhancement method for single foggy image | |
CN112801890B (zh) | 一种视频处理方法、装置及设备 | |
Sung et al. | Depth edge detection using edge-preserving filter and morphological operations | |
CN107945137A (zh) | 人脸检测方法、电子设备及存储介质 | |
CN111311610A (zh) | 图像分割的方法及终端设备 | |
Kansal et al. | Weighted image de-fogging using luminance dark prior | |
CN113793277B (zh) | 一种图像去噪方法、装置和设备 | |
Jasper et al. | Natural image enhancement using a biogeography based optimization enhanced with blended migration operator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200326 Address after: 101300, No. two, 1 road, Shunyi Park, Zhongguancun science and Technology Park, Beijing, Shunyi District Applicant after: BEIJING TUSEN ZHITU TECHNOLOGY Co.,Ltd. Address before: 101300, No. two, 1 road, Shunyi Park, Zhongguancun science and Technology Park, Beijing, Shunyi District Applicant before: BEIJING TUSEN WEILAI TECHNOLOGY Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |