不同分辨率图像自适应缩放方法

文档序号:9200937阅读:1266来源:国知局
不同分辨率图像自适应缩放方法
【技术领域】
[0001]本发明属于一种不同分辨率图像自适应缩放方法。
【背景技术】
[0002]作为在人类的感知中扮演非常重要角色的图像,可以使人类以非常丰富以及真切的视角来接受外界的信息。但是在现实生活中,受到图像采集系统的限制,使得实际采集的不同分辨率的图像很难在同一台分辨率的显示设备上进行显示。另外为了在不同的设备上传输、处理以及输出图像,常常需要将图像进行缩放。尤其在对图像的分辨率要求非常高的医疗领域,为了对微小的病灶进行诊断,常常需要将影像进行放大。最常用的缩放算法便是插值算法,但是对整幅图像使用某一种插值算法,例如双线性插值,在硬件实现时包括图像缓存单元、插值系数生成单元以及插值计算单元等,从其实现结果看,它的算法以及硬件实现模块达到了预期的效果,但是在理论上会造成被缩放图像边缘高频分量的损失,使图像边缘模糊,整幅图像会变得比较平滑,降低对比度,所以此种方法只能应用在对图像质量要求不是很高的场合,但在要求高分辨率的医疗领域是不适用的。
[0003]在放射学中,对于不同的应用场合,需要使用不同分辨率的显示器,比如乳腺影像的诊断就需要5M分辨率的显示器,但是在一般的应用场合,可以使用低分辨率的医学影像进行诊断;医疗影像所能显示的最低差异对早期病灶的诊断至关重要,因此应用于医疗领域的专业显示器要能在一台设备上,自动识别出输入影像的分辨率,并根据显示器的分辨率大小,放大原图像。一般的缩放算法虽然能快速生成图像、视觉效果良好。但是在具有高分辨率、高亮度以及高灰阶的医疗专业显示领域,这些算法的实现是不能满足要求的,处理后的图像难以保持边缘的清晰以及轮廓的分明。

【发明内容】

[0004]本发明目的是:提供一种不同分辨率图像自适应缩放方法。
[0005]本发明的技术方案是:一种不同分辨率图像自适应缩放方法,其至少包括如下步骤:
[0006]SO:输入图像,输入图像优选为输入视频图像;
[0007]S1:获取输入图像的分辨率,计算水平和垂直缩放因子Sx、Sy ;
[0008]S2:根据水平和垂直缩放因子Sx、Sy将新图像的点Ad映射到原图像的点As ;
[0009]S3:选取原图像中最靠近As的点作为4X4的A22矩阵;
[0010]S4:对A22矩阵进行水平和垂直的梯度插值;
[0011]S5:对梯度插值后的图像进行双线性二次插值;
[0012]S6:结合新时序和新像素数据进行显示至结束。
[0013]在上述技术方案的基础上,进一步包括附属技术方案:
[0014]所述步骤SI包括:经显卡输出的输入视频通过DVI接口与FPGA的对应引脚进行连接,在FPGA侧采用大于两倍于视频像素数据时钟的频率对引脚信号进行采样计数,对行同步信号、场同步信号以及数据使能信号的高低电平。
[0015]所述步骤S4为高频区域的处理方法,而所述步骤S5为低频区域的处理方法。
[0016]所述步骤S3中的A22矩阵包括:
[0017]All A12 A13 A14
[0018]A21 A22 A23 A24
[0019]A31 A32 A33 A34
[0020]A41 A42 A43 A44
[0021]假设第二行的第二个像素点A22与原图像像素点As对应。
[0022]所述步骤S4包括:在水平中间列和垂直的中间行各四个点使用梯度插值,得到水平方向的四个插值点:x1、X2、X3、X4、以及行中间点K其中行中间点K为X1、X2、X3、X4梯度插值的结果,而垂直方向上的四个插值点:Y1、Y2、Y3、Y4 ;由此4X4矩阵的中间2X2个像素以及新生成的Χ2、Χ3、K、Υ2和Υ3构成新的3X3矩阵。
[0023]所述步骤S5:如果待插值点在新的3X3矩阵的左上角,就是用左上角的四个点进行双线性二次插值,如果待插值点在新的3X3矩阵的右下角就使用右下角的四点进行双线性插值。
[0024]本发明的优点是:
[0025]本发明意在解决在高分辨率、高亮度以及高灰阶的专业显示器上,尤其是医用显示器,在输入未知分辨率的图像前提下,自动识别输入影像的分辨率并通过合适的缩放算法,清晰显示放大后的图像。
【附图说明】
[0026]下面结合附图及实施例对本发明作进一步描述:
[0027]图1为本发明的硬件结构图;
[0028]图2为本发明的寻址结构图;
[0029]图3为本发明中双线性插值的示意图;
[0030]图4为本发明中梯度插值的示意图;
[0031]图5为本发明中算法的处理示意图;
[0032]图6为本发明的流程示意图。
【具体实施方式】
[0033]实施例:如图1-6所示,其为本发明中一种不同分辨率图像自适应缩放方法的【具体实施方式】,其包括:
[0034]SO:输入图像;
[0035]S1:获取输入图像的分辨率,计算水平和垂直缩放因子Sx、Sy ;
[0036]S2:根据水平和垂直缩放因子Sx、Sy将新图像的点Ad映射到原图像的点As ;
[0037]S3:选取原图像中最靠近As的点作为4X4的A22矩阵;
[0038]S4:对A22矩阵进行水平和垂直的梯度插值;
[0039]S5:对梯度插值后的图像进行双线性二次插值;
[0040]S6:因为目标图像的分辨率是已知的,所以新时序也是已知的,由此结合新时序和新像素数据进行显示至结束。
[0041]本发明能使低分辨的输入图像通过转换后显示出高分辨率的显示效果,尤其是对图像边缘的缩放,降低高频分量的损失。其中硬件包括显卡、接口、FPGA、与FPGA相连的存储器、显示屏等,接口优选为DVI接口,显示屏优选为液晶面板,存储器优选为DDR3内存,FPGA具有若干个寄存器。图1中显卡输出的控制信号包括:DE为数据使能信号,HS为行同步信号,VS为场同步信号,DCLK为时钟信号,RGB为颜色信号;hcnt为水平方向像素的计数器,vent为垂直方向像素的计数器。此方法前端为显卡,后端为液晶面板,输出数据直接进液晶面板;由于此发明不涉及前端和后端,因此不做重点阐述。
[0042]其中步骤SI详细如下:1)经显卡输出的视频通过DVI接口与FPGA的对应引脚进行连接,在FPGA侧采用大于两倍于视频像素数据时钟的频率对几个引脚信号进行采样计数,根据计数的结果确认输入视频数据的分辨率,因为计数器的作用是在一个基频下对行同步信号、场同步信号以及数据使能信号的高低电平个数进行计数,三者结合就可以得出输入视频数据的分辨率,其中在FPGA侧对水平方向以及垂直方向的时序分别采用hcnt以及vent进行计数,hcnt与vent的位数依据液晶面板的分辨率而定,比如水平方向分辨率为1024,则hcnt计数器的位数为10 ;其中,在FPGA侧对水平方向、垂直方向以及数据使能信号分别采用hcnt、vent以及dcntO (dentI)进行计数,hcnt与vent的位数依据液晶面板的分辨率而定,比如水平方向分辨率为1024,则hcnt计数器的位数为10, dcntO (dentI)的位数与hcnt —样;2)数据使能信号时序产生的基础是在HS有效的上升沿信号到来时,开始记录在DE信号上升沿到来之前的对DCLK的计数值,并将其存储在dcntO中;dcntl中记录的是DE信号下降沿之后到HS下降后到来之前对DCLK的计数值;3)在FPGA侧水平方向的时序产生的基础是hcnt在VS信号有效之后,记录HS在低电平信号以及高电平信号期间对显示时钟DCLK的计数值,计数值与预设的寄存器中的时序参数进行比较,以判断行时序信号的大小,确认行同步信号的长度;4)水平方向还同时输出HS的上升沿脉冲指示信号HS_R,在垂直方向,使用vent对在VS有效期间的HS_R进行计数,vent与预设的寄存器中的时序参数进行比较,从而判断垂直方向的时序信号的大小,确认场同步信号的长度;其中时序参数相关寄存器中保存了如下值,以计算出行同步信号、场同步信号以及数据使能信号的高低电平个数:水平方向总宽度,水平方向有效信号开始位置,水平方向有效信号结束位置,水平方向同步信号开始位置,水平方向同步信号结束位置;垂直方向总行数,垂直方向有效信号开始行,垂直方向有效信号结合行,垂直方向同步信号开始行,垂直方向同步信号结束行,原始图像水平方向宽度,原始图像垂直方向宽度;放大图像左边界与显示器左边界距离,放大图像右边界与显示器右边界距离,放大图像上边界与显示器上边界距离,放大图像下边界与显示器下边界距离(因为最终图像放大后的效果是已知的,所以此部分寄存器可以删除不用)。5)在知悉输入图像分辨率后,水平和垂直的缩放因子可以通过计算得出,现以一副1536*2048分辨率的3M图像放大到2048*2560分辨率的5M图像为例说明其工作原理,其水平以及垂直的缩放因子分别为Sx=2048/1536=4/3,Sy=2560/2048=5/4。
[0043]步骤S2详细如下:(I)对每个像素亮度值的确定,DVI接口的R、G和B信号的组合即为每个像素的灰度值,在hcnt及vent对水平以及垂直的时序进行计数时,DE信号作为存储RGB的使能信号,在DE信号有效时,将RGB的颜色信号顺序缓存至存储器DDR3中,使用两片16bit (作为32bit的高低16bit)的DDR3构成一个32bit的存储器,存储每个像素的24bit的颜色数据,每个像素的地址映射到DDR3中,第一个像素的地址在DDR3中地址为O的存储位置,第一行的最后一个数据存放在地址为1535的存储器中;(2)寻址方式由水平寻址以及垂直寻址构成,第X行第y列的地址为:(x-l)*1536+ (y_l),例如第三行的第四个数据的地址的计算方式为:(3-1) *1536+ (4-1),具体地址排列如图2所示;
[0044]接着是缩放算法的实现:主要分为低频区域(平滑区域)的双线性插值算法以及高频区域(图像边缘)的梯度插值算法,因为在进行梯度插值的时候主要针对的就是高频变化的区域,双线性插值的时候针对的就是低频区域,低频区域与高频区域的区分:因为在实际图像
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1