一种基于双向扫描的视差图生成方法及电路设计技术

技术编号:15022326 阅读:151 留言:0更新日期:2017-04-05 00:07
本发明专利技术涉及一种基于双向扫描的视差图生成方法及电路设计,它包括:步骤1,图像分块:把图像分成若干小块,对每个小块分别进行处理;步骤2,双向扫描计算视差值:在每个小块内,分别从正向和反向进行双向扫描,计算每个像素点的视差值,并存储下来;双向扫描过程中,遇到视差值大于阈值的点,则记为视差值可靠点;找到视差值可靠点后,后续的扫描按照视差修正规则,对像素的视差值进行修正;对视差被修正的像素点做标记;步骤3,合并视差值:双向扫描结束后,把正向与反向扫描得到的视差值进行合并,并输出合并的结果。本发明专利技术能够在计算过程中对视差值进行修正,得到比直接计算更准确的视差值;同时适用于芯片设计并使其达到很快的处理速度。

【技术实现步骤摘要】

本专利技术属于图像处理
,特别是涉及一种基于双向扫描的视差图生成方法及电路设计。技术背景为了计算物体的深度信息,需要计算物体的视差图,通常的计算方法是计算目标图像1的像素点与目标图像2中视差移动范围内各个像素点的相关值,得到多个相关值,从中选取最大的相关值,得到该像素的视差值。但该方法直接计算的视差值,在某些情况下会引入较大的误差,为后续的处理带来很大困难。为获得更精确的视差图,陆续提出了一些算法,但都限于软件的方法,很难在硬件上实现。通常视差图有如下特性:其一,对于图像中一个连续的物体,其视差值的变化也体现出连续性。设有三个依次相邻的像素点A,B,C处于同一物体内,若A的视差值为60,则B的视差值往往在59到61之间;若B的视差值为59,则与B相邻的C的取值往往在58到60之间。其二,对于一副图像,若当扫描到一个相关值较大的像素点,可以认为此像素点的视差值可靠,即误差较小。其三,对于图像中一个连续的物体,每个像素的相关值具有非跳变性。即每个像素视差范围内的最大相关值,不会有非常大的跳变。因此对于两个非阴影像素,若它们相关值的差小于一个设定的阈值,则可认为这两个像素在一个物体内。利用视差图的特性,当在扫描计算视差图的过程中,遇到一个相关值大于阈值的点,可以认为此点的视差值可靠,记为视差值可靠点。以视差值可靠点为起始点,利用视差值在物体内的连续性,在接下来的搜索中,对于与视差值可靠点在同一物体内的像素点,只计算小范围的几个相关值,并在这几个相关值中选取最大值,从而获得视差值。当扫描超出该物体的范围时,无法继续使用在小范围内选取相关值的计算方式,必须恢复计算多个相关值的方式,直至找到下一个视差值可靠点。相关值较大的像素点,往往处于物体的内部,一次扫描往往会使一部分像素点错过被修正计算,因此同时做一次反向扫描,最后合并两次扫描的结果。双向扫描可以保证物体内绝大多数的点被修正,但对于形状比较奇特的一些物体,会有少部分像素点无法修正,深度图的后续处理算法可以对此做很好的处理。
技术实现思路
本专利技术的目的是为克服现有技术所存在的不足而提供一种基于双向扫描的视差图生成方法及电路设计,本专利技术在提高视差图精度的同时能够在芯片或可编程逻辑器件(FPGA)中实现并获得较高的处理速度,以较高精度的视差图来降低后续深度信息处理的难度,以利于获得更好效果的深度图。根据本专利技术一种基于双向扫描的视差图生成方法,包括如下基本步骤:步骤1,图像分块:把图像分成若干小块,对每个小块分别进行处理;步骤2,双向扫描计算视差值:在每个小块内,分别从正向和反向进行双向扫描,计算每个像素点的视差值,并存储下来;双向扫描过程中,遇到视差值大于阈值的点,则记为视差值可靠点;找到视差值可靠点后,后续的扫描按照视差修正规则,对像素的视差值进行修正;对视差被修正的像素点做修正标记;步骤3,合并视差值:双向扫描结束后,把正向与反向扫描得到的视差值进行合并,并输出合并的结果。本专利技术提出的一种基于双向扫描的视差图生成方法的进一步优选方案是:步骤1所述把图像分成若干小块是指,把图像分成若干个大小相同、互相连接又互不重叠的小块,每次处理一个小块。步骤2所述分别从正向和反向进行扫描,是指:正向扫描从该小块第一行的第一个像素点开始,扫描至第一行的最后一个像素点;再从第二行的最后一个像素点开始,扫描至第二行的第一个像素点,以此类推,每扫描完一行,扫描方向切换;第三行再从第一个像素扫描至最后一个像素,第四行从最后一个像素扫描至第一个像素,直至扫描完最后一行;反向扫描从该小块最后一行开始,仍然是每扫描完一行切换一次扫描方向,每一行的扫描方向都与正向扫描相反;若小块共奇数行,则从最后一行的最后一个像素开始扫描,扫描至最后一行的第一个像素;若小块为偶数行,则从最后一行的第一个像素开始扫描,扫描至最后一行的最后一个像素,再从倒数第二行的最后一个像素扫描至该行第一个像素;以此类推,直至扫描完第一行。步骤2所述计算每个像素点的视差值是指计算目标图像1的像素点与目标图像2中视差移动范围内各个像素点的相关值,得到多个相关值,从中选取最大的相关值,该最大相关值对应的位移即为该像素的视差值。步骤2所述视差修正规则是指利用物体内视差值的连续性,从视差值可靠点出发,对后续扫描中发现的与视差值可靠点属于同一物体内的点进行视差值修正。步骤2所述对后续像素的视差值计算进行修正是指,在计算像素视差值的过程中,只从小范围的几个相关值中选取最大值作为最终的视差值;所述小范围的几个相关值是指在计算视差值过程中,需要计算多个相关值,从这些相关值中选取的几个相关值为小范围相关值。步骤3所述把正向与反向扫描得到的视差值进行合并,包括对于相同位置的像素点,选取有修正标记的视差值;如果正向与反向扫描的结果都没有修正标记或者都有修正标记,则选取正向扫描的结果。根据本专利技术提出的一种基于双向扫描的视差图生成的电路设计,其特征在于,包括:电路1,数据组织模块:目标图像1与目标图像2切出小块数据后送入数据组织模块;数据组织模块分别按照双向扫描电路的需求,把目标图像1与目标图像2的数据分别送入正向扫描电路与反向扫描电路;电路2,正向扫描电路:从该小块第一行的第一个像素点开始,扫描至第一行的最后一个像素点;再从第二行的最后一个像素点开始,扫描至第二行的第一个像素点,以此类推,每扫描完一行,扫描方向切换,直至扫描完最后一行;每扫描一个像素,就计算该像素的视差值;若视差值计算过程中,受到了修正,则给出修正标记;视差值的计算结果与修正标记输出至视差值存储模块;电路3,反向扫描电路:从该小块最后一行开始扫描,每一行的扫描方向都与正向扫描相反;反向扫描电路的功能和结构与正向扫描电路完全相同,只是输入数据的顺序不同;电路4,结果合并电路:扫描结束后,对视差值的结果进行合并,最后输出;合并过程中,对于相同位置的像素点,选取有修正标记的视差值,如果正向与反向扫描的结果都没有修正标记或者都有修正标记,选取正向扫描的结果。本专利技术一种基于双向扫描的视差图生成的电路设计的进一步优选方案是:所述电路2与电路3的扫描电路的电路结构包括:电路A,相关值计算电路:包括N个同样结构的计算电路,每个计算电路计算出一个相关值,共计算出N个相关值;电路B,相关值选择电路:从相关值计算电路输出的N个相关值中,选出最大的相关值,并得到相应的视差值;电路C,阴影点判决电路:通过电路B中的视差值判断该像素点本文档来自技高网
...

【技术保护点】
一种基于双向扫描的视差图生成方法,包括如下基本步骤:步骤1,图像分块:把图像分成若干小块,对每个小块分别进行处理;步骤2,双向扫描计算视差值:在每个小块内,分别从正向和反向进行双向扫描,计算每个像素点的视差值,并存储下来;双向扫描过程中,遇到视差值大于阈值的点,则记为视差值可靠点;找到视差值可靠点后,后续的扫描按照视差修正规则,对像素的视差值进行修正;对视差被修正的像素点做修正标记;步骤3,合并视差值:双向扫描结束后,把正向与反向扫描得到的视差值进行合并,并输出合并的结果。

【技术特征摘要】
1.一种基于双向扫描的视差图生成方法,包括如下基本步骤:
步骤1,图像分块:把图像分成若干小块,对每个小块分别进行处理;
步骤2,双向扫描计算视差值:在每个小块内,分别从正向和反向进行双向扫描,计算每个像素点的视差值,并存储下来;双向扫描过程中,遇到视差值大于阈值的点,则记为视差值可靠点;找到视差值可靠点后,后续的扫描按照视差修正规则,对像素的视差值进行修正;对视差被修正的像素点做修正标记;
步骤3,合并视差值:双向扫描结束后,把正向与反向扫描得到的视差值进行合并,并输出合并的结果。
2.根据权利要求1所述的一种基于双向扫描的视差图生成方法,其特征在于,步骤1所述把图像分成若干小块是指,把图像分成若干个大小相同、互相连接又互不重叠的小块,每次处理一个小块。
3.根据权利要求1所述的一种基于双向扫描的视差图生成方法,其特征在于,步骤2所述分别从正向和反向进行扫描,是指:
正向扫描从该小块第一行的第一个像素点开始,扫描至第一行的最后一个像素点;再从第二行的最后一个像素点开始,扫描至第二行的第一个像素点,以此类推,每扫描完一行,扫描方向切换;第三行再从第一个像素扫描至最后一个像素,第四行从最后一个像素扫描至第一个像素,直至扫描完最后一行;
反向扫描从该小块最后一行开始,仍然是每扫描完一行切换一次扫描方向,每一行的扫描方向都与正向扫描相反;若小块共奇数行,则从最后一行的最后一个像素开始扫描,扫描至最后一行的第一个像素;若小块为偶数行,则从最后一行的第一个像素开始扫描,扫描至最后一行的最后一个像素,再从倒数第二行的最后一个像素扫描至该行第一个像素;以此类推,直至扫描完第一行。
4.据权利要求1所述的一种基于双向扫描的视差图生成方法,其特征在于,步骤2所述计算每个像素点的视差值是指计算目标图像1的像素点与目标图像2中视差移动范围内各个像素点的相关值,得到多个相关值,从中选取最大的相关值,该最大相关值对应的位移即为该像素的视差值。
5.根据权利要求1所述的一种基于双向扫描的视差图生成方法,其特征在于,步骤2所述视差修正规则是指利用物体内视差值的连续性,从视差值可靠点出发,对后续扫描中发现的与视差值可靠点属于同一物体内的点进行视差值修正。
6.根据权利要求1所述的一种基于双向扫描的视差图生成方法,其特征在于,步骤2所述对后续像素的视差值计算进行修正是指,在计算像素视差值的过程中,只从小范围的几个相关值中选取最大值作为最终的视差值;所述小范围的几个相关值是指在计算视差值过程中,需要计算多个相关值,从这些相关值中选取的几个相关值为小范围相关值。
7.根据权利要求1所述的一种基于双向扫描的视差图生成方法,其特征在于,步骤3所述把正向与反向扫描得到的视差值进行合并,包括对于相同位置的像素点,选取有修正标记的视差值;如果正向与反向扫描的结果都没有修正标记或者都有修正标记,则选取正向扫描的结果。
8.一种基于双向扫描的视差图生成的电路设计,其特征在于,包括:
电路1,数据组织模块:目标图像1与目标图像2切出小块数据后送入数据组织模块;数据组织模块分别按照双向扫描电路的需求,把目标图像1与目标图像2的数据分别送入正向扫描电路与反向扫描电路,进行扫描;
电路2,正向扫描电路:从该小块第一行的第一个像素点开始,扫描至第一行的最后一个像素点;再从第二行的最后一个像素点开始,扫描至第二行的第一个像素点,以此类推,每扫描完一行,扫描方向切换,直至扫描完最后一行;每扫描一个像素,就计算该像素的视差值;若视差值计算过程中,...

【专利技术属性】
技术研发人员:李朔杨高峰盛赞
申请(专利权)人:南京华捷艾米软件科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1