一种图像实时电子消旋的FPGA实现方法技术

技术编号:20920290 阅读:20 留言:0更新日期:2019-04-20 10:29
本发明专利技术提供了一种图像实时电子消旋的FPGA实现方法,采用FPGA+双口ram为平台,输入图像数据流,对原始图像旋转消旋角后得到目标图像,根据消旋参数进行坐标映射,坐标反映射得到P点相近的坐标,取周围四点像素灰度进行双线性差值得到灰度,得到目标图像的相邻四点灰度,将相邻四点灰度同时存储,当所有的像素点都消旋过后,一幅图像消旋完成。本发明专利技术通过模型设计、仿真、验证形成模块化的IP产品,实现高带宽输入图像的实时电子消旋。实现的图像电子消旋软核实时性强且可灵活移植,便于三化管理。

A Realization Method of Real-time Electronic Rotation in Image Based on FPGA

The present invention provides a method for realizing real-time electronic racemization of images by using FPGA+dual-port RAM as a platform, input image data stream, rotate the racemization angle of the original image to get the target image, map coordinates according to racemization parameters, and reflect coordinates to get coordinates of P points similar to each other. Bilinear difference between gray levels of four surrounding pixels is used to get gray levels, and the phase of the target image is obtained. Four adjacent points gray level, the adjacent four points gray level will be stored at the same time, when all the pixels are de-rotated, an image is de-rotated. The invention realizes real-time electronic racemization of high bandwidth input image through model design, simulation and verification to form a modular IP product. The soft core of image electronic racemization has strong real-time performance and can be transplanted flexibly, which is convenient for three-tier management.

【技术实现步骤摘要】
一种图像实时电子消旋的FPGA实现方法
本专利技术涉及图像处理、计算机视觉、视频监控等领域,尤其是一种电子消旋的FPGA实现方法。
技术介绍
电子消旋(旋转)是为解决由于传感器旋转导致视频画面旋转的一种数字信号处理解决方法。双线性插值法在数字图像处理中最常用,插值效果好且易实现。求取图像目的地址(x’,y’)的像素点灰度时需要先得到对应的四个原始图像像素点坐标,通过坐标读取原始图像像素灰度值,再对其进行双线性插值求取显示图像对应像素灰度值。将原始图像与消旋后图像置于同一直角坐标系下,图像中心置于坐标系原点处,以图像中心为旋转中心,由图像目的地址(x’,y’)索引原始图像像素点坐标(x,y)的映射,称为逆向映射,反之成为正向映射,正向映射与逆向映射互为反函数,正向映射坐标关系如下:x′=x*cos(th)-y*sin(th)+W/2y′=x*sin(th)+y*cos(th)+H/2其中:(x,y)为原始图像点坐标,(x’,y’)为消旋后对应图像点坐标,(th)为图像正向映射旋转角度,W、H为图像坐标偏移量。图像坐标经过映射后常常会映射到相邻两坐标之间(坐标带小数),如图1所示,再进行插值处理得到整数点坐标的灰度值。基于正向映射的消旋方法称为正向消旋,正向映射方法消旋延迟小,不需要缓存原始图像。基于逆向映射的消旋方法称为逆向消旋,逆向消旋实现简单,但是需要原始图像缓存完成后才能进行消旋处理,逆向坐标映射如图2所示。目前工程化应用的图像消旋都是基于逆向消旋方法,插值方法多采用双线性插值法,传统的逆向消旋算法需要多次访问同一原始图像坐标点,这样图像消旋就需要使用多倍于原始像素时钟的处理时钟,或者缓存多倍于原始图像数据的数据存储,在遇到高分辨率高帧频图像处理时硬件资源消耗激增。
技术实现思路
为了克服现有技术的不足,本专利技术提供一种图像实时电子消旋的FPGA实现方法:本专利技术解决其技术问题所采用的技术方案的详细步骤如下:步骤1:采用FPGA+双口ram为平台,将FPGA与双口ram连接,其中FPGA作为主处理芯片,ram作为图像现存;步骤2:输入图像数据流:原始视频图像数据流;步骤3:输入参数:原始图像旋转的角度参数,即输入消旋角th,对原始图像旋转消旋角th后得到目标图像;步骤4:原始视频图像像素点坐标P根据消旋参数进行坐标映射,计算公式如下:x′=x*cos(th)-y*sin(th)+W/2y′=x*sin(th)+y*cos(th)+H/2(1)其中:(x,y)为原始图像点坐标,(x′,y′)为消旋后对应图像点坐标,th为图像旋转角度,W,H分别为原始图像到目标图像的坐标偏移量;由此得到消旋后图像即目标图像所对应的像素点坐标位置P′,取整后得到h′;步骤5:对h′进行坐标反映射得到P点相近的坐标h,计算公式如下:坐标h未取整;x=x′*cos(-th)-y′*sin(-th)+W'/2y=x′*sin(-th)+y′*cos(-th)+H'/2(2)步骤6:取h周围四点像素灰度进行双线性差值得到灰度作为h′点灰度;步骤7:对h′相邻四点(h′(x,y),h′(x+1,y),h′(x+2,y),h′(x+3,y))同时进行步骤5和步骤6操作,得到目标图像的相邻四点灰度,将相邻四点灰度同时存储到32bitram中,当所有的像素点都消旋过后,一幅图像消旋完成。本专利技术的有益效果是通过模型设计、仿真、验证形成模块化的IP产品,实现高带宽输入图像的实时电子消旋。实现的图像电子消旋软核实时性强且可灵活移植,便于三化管理。附图说明图1是本专利技术单点正向映射图。图2是本专利技术单点逆向映射图。图3是本专利技术硬件架构。图4是本专利技术单点正向逆向结合的映射图。图5是本专利技术逻辑接口设计。图6是本专利技术逻辑框架设计。图7是本专利技术逻辑架构框图。具体实施方式下面结合附图和实施例对本专利技术进一步说明。具体实施过程如下:步骤1:采用FPGA+双口ram为平台,将FPGA与双口ram连接,如图3所示,其中FPGA作为主处理芯片,ram作为图像现存;步骤2:输入图像数据流:原始视频图像数据流;步骤3:输入参数:原始图像旋转的角度参数,即输入消旋角th,对原始图像旋转消旋角th后得到目标图像;步骤4:原始视频图像像素点坐标P根据消旋参数进行坐标映射,计算公式如下:x′=x*cos(th)-y*sin(th)+W/2y′=x*sin(th)+y*cos(th)+H/2(1)其中:(x,y)为原始图像点坐标,(x′,y′)为消旋后对应图像点坐标,th为图像旋转角度(由原始图像旋转到目标图像的旋转角,相应地,目标图像旋转-th后可以得到原始图像),W,H分别为原始图像到目标图像的坐标偏移量;由此得到消旋后图像即目标图像所对应的像素点坐标位置P′,取整后得到h′(如图1所示);步骤5:对h′进行坐标反映射得到P点相近的坐标h,计算公式如下:坐标h未取整,如图2);x=x′*cos(-th)-y′*sin(-th)+W'/2y=x′*sin(-th)+y′*cos(-th)+H'/2(2)步骤6:取h周围四点像素灰度进行双线性差值得到灰度作为h′点灰度;步骤7:对h′相邻四点(h′(x,y),h′(x+1,y),h′(x+2,y),h′(x+3,y))同时进行步骤5和步骤6操作,得到目标图像的相邻四点灰度,将相邻四点灰度同时存储到32bitram中,当所有的像素点都消旋过后,一幅图像消旋完成。本专利技术采用FPGA+双口ram为硬件平台,如图3所示(其中FPGA作为主处理芯片,ram作为图像显存),使用FPGA内部基本的BRAM、DSP等资源,采用标准的HDL语言完成整个设计,采用多位宽大容量的双口ram。本专利技术采用32bit位宽的ram作为图像缓存(本专利技术通过目标图像相邻四点灰度(8bit)同时计算并存储解决了32bit位宽ram的读写问题),大大降低了ram的读写时钟频率,在高速图像应用中有力地降低了图像显存ram读写带宽风险,提高了模块的通用性和可靠性。本专利技术采用参数化设置图像输入输出尺寸,接口化图像消旋参数,大大提高了模块的通用性和移植性。所述的一种图像实时电子消旋的FPGA实现方法按照步骤1~7形成不同模块,在电子消旋应用中对不同模块进行调用,从而提高了整个设计的灵活性和可靠性。本专利技术的图像实时电子消旋的FPGA实现方法,采用正逆向映射相结合的图像电子消旋法,先根据原始图像的坐标点映射出目的坐标(依据公式1的逆函数),再根据目的坐标反映射出原始图像坐标相邻点灰度(依据公式1),然后将反映射出的原始图像坐标(h1,h2,h3,h4)对应的原始图像灰度进行双线性插值,即得到目的坐标h’对应的灰度,如图4所示。1.图像电子消旋模块接口设计:基于FPGA+双口ram的硬件平台,如图3所示,设计一种通用性、可移植性强的电子消旋模块,需要设计常用视频接口。输入视频接口设计为帧同步、行有效、原始图像灰度值;输入参数接口设计为读取外部参数RAM接口,参数信息反应当前图像的消旋角度;输出信号接口为数据有效、消旋后点坐标、消旋后坐标点灰度值,电子消旋模块接口如图5所示。2.电子消旋模块架构设计设计一种合理的、有流处理能力的逻辑架构如图6所示,图像数据先进行行缓存,行缓存用于后本文档来自技高网
...

【技术保护点】
1.一种图像实时电子消旋的FPGA实现方法,其特征在于包括下述步骤:步骤1:采用FPGA+双口ram为平台,将FPGA与双口ram连接,其中FPGA作为主处理芯片,ram作为图像现存;步骤2:输入图像数据流:原始视频图像数据流;步骤3:输入参数:原始图像旋转的角度参数,即输入消旋角th,对原始图像旋转消旋角th后得到目标图像;步骤4:原始视频图像像素点坐标P根据消旋参数进行坐标映射,计算公式如下:x′=x*cos(th)‑y*sin(th)+W/2y′=x*sin(th)+y*cos(th)+H/2   (1)其中:(x,y)为原始图像点坐标,(x′,y′)为消旋后对应图像点坐标,th为图像旋转角度,W,H分别为原始图像到目标图像的坐标偏移量;由此得到消旋后图像即目标图像所对应的像素点坐标位置P′,取整后得到h′;步骤5:对h′进行坐标反映射得到P点相近的坐标h,计算公式如下:坐标h未取整;x=x′*cos(‑th)‑y′*sin(‑th)+W'/2y=x′*sin(‑th)+y′*cos(‑th)+H'/2   (2)步骤6:取h周围四点像素灰度进行双线性差值得到灰度作为h′点灰度;步骤7:对h′相邻四点(h′(x,y),h′(x+1,y),h′(x+2,y),h′(x+3,y))同时进行步骤5和步骤6操作,得到目标图像的相邻四点灰度,将相邻四点灰度同时存储到32bit ram中,当所有的像素点都消旋过后,一幅图像消旋完成。...

【技术特征摘要】
1.一种图像实时电子消旋的FPGA实现方法,其特征在于包括下述步骤:步骤1:采用FPGA+双口ram为平台,将FPGA与双口ram连接,其中FPGA作为主处理芯片,ram作为图像现存;步骤2:输入图像数据流:原始视频图像数据流;步骤3:输入参数:原始图像旋转的角度参数,即输入消旋角th,对原始图像旋转消旋角th后得到目标图像;步骤4:原始视频图像像素点坐标P根据消旋参数进行坐标映射,计算公式如下:x′=x*cos(th)-y*sin(th)+W/2y′=x*sin(th)+y*cos(th)+H/2(1)其中:(x,y)为原始图像点坐标,(x′,y′)为消旋后对应图像点坐标,th为图像旋转角度,W,H分别为原...

【专利技术属性】
技术研发人员:孟祥隆胡银记李海宾
申请(专利权)人:中国航空工业集团公司洛阳电光设备研究所
类型:发明
国别省市:河南,41

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

1