基于可编程逻辑器件的图像重映射方法及装置的制造方法

文档序号:9766346阅读:760来源:国知局
基于可编程逻辑器件的图像重映射方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及TFT-LCD面板自动光学检测技术领域,具体涉及一种基于可编程逻辑器件的图像重映射方法及装置。
【背景技术】
[0002]图像重映射算法(Remap)是重要的图像处理算法,在图像变换处理中有着广泛的应用。重映射算法已经成为处理图像缩放,旋转,平移,扭曲等操作的核心算法。在TFT-LCD(Thin film transistor Liquid crystal display LCD,即薄膜晶体管液晶显不器)面板自动光学检测的过程中,首先需要对工业相机获取的目标图像做畸变校正和几何校正,畸变校正和几何校正的核心操作是对图像进行重映射。
[0003]目前,重映射算法一般在CPU或者GPU(图形处理器)上实现,算法需要对DDR(外部存储器)中的图像数据进行大量的随机读取,且一次对整个图像进行处理,时间效率和存储器带宽利用率都很低。

【发明内容】

[0004]为解决上述技术问题,本发明提供了一种效率高、节省存储空间的基于可编程逻辑器件的图像重映射方法及装置。
[0005]对于一种基于可编程逻辑器件的图像重映射方法,本发明的技术方案为:将目标图像划分为多个图像块,计算各个图像块的载入行地址和写回行地址,根据各个图像块的载入行地址每次载入一个图像块进行重映射,并根据对应的写回行地址将重映射完成的图像块的图像数据写回,再按照下一个图像块对应的载入行地址载入下一个图像块进行重映射,直至目标图像的所有图像块全部重映射完毕。
[0006]进一步的,所述图像块的划分方式为:设定每个图像块像素点的宽wO和高h0,将目标图像划分为网格状,使除最后一行和最后一列的图像块外,其余图像块像素点的宽均为wO,尚均为hO,所述最后一彳丁和最后一列图像块的宽和尚由总的图像宽和尚及每个图像块像素点的宽和高计算得到。
[0007]进一步的,所述计算图像块的载入行地址包括:
[0008]根据图像的位深度depth和图像块像素点的宽wO计算目标图像中第i行第j列图像块的四个顶点坐标:
[0009]左上:xl= j*depth yl = i*w0*depth
[0010]左下:x2= j*depth y2 = (i+1 )*w0*depth
[0011]右上:x3= ( j+l)*depth y3 = i*w0*depth
[0012]右下:x4=(j+l)*depth y4= (i+1 )*w0*depth
[0013]利用坐标映射方法,根据图像块叫的四个顶点坐标计算出原始图像中对应图像块的四个顶点坐标(叉5,75)、(叉6,76)、(叉7,y7)、(x8,y8);
[0014]根据原始图像中对应图像块的四个顶点坐标求得原始图像中对应图像块的外接矩形的区域参数,包括该区域像素点的宽W = Xmax-Xmin,高h = Ymax-Ymin和左上角的坐标(x,y) = (Xmin,Ymin),其中Xmax和Xmin分别为x5、x6、x7、x8中的最大值和最小值,Ymax和¥!11;[11分别为75、76、77、78中的最大值和最小值;
[0015]根据原始图像中对应图像块的外接矩形的左上角坐标(x,y)计算外接矩形图块的首地址:Base = ImagelBase+(y*wl+x)*depth,其中,ImageIBase为原始图像的首地址,wl为原始图像像素点的宽;
[0016]根据外接矩形图块的首地址Ba s e计算该外接矩形图块的行地址:Image IBlockBase = Base+k*wl*depth,其中k为该外接矩形图块的第k行,所述外接矩形图块的行地址即为图像块的载入行地址。
[0017]进一步的,所述计算图像块的写回行地址包括:
[0018]计算目标图像Image2中处在第i行、j列的图像块aij的首地址:aij_Base=Image2Base+(i*h0*w2+j*w0)*depth,其中depth为图像的位深度,Image2Base为目标图像Image2的首地址,wO和hO分别为图像块像素点的宽和高,w2为目标图像Image2像素点的宽;
[0019]根据图像块aij的首地址计算该图像块的写回行地址Image2BlockBase = aij_Base+k*w2*dep th,其中k为图像块的第k行。
[0020]进一步的,一个所述图像块载入完成后反馈载入完成信号,当接收到载入完成信号后开始计算下一个图像块的载入行地址;
[0021]当一个所述图像块写回完成后反馈写回完成信号,当接收到写回完成信号后开始计算下一个图像块的写回行地址;
[0022]进一步的,所述图像块载入或写回的过程中,每载入或写回一行数据时,使用一次突发模式内存访问。
[0023]进一步的,所述对图像块进行重映射包括:计算映射坐标,根据接收到的映射坐标和输入的重映射参数对载入的图像数据进行双线性插值。
[0024]进一步的,当进行畸变校正时,所述重映射参数为镜头畸变参数;
[0025]当进行透视变换时,所述重映射参数为透视变换参数。
[0026]对于一种基于可编程逻辑器件的图像重映射方法,本发明的技术方案为,包括集成于可编程逻辑器件的:
[0027]中央控制器:用于对重映射模块下发图像参数和重映射参数;
[0028]重映射模块:用于接收中央控制器下发的图像参数和重映射参数,并计算图像的分块信息和图像块的载入行地址和写回行地址,根据图像块的载入行地址从外部存储器内载入图像块进行重映射处理,根据写回行地址将重映射完毕的图像块数据写回至外部存储器;
[0029]外部存储器控制器:用于控制重映射模块将重映射完毕的图像块数据写回至外部存储器;
[0030]外部存储器:用于存储原始图像数据和重映射完毕的图像数据;
[0031]数据总线:用于在载入和写回图像块数据时对图像块数据进行传输;
[0032]控制总线:用于传输中央控制器下发的图像参数和重映射参数。
[0033]进一步的,所述重映射模块包括:
[0034]内部控制器:用于接收中央控制器下发的图像参数和重映射参数,计算图像的分块信息和图像块的载入行地址和写回行地址,将图像的分块信息、载入行地址和载入控制信号发送给数据载入模块,将图像的分块信息、写回行地址和写回控制信号发送给数据写回模块,同时发送坐标计算控制信号给坐标计算模块;
[0035]数据载入模块:用于接收内部控制器发送的图像分块信息、载入行地址和载入控制信号,根据载入控制信号从外部存储器中载入图像块;
[0036]数据缓存模块:用于对载入的图像块数据进行缓存;
[0037]坐标计算模块:接收内部控制器发送的坐标计算控制信号,计算重映射坐标并发送给双线性插值模块;
[0038]双线性插值模块:读取重映射坐标,根据重映射坐标进行双线性插值,将插值后的数据发送给数据写回模块;
[0039]数据写回模块:根据外部存储器控制器将重映射完毕的图像块数据写回外部存储器。
[0040]进一步的,所述缓存模块包括第一缓存模块和第二缓存模块,两个缓存模块组成一组乒乓缓存,当向第一缓存模块写入一个图像块的图像数据时,从第二缓存模块内读取另一个图像块的图像数据进行重映射,当向第二缓存模块写入一个图像块的图像数据时,从第一缓存模块内读取另一个图像块的图像数据进行重映射。
[0041]本发明的有益效果:基于FPGA实现,先将图像划分为多个图像块,再导入各个图像块进行处理,节省了 FPGA内部存储和逻辑资源,方便后续功能集成。
【附图说明】
[0042]图1为本发明基于可编程逻辑器件的图像重映射装置的模块连接图;
[0043]图2为图1中重映射模块的内部连接图;
[0044]图3为目标图像进行分块示意图;
[0045]图4为原始图像与目标图像的图
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1