CN107220930B - 鱼眼图像处理方法、计算机装置及计算机可读存储介质 - Google Patents
鱼眼图像处理方法、计算机装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107220930B CN107220930B CN201710650624.1A CN201710650624A CN107220930B CN 107220930 B CN107220930 B CN 107220930B CN 201710650624 A CN201710650624 A CN 201710650624A CN 107220930 B CN107220930 B CN 107220930B
- Authority
- CN
- China
- Prior art keywords
- distortion correction
- memory
- image
- data source
- correction data
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 title claims abstract description 31
- 230000015654 memory Effects 0.000 claims abstract description 214
- 238000012937 correction Methods 0.000 claims abstract description 125
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 18
- 230000003068 static effect Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
- G06T3/047—Fisheye or wide-angle transformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开一种鱼眼图像处理方法、计算机装置以及计算机可读存储介质,该方法包括确定下一感兴趣区域图像的区域以及当前感兴趣区域图像的区域,并且,判断下一感兴趣区域图像与当前感兴趣区域图像是否存在重叠区域,如确定存在重叠区域,则将重叠区域的数据从备份存储器存储到畸变矫正数据源存储器中;判断下一感兴趣区域图像是否包含重叠区域以外的图像,如是,则将重叠区域以外的图像的数据存储到备份存储器以及畸变矫正数据源存储器中;对畸变矫正数据源存储器中存储的图像数据进行矫正。本发明还提供实现上述方法的计算机装置以及计算机可读存储介质。本发明能够减小鱼眼图像处理电路的复杂程度,并减小电路面积,提高图像处理效率。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种针对通过带有鱼眼镜头的拍摄设备所拍摄获得的图像进行处理的方法、实现这种方法的计算机装置以及计算机可读存储介质。
背景技术
随着拍摄设备的发展,人们广泛应用各种广角镜头拍摄照片,其中鱼眼镜头是一种具有极宽视角的广角镜头。使用鱼眼镜头拍摄的照片通常被称为鱼眼图像,由于鱼眼图像的视场角大,单个鱼眼相机可以获取180度视场信息的内容,该特性使鱼眼镜头越来越多的应用于自动驾驶、全景监控、虚拟现实等领域。
然而,由于鱼眼图像本身存在较大畸变,因此需要通过适当的映射关系及畸变矫正算法对鱼眼图像进行矫正,输出符合人体视觉特性的非畸变图像。受限于映射关系的不确定性以及畸变矫正算法对数据源的要求,对鱼眼图像进行矫正时,目前的处理方法大多是采用缓存多行原始像素或直接从整幅图像中获取对应像素点进行畸变矫正运算,但这种方法导致图像处理电路面积大,动态随机存储器的读写效率低的问题。
具体的,现在对鱼眼图像的处理大多采用缓存多行原始像素或直接从整幅图像中获取对应像素点进行畸变矫正运算,对于多行原始数据缓存方案,必须存储足够多行的图像数据才能确保即畸变矫正过程中能拿到正确的数据进行运算,这样需要静态存储器SRAM的面积非常大以满足数据存储的要求,并且需要采用滚动的方式或按行重复加载部分数据的方式进行静态存储器SRAM数据的更新,操作复杂、引入过多无效动态随机存储器的带宽。除此之外,该方法中使用的静态存储器SRAM深度受图像规格制约,不便于芯片规格的升级换代。而直接从整幅图像中获取对应像素点进行畸变矫正运算的方法,获取数据时地址跳变大且不连续,动态随机存储器效率低、同样引入过多无效的动态随机存储器带宽。
而目前对鱼眼图像处理的方式中,较好的做法是将获取的鱼眼图像进行分块处理,鱼眼图像分块处理的一大瓶颈就是前面提及的动态随机存储器的输入带宽过大,不利于鱼眼图像处理电路的硬件实现,特别不利于鱼眼图像处理电路的硬件在***级芯片上(SOC)的集成。
发明内容
本发明的主要目的是提供一种能够减小图像处理电路面积且有利于电路实现的鱼眼图像处理方法。
本发明的另一目的是提供一种能够实现上述鱼眼图像处理方法的计算机装置。
本发明的再一目的是提供一种能够实现上述鱼眼图像处理方法的计算机可读存储介质。
为了实现上述的主要目的,本发明提供的鱼眼图像处理方法包括确定下一感兴趣区域图像的区域以及当前感兴趣区域图像的区域,并且,判断下一感兴趣区域图像与当前感兴趣区域图像是否存在重叠区域,如确定存在重叠区域,则将重叠区域的数据从备份存储器存储到畸变矫正数据源存储器中;判断下一感兴趣区域图像是否包含重叠区域以外的图像,如是,则将重叠区域以外的图像的数据存储到备份存储器以及畸变矫正数据源存储器中;对畸变矫正数据源存储器中存储的图像数据进行矫正。
由上述方案可见,由于对鱼眼图像分块处理时,不同的感兴趣区域存在重叠的图像,通过将重叠区域图像的数据直接从备份存储器存储到畸变矫正数据源存储器中,避免了通过动态随机存储器将下一感兴趣区域图像的数据完整的写入到畸变矫正数据源存储器中,从而大大减少了数据的写入量,不需要占用大量的动态随机存储器的带宽资源,图像处理电路面积大幅度减小,有利于图像处理电路的实现,尤其是有利于鱼眼图像处理电路的硬件在***级芯片上的集成。
一个优选的方案是,将重叠区域的数据从备份存储器中存储到畸变矫正数据源存储器后,将重叠区域的数据从畸变矫正数据源存储器存储到备份存储器中。
由此可见,将重叠区域的数据从畸变矫正数据源存储器存储到备份存储器可以确保备份存储器以及畸变矫正数据源存储器所存储的重叠区域的数据一致性,有利于保证后续重叠区域数据的正确消除。
进一步的方案是,畸变矫正数据源存储器包括第一畸变矫正数据源存储器以及第二畸变矫正数据源存储器;第一畸变矫正数据源存储器与第二畸变矫正数据源存储器交替使用。
具体的,处理下一感兴趣区域图像时,将重叠区域的数据从备份存储器中存储到畸变矫正数据源存储器后,将重叠区域的数据从畸变矫正数据源存储器存储到备份存储器中包括:将重叠区域的数据从备份存储器中存储到第二畸变矫正数据源存储器后,将重叠区域的数据从第二畸变矫正数据源存储器存储到备份存储器中;继续处理下一块当前感兴趣区域图像时,将重叠区域的数据从备份存储器中存储到畸变矫正数据源存储器后,将重叠区域的数据从畸变矫正数据源存储器存储到备份存储器中包括:将重叠区域的数据从备份存储器中存储到第一畸变矫正数据源存储器后,将重叠区域的数据从第一畸变矫正数据源存储器存储到备份存储器中。
可见,第一畸变矫正数据源存储器与第二畸变矫正数据源存储器组成乒乓静态存储器SRAM,交替的存储需要处理的感兴趣区域的图像的数据,这样,相比起仅使用一个畸变矫正数据源存储器,数据的擦写操作所占用大量时间,使用乒乓静态存储器SRAM可以大大提高图像的处理效率。
更进一步的方案是,对畸变矫正数据源存储器中存储的图像数据进行矫正包括:对当前感兴趣区域图像进行矫正时,对第二畸变矫正数据源存储器中存储的图像数据进行加载;对下一块当前感兴趣区域图像进行矫正时,对第一畸变矫正数据源存储器中存储的图像数据进行加载。
由此可见,由于两个畸变矫正数据源存储器是交替使用的,因此对当前感兴趣区域的图像进行处理时,需要交替的分别使用两个畸变矫正数据源存储器的数据进行图像矫正。
更进一步的方案是,重叠区域以外的图像包括上部区域、间隙区域以及下部区域;将重叠区域以外的图像的数据存储到备份存储器以及畸变矫正数据源存储器包括:将上部区域、间隙区域以及下部区域的数据均写入到备份存储器以及畸变矫正数据源存储器。并且,上部区域、间隙区域以及下部区域的数据是被依次写入的。
可见,依次写入非重叠区域的多个部分,可以避免非重叠区域图像数据遗漏写入的问题。
为了实现上述的另一目的,本发明还提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述的鱼眼图像处理方法的各个步骤。
为了实现上述的再一目的,本发明还提供的计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述鱼眼图像处理方法的各个步骤。
附图说明
图1是本发明鱼眼图像处理方法实施例的流程图。
图2是本发明鱼眼图像处理方法实施例所处理的下一感兴趣区域与当前感兴趣区域的示意图。
图3是本发明鱼眼图像处理方法实施例中感兴趣区域数据在存储器中存储流程示意图。
图4是本发明鱼眼图像处理方法实施例中感兴趣区域数据在动态随机存储器加载时的示意图。
图5是实现本发明鱼眼图像处理方法实施例电路框图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的鱼眼图像处理方法应用在各种拍摄设备上,如照相机、监控设备等,也可以应用在具有拍照功能的移动设备上,如智能手机、平板电脑或者行车记录仪等电子设备上。本发明的计算机装置可以是上述的电子设备,计算机可读存储介质可以是具有数据存储功能的各种存储介质,包括但不限于FLASH、EEPROM等非易失性存储器。
鱼眼图像处理方法实施例:
对鱼眼图像进行处理时,首先将原始获得的鱼眼图像进行分块,也就是划分成多个感兴趣区域(ROI),每一个感兴趣区域就是一个分块,也就是一个需要处理的图像块。
参见图1,对图像进行处理时,首先执行步骤S1,确定下一感兴趣区域的图像与当前感兴趣区域的图像的区域,其中,下一感兴趣区域是下一块需要进行畸变校正的感兴趣区域,当前感兴趣区域是当前进行畸变校正的感兴趣区域。
由于采用分块方式处理鱼眼图像时,相邻的两块图像很可能存在重叠区域的情况,相邻的两块感兴趣区域出现重叠的情形有很多种,图2显示了其中几种常见的情况。其中,图中各种情况下,A、B两点分别是为当前感兴趣区域图像的左上角、右下角的顶点,C、D两点分别为下一感兴趣区域图像的左上角、右下角的顶点,从图2可见,前面五种情况下,下一感兴趣区域图像与当前感兴趣图像存在重叠区域,例如,图中的E、F两点分别为重叠区域图像的左上角、右下角的顶点。
为了避免相邻的两块感兴趣区域图像的重叠区域图像数据被重复读取到静态存储器中,本发明的方案是设置一个备份使用的静态存储器SRAM,并且将重叠区域图像的数据写入到该备份存储器中,待处理下一感兴趣区域图像的数据时,也就是对下一感兴趣区域的图像数据进行矫正时,不需要再通过动态随机存储器DDR加载重叠区域图像的数据,进而提高图像处理的效率。
当然,并不是所有的相邻两个感兴趣区域图像都存在重叠区域的情况,如图2最后一种情况所示的,下一感兴趣区域图像与当前感兴趣区域图像并不存在重叠区域,因此,步骤S2中需要确定下一感兴趣区域图像与当前感兴趣区域图像是否存在重叠区域,如果存在重叠区域,则执行步骤S3,如果不存在重叠区域,则执行步骤S6。
步骤S3中,需要将重叠区域的数据从备份存储器转存到畸变矫正数据源存储器中,本实施例中,备份存储器是一个静态存储器SRAM,畸变矫正数据源存储器也是静态存储器。由于相邻的两个感兴趣区域图像的重叠区域存在多种不确定性,为了实现重叠区域数据的存储更加简单,且硬件电路实现更加可靠,本实施例采用下面的方式确定重叠区域并且实现数据的转存。
假设当前感兴趣区域图像的左上角、右下角的顶点分别是A、B两点,下一感兴趣区域图像的左上角、右下角的顶点分别是C、D两点,重叠区域的左上角、右下角的顶点分别是E、F两点,并且A、B、C、D、E、F点的坐标分别为:A点是(x_curr_bgn,y_curr_bgn)、B点是(x_curr_end,y_curr_end)、C点是(x_next_bgn,y_next_bgn)、D点是(x_next_end,y_next_end)、E点是(x_ovl_bgn,y_ovl_bgn)、F点是(x_ovl_end,y_ovl_end)。
首先,判断下一感兴趣区域图像与当前感兴趣区域图像是否不存在重叠区域,例如,如果出现以下任一情况出现时,均表示下一感兴趣区域图像与当前感兴趣区域图像之间不存在重叠区域:x_next_bgn≧x_curr_end,或者x_next_end≦x_curr_bgn,或者y_next_bgn≧y_curr_end,或者y_next_end≦y_curr_bgn。如确定下一感兴趣区域图像与当前感兴趣区域图像之间不存在重叠区域,则不需要进行重叠区域图像数据的转存操作。
如确定下一感兴趣区域图像与当前感兴趣区域图像之间存在重叠区域,则可以采用以下规则进行重叠区域的确定:
第一,比较x_curr_bgn与x_next_bgn的数值大小,数值小者为重叠区域左上角行坐标,即x_ovl_bgn=min(x_curr_bgn,x_next_bgn),特殊情况,当x_curr_bgn=x_next_bgn时,取x_ovl_bgn=x_curr_bgn。
第二,比较y_curr_bgn与y_next_bgn的数值大小,数值小者为重叠区域左上角列坐标,即y_ovl_bgn=min(y_curr_bgn,y_next_bgn),特殊情况,当y_curr_bgn=y_next_bgn时,取y_ovl_bgn=y_curr_bgn。
第三,比较x_curr_end与x_next_end的数值大小,数值小者为重叠区域右下角行坐标,即x_ovl_end=min(x_curr_end,x_next_end),特殊情况,当x_curr_end=x_next_end时,取x_ovl_end=x_curr_end。
第四,比较y_curr_end与y_next_end的数值大小,数值小者为重叠区域右下角的列坐标,即y_ovl_end=min(y_curr_end,y_next_end),特殊情况,当y_curr_end=y_next_end时,取y_ovl_end=y_curr_end。
经过上述步骤,得到重叠区域左上角、右下角坐标E(x_ovl_bgn,y_ovl_bgn)、F(x_ovl_end,y_ovl_end),进而可以确定重叠区域图像数据总量,通过硬件电路实现数据转存时,通过X、Y两个方向的计数器可以控制完成重叠区域图像的数据转存。
然后,执行步骤S4,将重叠区域图像的数据从畸变矫正数据源存储器转存至备份存储器中,也就是将刚刚写入到畸变矫正数据源存储器的数据重新写入到备份存储器中。执行步骤S4的目的是为了保证备份存储器所存储的重叠区域图像的数据的位置与畸变矫正数据源存储器所存储的数据的一致。
优选的,设置两个畸变矫正数据源存储器以及一个备份存储器,两个畸变矫正数据源存储器均为静态存储器,并且组成乒乓静态存储器,即两个畸变矫正数据源存储器是交替使用的。参见图3,假设使用“0”、“2”分别表示组成乒乓静态存储器的第一畸变矫正数据源存储器以及第二畸变矫正数据源存储器所存储的数据,使用“1”表示备份存储器所存储的数据,则感兴趣区域图像的数据写入流程如下:
第一,以感兴趣区域为基本单位,写入当前感兴趣区域图像的数据时,根据确定的当前感兴趣区域图像的大小,向第一畸变矫正数据源存储器以及备份存储器写入重叠区域图像的数据,也就是进行“0”、“1”的数据写入,如图3最左侧所示,此时第一畸变矫正数据源存储器以及备份存储器所存储的数据是相同的。
相邻感兴趣区域图像的重叠区域图像数据转存包括以下四个阶段:首先,第一畸变矫正数据源存储器的数据解析阶段,即取出第一畸变矫正数据源存储器所存储的数据“0”,并作为进行鱼眼图像分块处理的后续操作使用,即作为矫正的数据源使用。
第二,根据确定的第一畸变矫正数据源存储器的数据与备份存储器的数据的重叠区域,从备份存储器中将重叠区域图像的数据搬存储到第二畸变矫正数据源存储器中,也就是从“1”中将重叠区域的数据搬运至“2”中,通常情况下,重叠区域的数据在备份存储器与第二畸变矫正数据源存储器中的偏移地址不一致。当然,如果第一畸变矫正数据源存储器的数据与备份存储器的数据不存在重叠区域,则不需要执行该步骤。
第三,在备份存储器中的重叠区域图像的数据搬存储到第二畸变矫正数据源存储器完成后,从第二畸变矫正数据源存储器的重叠区域图像的数据转存到备份存储器中,该步骤的目的是保证备份存储器中所中存储的重叠区域图像的数据与第二畸变矫正数据源存储器所存储的数据一致。
第四,执行步骤S5与S6,判断下一感兴趣区域图像是否包含重叠区域以外的图像,如果包含重叠区域以外的图像,则执行步骤S6,将重叠区域以外的图像存储到备份存储器以及畸变矫正数据源存储器中。具体的,如果下一感兴趣区域图像除了包括重叠区域的图像以外,还包括其他的图像,也就是包括非重叠区域的图像,还需要将非重叠区域图像的数据加载到畸变矫正数据源存储器中。通常,非重叠区域的图像是从动态随机存储器加载到静态存储器。
如图4所示的,在图4(a)的情况下,非重叠区域包括位于重叠区域11上方的上部区域12、位于重叠区域11下方的下部区域13,还包括位于重叠区域11右侧的间隙区域14。在图4(b)的情况下,非重叠区域包括位于重叠区域16上方的上部区域17、位于重叠区域16下方的下部区域18,还包括位于重叠区域16左侧的间隙区域19。
从动态随机存储器DDR向静态存储器SRAM写入数据时,可以分为三段地址的写入,依次为:非重叠区域地址段0、重叠区域地址段以及非重叠区域地址段1,上述三段地址段分别对应是上部区域、间隙区域以及下部区域的数据所存储的地址段。并且,三个区域的写入顺序优先级为:非重叠区域地址段0>重叠区域地址段>非重叠区域地址段1,也就是上部区域、间隙区域以及下部区域的数据是依次的写入到静态存储器中,当然,不管是写入到备份存储器还是畸变矫正数据源存储器,上述三个区域地址段的数据都是依照其优先级顺序依次写入的。
当然,实际应用中,上部区域、间隙区域以及下部区域这三个区域不一定同时存在,对于不存在的区域可以直接跳过。特别地,若不存在重叠区域,则需要直接对整个当前感兴趣区域图像的数据进行数据加载,也就是步骤S2中,如判断下一感兴趣区域图像与当前感兴趣区域图像不存在重叠区域,则直接执行步骤S6,直接将下一感兴趣区域图像的所有数据写入到备份存储器以及畸变矫正数据源存储器中。
回看图3,从动态随机存储器向静态存储器加载非重叠区域的数据时,同时向备份存储器以及第二畸变矫正数据源存储器加载非重叠区域图像的数据。并且,如果下一感兴趣区域图像与当前感兴趣区域图像不存在重叠区域,则直接将下一感兴趣区域图像的所有数据写入备份存储器以及第二畸变矫正数据源存储器中。至此,备份存储器以及第二畸变矫正数据源存储器均完全一致的存储了下一感兴趣区域图像的数据。
在继续处理下一块当前感兴趣区域的图像时,处理方式基本相同,不同的就是使用的畸变矫正数据源存储器不相同。由于在当前感兴趣区域图像的数据写入到备份存储器以及第二畸变矫正数据源存储器后,第二畸变矫正数据源存储器存储有当前感兴趣区域图像的数据,因此,在写入下一块当前感兴趣区域图像的数据时,是将备份存储器中的重叠区域图像的数据写入第一畸变矫正数据源存储器“0”,并且再从第一畸变矫正数据源存储器将重叠区域的数据写回备份存储器,最后将非重叠区域图像的数据写入到备份存储器以及第一畸变矫正数据源存储器。
可见,作为乒乓静态存储器的第一畸变矫正数据源存储器以及第二畸变矫正数据源存储器时交替使用的,也就是,第一块感兴趣区域图像的数据同时写入到第一畸变矫正数据源存储器以及备份存储器后,使用第一畸变矫正数据源存储器所存储的数据作为第一块感兴趣区域图像的矫正的数据源,即对第一畸变矫正数据源存储器的数据进行校正。与此同时,将第一块感兴趣区域图像与第二块感兴趣区域图像重叠区域的数据从备份存储器写入到第二畸变矫正数据源存储器,再从第二畸变矫正数据源存储器写入备份存储器,最后将非重叠区域的数据同时写入到备份存储器以及第二畸变矫正数据源存储器。
在对第二块感兴趣区域图像进行矫正时,使用第二畸变矫正数据源存储器所存储的数据作为第二块感兴趣区域图像的矫正的数据源,即对第二畸变矫正数据源存储器的数据进行校正。与此同时,将第二块感兴趣区域的图像与第三块感兴趣区域图像的重叠区域的数据从备份存储器写入到第一畸变矫正数据源存储器,再从第一畸变矫正数据源存储器写回备份存储器,最后将非重叠区域的数据同时写入到备份存储器以及第一畸变矫正数据源存储器。
后续处理第四块感兴趣区域图像数据时,不断重复上述的步骤。
下面介绍重叠区域图像的地址在备份存储器中的地址计算方法。假设SRAM重叠区域起始、结束位置坐标为E_BUF_SSP_ST(buf_y_xovl_st,buf_y_yovl_st),E_BUF_SSP_END(buf_y_xovl_end,buf_y_yovl_end),此时定义备份存储器第一个地址的坐标为(0,0),定义重叠区域坐标为E_BUF_SSP(buf_y_xovl,buf_y_yovl),则备份存储器中重叠区域在的地址可表示为:
buf_y_ovl_addr={buf_y_yovl+M,buf_y_xovl+N},其中:
M∈[0,ovl_y_num],N∈[0,ovl_x_num]
buf_y_yovl∈[buf_y_yovl_st,buf_y_yovl_end]
buf_y_xovl∈[buf_y_xovl_st,buf_y_xovl_end]
其中,ovl_x_num=x_ovl_end-x_ovl_bgn,ovl_y_num=y_ovl_end-y_ovl_bgn。
对于E_BUF_SSP_ST(buf_y_xovl_st,buf_y_yovl_st),E_BUF_SSP_END(buf_y_xovl_end,buf_y_yovl_end)的确定,可以按照以下方式计算:
对于buf_y_xovl_st的确定,当x_curr_bgn<x_next_bgn时,buf_y_xovl_st=x_next_bgn-x_curr_bgn,否则,buf_y_xovl_st=0;
对于buf_y_yovl_st的确定,当y_curr_bgn<y_next_bgn时,buf_y_yovl_st=y_next_bgn-y_curr_bgn,否则,buf_y_yovl_st=0;
对于buf_y_xovl_end的确定,当x_curr_end<x_next_end时,buf_y_xovl_end=w_roi_last(w_roi_last为上一个感兴趣区域的宽度),否则,buf_y_xovl_end=x_next_end-x_curr_bgn;
对于buf_y_yovl_end的确定,当y_curr_end<y_next_end时,buf_y_yovl_end=h_roi_last(h_roi_last为上一个感兴趣区域的高度),否则,buf_y_yovl_end=y_next_end-y_curr_bgn。
下面介绍重叠区域畸变矫正数据源存储器中的地址计算方法。假设重叠区域起始、结束位置坐标分别为E_SSP_ST(src_y_xovl_st,src_y_yovl_st),E_SSP_END(src_y_xovl_end,src_y_yovl_end)。假设重叠区域坐标为E_SSP(src_y_xovl,src_y_yovl),同样有畸变矫正数据源存储器中重叠区域地址可表示为:
src_y_ovl_addr={src_y_yovl+M,src_y_xovl+N},其中,
M∈[0,ovl_y_num],N∈[0,ovl_x_num]
src_y_yovl∈[src_y_yovl_st,src_y_yovl_end]
src_y_xovl∈[src_y_xovl_st,src_y_xovl_end]。
以下介绍地址E_SSP_ST(src_y_xovl_st,src_y_yovl_st),E_SSP_END(src_y_xovl_end,src_y_yovl_end)的计算方法:
对于src_y_xovl_st的确定,当x_curr_bgn<x_next_bgn时,src_y_xovl_st=0,否则,src_y_xovl_st=x_curr_bgn-x_next_bgn;
对于src_y_yovl_st的确定,当y_curr_bgn<y_next_bgn时,src_y_yovl_st=0,否则,src_y_yovl_st=y_curr_bgn-y_next_bgn;
对于src_y_xovl_end的确定,当x_curr_end<x_next_end时,src_y_xovl_end=x_curr_end-x_next_bgn,否则,src_y_xovl_end=w_roi_curr(w_roi_curr为当前感兴趣区域的宽度);
对于src_y_yovl_end的确定,当y_curr_end<y_next_end时,src_y_yovl_end=y_curr_end-y_next_bgn,否则,src_y_yovl_end=h_roi_curr(h_roi_curr为当前感兴趣区域的高度)。
最后,执行步骤S7,对畸变矫正数据源存储器所存储的数据进行矫正处理,也就是使用现有的对待矫正的数据进行矫正的方法对已经写入到畸变矫正数据源存储器的数据进行矫正处理,从而获得矫正后的数据。具体的,在对当前感兴趣区域图像的数据进行矫正时,使用存储在第一畸变矫正数据源存储器中的数据,而对下一块当前感兴趣区域图像的数据进行矫正处理时,使用第二畸变矫正数据源存储器所存储的数据。
本发明的鱼眼图像处理方法可以通过硬件电路实现,参见图5,该硬件电路包括处理器20、当前感兴趣区域图像参数模块21、下一块当前感兴趣区域图像参数模块22、第一数据写入模块23、第二数据写入模块24、第三数据写入模块25以及DDR控制器26、异步桥模块27、DRAM总线28以及DDR存储器29。
其中,处理器20为单芯片多处理器20,当前感兴趣区域图像参数模块21、下一块当前感兴趣区域图像参数模块22均与外部模块实现握手操作以获取相应的参数,实现相邻感兴趣区域图像的参数的准备及与外部模块的控制、数据信号交互,处理器20在完成相邻两个感兴趣区域重叠区域的确定,为后续各阶段的数据搬运提供基础数据。
第一数据写入模块23在下一感兴趣区域与当前感兴趣区域存在重叠区域时启动,实现将重叠区域的数据从备份存储器写入到畸变矫正数据源存储器的过程,第二数据写入模块24在完成重叠区域的数据从备份存储器写入到畸变矫正数据源存储器的过程后启动,实现重叠区域的数据从畸变矫正数据源存储器写入到备份存储器的过程。第三数据写入模块25的启动条件有两个:一是相邻两个感兴趣区域无重叠区域,在处理器20完成重叠区域的确定后触发并且启动;二是相邻两个感兴趣区域存在重叠区域且重叠区域面积小于下一感兴趣区域的面积时,在第二数据写入模块24完成工作后触发第三数据写入模块25的工作。因此,第三数据写入模块25主要是接收处理器20、第二数据写入模块24传递过来的参数,产生符合对应DDR总线的协议,完成对应感兴趣区域的动态随机存储器的数据的加载工作。
第三数据写入模块25通过DRAM总线28与异步桥模块27进行数据交互,DDR存储器29通过DDR控制器26将数据通过异步桥模块27传输至DRAM总线28,从而将数据传递给第三数据写入模块25实现动态随机存储器向静态存储器的数据写入过程。
相比起现有的鱼眼图像处理方法,即相对于未进行冗余数据消除的鱼眼图像分块处理的方法,本发明能够减小约55%的动态随机存储器所使用带宽,且硬件电路结构简单,电路的面积大大减小,有利于鱼眼图像处理电路在***级芯片上的集成。此外,本发明能够简化鱼眼图像分块处理时相邻感兴趣区域图像的冗余数据消除的处理过程,将不确定的重叠区域进行归类统一处理,减小硬件实现复杂度,利于硬件实现。并且,本发明所使用的冗余数据消除方法适用于任意大小分块感兴趣区域,适用性强,可做成通用模块供有相似需求的图像处理模块调用。
计算机装置实施例:
本实施例的计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,例如用于实现上述信息处理方法的信息处理程序。处理器执行计算机程序时实现上述鱼眼图像处理方法的各个步骤。
例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
需要说明的是,终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,本发明的示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
本发明所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
计算机可读存储介质:
终端设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个鱼眼图像处理方法的各个步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,畸变矫正数据源存储器可以设置三个或者更多个,这些改变都不影响本发明的实施,也应该包括在本发明的保护范围内。
Claims (9)
1.鱼眼图像处理方法,包括:
确定下一感兴趣区域图像的区域以及当前感兴趣区域图像的区域,所述下一感兴趣区域图像与当前感兴趣区域图像为同一帧图像的区域;
其特征在于:
判断所述下一感兴趣区域图像与所述当前感兴趣区域图像是否存在重叠区域,如确定存在重叠区域,则将所述重叠区域的数据从备份存储器存储到畸变矫正数据源存储器中;
判断所述下一感兴趣区域图像是否包含所述重叠区域以外的图像,如是,则将所述重叠区域以外的图像的数据存储到所述备份存储器以及所述畸变矫正数据源存储器中;
对所述畸变矫正数据源存储器中存储的图像数据进行矫正。
2.根据权利要求1所述的鱼眼图像处理方法,其特征在于:
将所述重叠区域的数据从所述备份存储器中存储到所述畸变矫正数据源存储器后,将所述重叠区域的数据从所述畸变矫正数据源存储器存储到所述备份存储器中。
3.根据权利要求2所述的鱼眼图像处理方法,其特征在于:
所述畸变矫正数据源存储器包括第一畸变矫正数据源存储器以及第二畸变矫正数据源存储器;
所述第一畸变矫正数据源存储器以及所述第二畸变矫正数据源存储器交替使用。
4.根据权利要求3所述的鱼眼图像处理方法,其特征在于:
处理所述下一感兴趣区域图像时,将所述重叠区域的数据从所述备份存储器中存储到所述畸变矫正数据源存储器后,将所述重叠区域的数据从所述畸变矫正数据源存储器存储到所述备份存储器中包括:将所述重叠区域的数据从所述备份存储器中存储到所述第二畸变矫正数据源存储器后,将所述重叠区域的数据从所述第二畸变矫正数据源存储器存储到所述备份存储器中;
继续处理下一块当前感兴趣区域图像时,将所述重叠区域的数据从所述备份存储器中存储到所述畸变矫正数据源存储器后,将所述重叠区域的数据从所述畸变矫正数据源存储器存储到所述备份存储器中包括:将所述重叠区域的数据从所述备份存储器中存储到所述第一畸变矫正数据源存储器后,将所述重叠区域的数据从所述第一畸变矫正数据源存储器存储到所述备份存储器中。
5.根据权利要求4所述的鱼眼图像处理方法,其特征在于:
对所述畸变矫正数据源存储器中存储的图像数据进行矫正包括:
对所述当前感兴趣区域图像进行矫正时,对所述第二畸变矫正数据源存储器中存储的图像数据进行加载;
对所述下一感兴趣区域图像进行矫正时,对所述第一畸变矫正数据源存储器中存储的图像数据进行加载。
6.根据权利要求1至5任一项所述的鱼眼图像处理方法,其特征在于:
所述重叠区域以外的图像包括上部区域、间隙区域以及下部区域;
将所述重叠区域以外的图像的数据存储到所述备份存储器以及所述畸变矫正数据源存储器包括:将所述上部区域、间隙区域以及下部区域的数据均写入到所述备份存储器以及所述畸变矫正数据源存储器。
7.根据权利要求6所述的鱼眼图像处理方法,其特征在于:
所述上部区域、间隙区域以及下部区域的数据被依次写入到所述备份存储器;并且,
所述上部区域、间隙区域以及下部区域的数据被依次写入到所述畸变矫正数据源存储器。
8.计算机装置,其特征在于,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述鱼眼图像处理方法的各个步骤。
9.计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述鱼眼图像处理方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710650624.1A CN107220930B (zh) | 2017-08-02 | 2017-08-02 | 鱼眼图像处理方法、计算机装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710650624.1A CN107220930B (zh) | 2017-08-02 | 2017-08-02 | 鱼眼图像处理方法、计算机装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107220930A CN107220930A (zh) | 2017-09-29 |
CN107220930B true CN107220930B (zh) | 2020-08-07 |
Family
ID=59954000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710650624.1A Active CN107220930B (zh) | 2017-08-02 | 2017-08-02 | 鱼眼图像处理方法、计算机装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107220930B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108257102B (zh) * | 2018-01-22 | 2020-11-13 | 豪威科技(上海)有限公司 | 鱼眼校正***和方法 |
CN108629748B (zh) * | 2018-04-16 | 2022-08-05 | 深圳臻迪信息技术有限公司 | 图像矫正方法、装置、电子设备以及计算机可读存储介质 |
CN108564551B (zh) * | 2018-04-25 | 2021-01-15 | 珠海全志科技股份有限公司 | 鱼眼图像处理方法及鱼眼图像处理装置 |
CN110738615B (zh) * | 2019-10-11 | 2023-09-19 | 珠海市杰理科技股份有限公司 | 鱼眼图像校正方法、装置、***及可存储介质 |
CN113110802B (zh) * | 2021-04-16 | 2024-06-04 | 维沃移动通信有限公司 | 图像块的处理方法、装置、电子设备、可读存储介质 |
CN113191975A (zh) * | 2021-04-29 | 2021-07-30 | 展讯通信(上海)有限公司 | 图像畸变矫正方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994283A (zh) * | 2015-06-30 | 2015-10-21 | 广东欧珀移动通信有限公司 | 一种局部畸变的校正方法及移动终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201690518U (zh) * | 2010-01-21 | 2010-12-29 | 天津理工大学 | 基于fpga的嵌入式鱼眼图像实时畸变校正装置 |
US8744216B2 (en) * | 2010-03-18 | 2014-06-03 | Panasonic Corporation | Omnidirectional image processing device and method using warp processing for enhanced object visibility |
CN103440612B (zh) * | 2013-08-27 | 2016-12-28 | 华为技术有限公司 | 一种gpu虚拟化中图像处理方法和装置 |
US10257494B2 (en) * | 2014-09-22 | 2019-04-09 | Samsung Electronics Co., Ltd. | Reconstruction of three-dimensional video |
US9876954B2 (en) * | 2014-10-10 | 2018-01-23 | Iec Infrared Systems, Llc | Calibrating panoramic imaging system in multiple dimensions |
CN104835111A (zh) * | 2015-04-07 | 2015-08-12 | 无锡艾立德智能科技有限公司 | 一种基于fpga的单sram实现乒乓算法的方法及实时红外图像处理方法 |
-
2017
- 2017-08-02 CN CN201710650624.1A patent/CN107220930B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994283A (zh) * | 2015-06-30 | 2015-10-21 | 广东欧珀移动通信有限公司 | 一种局部畸变的校正方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN107220930A (zh) | 2017-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107220930B (zh) | 鱼眼图像处理方法、计算机装置及计算机可读存储介质 | |
CN109064428B (zh) | 一种图像去噪处理方法、终端设备及计算机可读存储介质 | |
CN107945112B (zh) | 一种全景图像拼接方法及装置 | |
US10395341B2 (en) | Panoramic image generation method and apparatus for user terminal | |
WO2019056527A1 (zh) | 一种拍摄方法及装置 | |
CN108564551B (zh) | 鱼眼图像处理方法及鱼眼图像处理装置 | |
JP2009165106A (ja) | 画像の歪み補正 | |
JP2008079026A (ja) | 画像処理装置、画像処理方法、及び、プログラム | |
US11875486B2 (en) | Image brightness statistical method and imaging device | |
US12020345B2 (en) | Image signal processor, method of operating the image signal processor, and application processor including the image signal processor | |
CN109035134B (zh) | 全景图像拼接方法、装置、电子设备及存储介质 | |
US20190355104A1 (en) | Image Correction Method and Apparatus | |
US8699753B2 (en) | Object detecting device, image dividing device, integrated circuit, method of detecting object, object detecting program, and recording medium | |
CN111951180A (zh) | 图像抖动校正方法、装置、计算机设备和存储介质 | |
CN111986088A (zh) | 图像处理方法、装置、存储介质及终端设备 | |
US20210004667A1 (en) | Operation processing apparatus and operation processing method | |
CN107563960A (zh) | 一种自拍图片的处理方法、存储介质及移动终端 | |
CN111340722A (zh) | 图像处理方法、处理装置、终端设备及可读存储介质 | |
CN110738615B (zh) | 鱼眼图像校正方法、装置、***及可存储介质 | |
KR20200141338A (ko) | 이미지 신호 프로세서, 상기 이미지 신호 프로세서의 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 이미지 처리 시스템 | |
US11790225B2 (en) | Data processing apparatus configured to execute hierarchical calculation processing and method thereof | |
CN112308809B (zh) | 一种图像合成方法、装置、计算机设备及存储介质 | |
CN113902644A (zh) | 一种图像处理方法、装置、设备以及存储介质 | |
CN109391788B (zh) | 用于处理图像信号的*** | |
CN113344832A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |