CN105139338B - 多维查找表的生成方法及装置、图像缩放处理方法及装置 - Google Patents

多维查找表的生成方法及装置、图像缩放处理方法及装置 Download PDF

Info

Publication number
CN105139338B
CN105139338B CN201510444487.7A CN201510444487A CN105139338B CN 105139338 B CN105139338 B CN 105139338B CN 201510444487 A CN201510444487 A CN 201510444487A CN 105139338 B CN105139338 B CN 105139338B
Authority
CN
China
Prior art keywords
value
pixel
image
row
lut
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
Application number
CN201510444487.7A
Other languages
English (en)
Other versions
CN105139338A (zh
Inventor
马杨晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Pantum Electronics Co Ltd
Original Assignee
Zhuhai Pantum Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Pantum Electronics Co Ltd filed Critical Zhuhai Pantum Electronics Co Ltd
Priority to CN201510444487.7A priority Critical patent/CN105139338B/zh
Publication of CN105139338A publication Critical patent/CN105139338A/zh
Application granted granted Critical
Publication of CN105139338B publication Critical patent/CN105139338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4084Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

本发明公开了一种多维查找表的生成方法及装置、图像缩放处理方法及装置,克服现有技术中由滤波系数等的卷积运算决定缩放效果的图像缩放技术存在着效率较低的不足。该生成方法包括:确定图像的当前邻域内的行列方向上的像素点数量、图像数据的位深、对图像数据的位深进行分段的取值步长、对图像的行列进行缩放的缩放倍率;根据行方向上的像素点数量和列方向上的像素点数量、位深、取值步长、行缩放倍率和列缩放倍率,确定LUT的维度;根据取值步长、位深以及LUT的维度,确定LUT的输入部分的像素值;计算生成LUT的输出部分的像素值。本发明降低了图形缩放处理的运算量,大大提高了图像缩放处理的速度和效率。

Description

多维查找表的生成方法及装置、图像缩放处理方法及装置
技术领域
本发明涉及数字图像处理的技术领域,尤其涉及一种图像缩放处理方法及装置,以及用于图像缩放处理的多维LUT(查找表)的生成方法及装置。
背景技术
现有技术中,图像处理应用的非常广泛,例如扫描装置对原始画像扫描之后,要经过一定的图像处理算法,才能得到清晰的扫描图像。常用的图像处理算法主要有最近邻域插值、双线性插值以及双三次线性插值等。最近邻域插值是较为简单的一种插值算法,但是放大后的图像容易出现较明显的马赛克或锯齿现象。双线性插值算法能够明显消除锯齿现象,但会退化图像的高频部分,造成图像的模糊。双三次插值算法是双线性插值算法的改进,但是算法比较复杂,参数运算量大。使用上述这些图像缩放算法,容易造成图像中的物体缩放至难以辨认或扭曲的程度,图像处理整体上效果不佳。同时经过上述几种缩放算法处理之后的图像,容易丢失源图像的文字或者线条等边缘特征信息,不利于源图像特征信息的有效还原。
为了解决现有技术中存在的上述技术问题,一种解决方式是:利用滤波器原理实现图像缩放处理,缩放效果由滤波系数与滤波掩膜区域相应像素的卷积运算决定,通过调节滤波系数滤波控制每个掩膜区域效果。这种图像缩放处理技术对图像整个范围均具有良好的跟踪特性,处理后的图像光滑、轮廓清晰,并且具有节省硬件资源等优点。
发明人在实现本发明的过程中发现,上述方案仍存在着不足:在缩放处理的计算过程中,需要考虑多个滤波系数所进行的卷积运算。由于卷积运算过程中参数的运算量大,导致这种方案的图像缩放处理速度较慢,整体作业效率较低。
发明内容
本发明所要解决的技术问题是为了克服现有技术中由滤波系数等的卷积运算决定缩放效果的图像缩放技术存在着效率较低的不足。
本发明首先提供了一种用于图像缩放处理的多维查找表(LUT)的生成方法,其中,该方法包括:确定图像的当前邻域内的行方向上的像素点数量和列方向上的像素点数量、图像数据的位深、对图像数据的位深进行分段的取值步长、对图像的行进行缩放的行缩放倍率和对图像的列进行缩放的列缩放倍率;根据所述行方向上的像素点数量和列方向上的像素点数量、位深、取值步长、行缩放倍率和列缩放倍率,确定所述多维LUT的维度;根据所述取值步长、位深以及所述的维度,确定所述多维LUT的输入部分的像素值;计算生成所述多维LUT的输出部分的像素值。
优选地,根据所述行方向上的像素点数量和列方向上的像素点数量、位深、取值步长、行缩放倍率和列缩放倍率,确定所述多维LUT的维度,包括:根据表达式H=((2^bit)/T+1)^(m×n)确定所述多维LUT的行数;对于图像缩小处理,根据表达式L=m×X+n×Y+1确定所述多维LUT的列数;对于图像放大处理,根据表达式L=m×n+m×X×n×Y确定所述多维LUT的列数;其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,T为所述取值步长,X为所述行缩放倍率,Y为列缩放倍率,H为所述多维LUT的行数,以及L为所述多维LUT的列数。
优选地,根据所述取值步长、位深以及所述多维LUT的维度,确定所述多维LUT的输入部分的像素值,包括:根据所述位深,确定所述图像的像素值的范围;根据所述取值步长,将所述图像的像素值的范围进行分段;根据各段的始末值确定所述多维LUT的输入部分的每一行各列的像素值。
优选地,所述多维LUT的输入部分具有m×n列,邻域内的像素点的像素值的范围为[0,2^bit-1],根据所述取值步长将所述图像的像素值的范围分为(2^bit)/T+1段,所述多维LUT输入部分的每一列各行的像素值为0、T、2T、3T、……、2^bit-1-T、2^bit-1中的一个;其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,以及T为所述取值步长。
优选地,计算生成所述多维LUT的输出部分的像素值,包括:根据所述行缩放倍率、列缩放倍率和取值步长,获取邻域数据组成的索引像素矩阵;根据所述行缩放倍率和列缩放倍率确定预处理矩阵;对所述索引像素矩阵和预处理矩阵进行卷积运算,获取预处理参数;根据所述预处理参数,针对所述图像当前邻域内的文本、边界或图像信息,生成相应的输出像素值。
优选地,针对所述图像当前邻域内的文本、边界或图像信息,生成相应的输出像素值,包括:针对所述图像当前邻域内的文本或边界信息,利用手动调节、预设表达式或者所述索引像素矩阵中的最小值、最大值或平均值确定所述输出像素值;针对所述图像当前邻域内的图像信息,利用手动调节、预设表达式或者所述索引像素矩阵中的平均值确定所述输出像素值。
优选地,对于缩小处理,所述输出像素值生成单元利用如后所述的预设表达式确定所述输出像素值:LUT_Output=p×(Max-Min)/2^(bit+1)+average;对于放大处理,所述输出像素值生成单元利用如后所述的预设表达式确定所述输出像素值:LUT_Output=p×(Max-Min)/2^(bit+1)+邻域插值数据;其中,LUT_Output为所述输出像素值,p为所述预处理参数,Max为所述索引像素矩阵中的最大值,Min为所述索引像素矩阵中的最小值,average为所述索引像素矩阵中的平均值,以及bit为所述图像数据的位深。
优选地,该方法包括:在当前邻域内的像素点的像素值在所述多维LUT中找不到对应的输出值时,选取所述多维LUT中与所述像素点的像素值相邻的两行数据对应的输出值的平均值作为所述像素点的像素值的输出值;或者选取所述多维LUT中与所述像素点的像素值距离较近的数据对应的输出值作为所述像素点的像素值的输出值。
本发明还提供了一种用于图像缩放处理的多维查找表(LUT)的生成装置,其中,该装置包括:参数确定模块,确定图像的当前邻域内的行方向上的像素点数量和列方向上的像素点数量、图像数据的位深、对图像数据的位深进行分段的取值步长、对图像的行进行缩放的行缩放倍率和对图像的列进行缩放的列缩放倍率;维度确定模块,根据所述行方向上的像素点数量和列方向上的像素点数量、位深、取值步长、行缩放倍率和列缩放倍率,确定所述多维LUT的维度;输入确定模块,根据所述取值步长、位深以及所述多维LUT的维度,确定所述多维LUT的输入部分的像素值;计算模块,计算生成所述多维LUT的输出部分的像素值。
优选地,所述维度确定模块包括:行数确定单元,根据表达式H=((2^bit)/T+1)^(m×n)确定所述多维LUT的行数;列数确定单元,对于图像缩小处理,根据表达式L=m×X+n×Y+1确定所述多维LUT的列数;对于图像放大处理,根据表达式L=m×n+m×X×n×Y确定所述多维LUT的列数;其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,T为所述取值步长,X为所述行缩放倍率,Y为列缩放倍率,H为所述多维LUT的行数,以及L为所述多维LUT的列数。
优选地,所述输入确定模块根据所述位深,确定所述图像的像素值的范围;根据所述取值步长,将所述图像的像素值的范围进行分段;并根据各段的始末值确定所述多维LUT的输入部分的每一行各列的像素值。
优选地,所述多维LUT的输入部分具有m×n列,邻域内的像素点的像素值的范围为[0,2^bit-1],所述输入确定模块根据所述取值步长将所述图像的像素值的范围分为(2^bit)/T+1段,所述多维LUT输入部分的每一列各行的像素值为0、T、2T、3T、……、2^bit-1-T、2^bit-1中的一个;其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,以及T为所述取值步长。
优选地,所述计算模块包括:索引像素矩阵获取单元,根据所述行缩放倍率、列缩放倍率和取值步长,获取邻域数据组成的索引像素矩阵;预处理矩阵确定单元,根据所述行缩放倍率和列缩放倍率确定预处理矩阵;预处理参数获取单元,对所述索引像素矩阵和预处理矩阵进行卷积运算,获取预处理参数;输出像素值生成单元,根据所述预处理参数,针对所述图像当前邻域内的文本、边界或图像信息,生成相应的输出像素值。
优选地,所述输出像素值生成单元针对所述图像当前邻域内的文本或边界信息,利用手动调节、预设表达式或者所述索引像素矩阵中的最小值、最大值或平均值确定所述输出像素值;针对所述图像当前邻域内的图像信息,利用手动调节、预设表达式或者所述索引像素矩阵中的平均值确定所述输出像素值。
优选地,对于缩小处理,对于缩小处理,所述输出像素值生成单元利用LUT_Output=p×(Max-Min)/2^(bit+1)+average这一所述预设表达式确定所述输出像素值;对于放大处理,所述输出像素值生成单元利用LUT_Output=p×(Max-Min)/2^(bit+1)+邻域插值数据这一所述预设表达式确定所述输出像素值;其中,LUT_Output为所述输出像素值,p为所述预处理参数,Max为所述索引像素矩阵中的最大值,Min为所述索引像素矩阵中的最小值,average为所述索引像素矩阵中的平均值,以及bit为所述图像数据的位深。
优选地,该装置包括:选取模块,在当前邻域内的像素点的像素值在所述多维LUT中找不到对应的输出值时,选取所述多维LUT中与所述像素点的像素值相邻的两行数据对应的输出值的平均值作为所述像素点的像素值的输出值;或者选取所述多维LUT中与所述像素点的像素值距离较近的数据对应的输出值作为所述像素点的像素值的输出值。
本发明还提供了一种图像缩放处理方法,其中,该方法包括:根据预设的缩放倍率,对源图像数据进行遍历,获取基于所述源图像形成的映射矩阵;将所述映射矩阵中的像素值映射到对应的根据如上所述的方法生成的多维查找表的输入部分所在的行和列;根据所述行和列获取对应的输出部分作为缩放处理之后的结果图像。
本发明还提供了一种图像缩放处理装置,其中,该装置包括:遍历模块,根据预设的缩放倍率,对源图像数据进行遍历,获取基于所述源图像形成的映射矩阵;映射模块,将所述映射矩阵中的像素值映射到对应的根据如上所述的方法生成的多维查找表的输入部分所在的行和列;获取模块,根据所述行和列获取对应的输出部分作为缩放处理之后的结果图像。
与现有技术相比,本发明在进行图像缩放处理时,直接应用LUT,通过在LUT中查找与图像当前邻域内像素点的像素值对应的输出作为图像缩放处理的结果,降低了图形缩放处理的运算量,大大提高了图像缩放处理的速度和效率。经过本发明的技术方案进行的缩放处理之后的图像,光滑而且不会丢失特征信息,相比当前由滤波系数等的卷积运算决定缩放效果的技术方案而言,一定程度上降低了计算复杂度,提升了图像缩放处理的速度,提高了图像缩放处理的作业效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明的技术方案而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。
附图说明
附图用来提供对本发明的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本发明实施例的附图与本发明的实施例一起用于解释本发明的技术方案,但并不构成对本发明技术方案的限制。
图1为本发明实施例的用于图像缩放处理的多维LUT的生成方法的流程示意图。
图1a为图1所示实施例中确定LUT查找表的输入部分的像素值的流程示意图。
图1b为图1所示实施例中计算生成LUT查找表的输出部分的像素值的流程示意图。
图2为本发明的实施例中图像缩小处理的原理示意图。
图3为本发明的实施例中图像放大处理的原理示意图。
图4a为本发明的实施例中用于图像缩小处理的LUT表的立体示意图。
图4b为本发明的实施例中用于图像缩小处理的LUT表的底面示意图。
图5a为本发明的实施例中用于图像放大处理的LUT表的立体示意图。
图5b为本发明的实施例中用于图像放大处理的LUT表的底面示意图。
图6为本发明的实施例中生成LUT查找表的流程示意图。
图7为本发明的实施例中图像缩小处理的流程示意图。
图8为本发明的实施例中图像放大处理的流程示意图。
图9为本发明的实施例中LUT查找表的映射示意图。
图10为本发明的实施例中预处理矩阵的举例示意图。
图11为本发明的实施例中文本或边界的像素数据的举例示意图。
图12为本发明的实施例中图像的像素数据的举例示意图。
图13为本发明的基于LUT的图像缩放处理方法的流程示意图。
图14为本发明实施例的用于图像缩放处理的多维LUT的生成装置的构造示意图。
图15为本发明实施例的图像缩放处理装置的构造示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成相应技术效果的实现过程能充分理解并据以实施。本发明实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,附图所示出的本发明实施例的方法所包含的步骤,可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然本发明实施例的方法在所示的流程图中体现出了本发明的技术方案在执行时的一定的逻辑顺序,但通常而言,该逻辑顺序仅限于通过该流程图所示出的实施例。在本发明的另一些实施例中,本发明的技术方案的逻辑顺序也可以以不同于附图所示的方式来实现。
如图1所示,本发明实施例的用于图像缩放处理的多维查找表(LUT)的生成方法,主要包括如下步骤。
步骤S110,确定图像的当前邻域内的行列方向上的像素点的个数m和n、图像数据的位深bit、对图像数据的位深进行分段的取值步长(Step)T、对图像的行进行缩放的行缩放倍率X和对图像的列进行缩放的列缩放倍率Y。在其他的一些实施例中,也可以一并确定对图像进行缩放的处理模式mode。对图像进行缩放的处理模式mode主要包括对图像进行缩小处理、对图像进行放大处理以及对图像不进行缩放处理。
步骤S120,根据该行方向上的像素点数量m和列方向上的像素点数量n、位深bit、取值步长T、行缩放倍率X和列缩放倍率Y,确定LUT的维度。
其中,LUT查找表的行数H=((2^bit)/T+1)^(m×n)。对于行缩放和列缩放的缩放比例表示缩放方式一致时,比如行缩放比例与列缩放比例均表示缩小,或者均表示放大,则只需要经过一次缩放处理。对于行缩放和列缩放的缩放比例表示缩放方式不一致时,比如行缩放比例表示放大而列缩放比例表示缩小,或者行缩放比例表示缩小而列缩放比例表示放大,则会经过两次缩放处理。
当行缩放的比例与列缩放的比例均小于等于1时,mode=1,表示对图像进行缩小处理,LUT查找表的列数L=m×X+n×Y+1;当行缩放的比例与列缩放的比例均大于等于1时,mode=2,表示对图像进行放大处理,LUT查找表的列数L=m×n+m×X×n×Y。行缩放比例与列缩放比例均等于1时,mode=0,表示图像不进行缩放处理;或者,也可以认为是对图像进行缩放处理,只不过缩放比例较为特殊。
对于行缩放倍率X=2而列缩放比例Y=1/2的处理情形,首先是在一个方向上进行缩放而在另一个方向上不进行缩放,具体地可以先在行方向上以X=2进行放大处理,而列方向上以Y=1保持不变,此时mode=2;在此放大处理的基础上,在行方向上以X=1保持不变且列方向上以Y=1/2进行缩小处理,此时mode=1。对于这种情形,由于缩放处理过程中会出现两个mode值,对应的LUT表列方向的计算方法不同,因此会产生两个LUT表。假定源图像是行列方向上分别有2个像素点的2*2图像A,对于X=1/2及Y=2的缩放处理,首先将图像A通过X=1/2及Y=1进行缩小处理,此时mode=1,相应生成LUT表1,通过查表获取第一次缩放处理后的中间图像B,该中间图像B是行方向上有1个像素点而列方向上有2个像素点的1*2图像。然后在图像B的基础,通过X=1以及Y=2进行放大处理,此时mode=2,会相应生成LUT表2,通过查表获取第二次缩放处理后的结果图像C。
对图像进行缩放的处理模式mode,可以在确定行缩放倍率X和列缩放倍率Y时一并确定,也可以在后续使用时根据行缩放倍率X和列缩放倍率Y进行推导得来。比如行缩放的比例与列缩放的比例均小于等于1,则可以对应得出mode=1;如果行缩放的比例与列缩放的比例均大于等于1,则可以对应得出mode=2。如果行缩放和列缩放的缩放比例表示缩放方式不一致,则也可以得出放大处理和缩小处理的两阶段中,其中一个阶段mode=1而另一个阶段mode=2。本发明以下内容中,以确定行缩放倍率X和列缩放倍率Y时一并确定对图像进行缩放的处理模式mode为例进行举例说明,但本领域的普通技术人员能够理解,在确定行缩放倍率X和列缩放倍率Y时,并不确定mode;而在后续需要使用时,再根据行缩放倍率X和列缩放倍率Y推导得出,同样也是可行的。
步骤S130,根据取值步长T、图像数据的位深bit以及所确定的LUT的维度,确定LUT查找表的输入部分的像素值。
LUT的输入部分具有m*n列,邻域内的像素点的像素值的范围为[0,2^bit-1],则LUT查找表输入部分的每一列各行的像素值可以是0、T、2T、3T、……、2^bit-1-T、2^bit-1中的一个。
步骤S140,计算生成LUT查找表的输出部分的像素值。
如图1a所示,上述步骤S130,确定LUT查找表的输入部分的像素值,具体包括如下步骤。
步骤S131,根据图像数据的位深bit,确定图像像素值的范围为[0,2^bit-1]。
步骤S132,根据对图像数据的位深进行分段的取值步长T,将图像像素值表示的范围[0,2^bit-1]进行分段,获得LUT查找表在数据总长度方向的分段数量(或者说分割数量),也即将图像像素值表示的范围划分为(2^bit)/T+1段,段的始末值分别是0、T、2T、3T、……2^bit-1-T、2^bit-1。
步骤S133,根据段的始末值确定LUT的输入部分的每一行各列的像素值,LUT查找表的输入部分的每一列各行的像素值可以为段的始末值0、T、2T、3T、……、2^bit-1-T、2^bit-1中的一个。
如图1b所示,上述步骤S140,计算生成LUT查找表的输出部分的像素值,具体包括如下步骤。
步骤S141,根据所确定的行缩放倍率、列缩放倍率和取值步长,获取邻域数据组成的索引像素矩阵a。
步骤S142,根据行缩放倍率和列缩放倍率确定预处理矩阵b。
步骤S143,对矩阵a和矩阵b进行卷积运算,获取预处理参数。
步骤S144,根据预处理参数,区分图像当前邻域内的文本、边界及图像信息,生成LUT查找表的输出部分的像素值。当前邻域内的文本或边界范围内有相近像素值的个数比较少,本发明的实施例用最小值、最大值或平均值来确定LUT查找表的输出部分的像素值。如果是图像部分范围内有相近像素值的个数较多,本发明的实施例采用平均值来确定LUT查找表的输出部分的像素值。手动调节或者表达式计算来确定LUT查找表的输出部分的像素值,对于文本、边界及图像信息则都适用。
缩小处理的处理方式通常包括最小值、最大值、平均值、利用预设表达式进行计算、手动调节等处理方式,放大处理通常包括过渡渐变方式进行。缩小处理如图7所示,放大处理如图8所示,其中LUT_output表示的LUT查找表的输出值,Min、Max、average分别表示的是索引像素矩阵中的最小值、最大值和平均值,函数min(),max()和average()分别用来计算多个输入参数的最小值、最大值和平均值。
对于图7所示缩小处理,首先确定矩阵a(如步骤S710所示)和矩阵b(如步骤S720所示),然后确定预处理参数p(如步骤S730所示)。然后再根据文本、边界及图像区域的不同,确定处理方式(如步骤S740所示)。对于缩小处理,将最小值、最大值、平均值或者手动调节的值确定为LUT表的输出值LUT_Output,或者根据如下表达式计算LUT表的输出值LUT_Output(如步骤S750所示):
LUT_Output=p×(Max-Min)/2^(bit+1)+average 式(1)
对于图8所示放大处理,首先确定矩阵a(如步骤S810所示)和矩阵b(如步骤S820所示),然后确定预处理参数p(如步骤S830所示)。然后再根据文本、边界及图像区域的不同,采用如下表达式计算LUT表的输出值LUT_Output(如步骤S840所示):
LUT_Output=p×(Max-Min)/2^(bit+1)+邻域插值数据 式(2)
本发明的实施例先根据预处理参数区分图像当前邻域内的文本、边界及图像信息,并对邻域内的文本、边界及图像区域进行不同地处理,相对于现有技术中对图像当前邻域进行相同的处理而言,能够保证经过图像缩放处理后的图像光滑、特征信息不丢失。
本发明的实施例所采用的LUT查找表输出值的计算方法,相较于现有技术中基于多个滤波系数进行计算的方法,大大降低了运算的复杂度,节约了运算开销,提高了处理效率。本发明的实施例中,计算LUT查找表输出值时使用的方法,适用于多种调试方式(手动和表达式计算等),且应用原理简单,方便理解和使用,降低了实现难度和使用难度。
后文表1示出了本发明实施例的一种多维LUT。该多维LUT的行列数是与图像缩放处理相关的参数,这些参数比如为图像数据的位深参数、对图像数据的位深进行分段的取值步长、缩放处理模式是放大还是缩小以及图像的缩放倍率等。
该多维LUT的输入部分的每一行列填入的数据与图像数据的位深参数、取值步长有关。输入部分的每一行数据对应输出部分相应行的输出值,在LUT查找表中查找与邻域内的像素点的像素值对应的行,从而找到相应的LUT查找表输出,继而实现采用LUT查找表实现图像的缩放处理。
该多维LUT的输出部分表示的是邻域内的数据经过图像缩放处理后的输出结果。
确定多维LUT的生成参数。这些参数主要是图像缩放处理时的行缩放倍率X和列缩放倍率Y,确定取值步长T、图像数据的位深bit以及图像缩放处理时的处理模式mode;其中,行缩放倍率X、列缩放倍率Y与处理模式mode相对应。如果是图像放大处理,则处理模式mode表示的是放大处理,行缩放倍率X和列缩放倍率Y可以均大于等于1。如果是图像缩小处理,则处理模式mode表示的是缩小处理,行缩放倍率X和列缩放倍率Y可以均小于等于1。
举例说明,假定需要进行缩放处理的图像,其原始图像分辨率为100dpi*100dpi,缩放处理的目标图像分辨率为100dpi*200dpi,即行缩放倍率X=1,列缩放倍率Y=2。
图像数据的位深参数即图像的位分辨率,又称位深,是用来衡量每个像素储存信息的位数,这种位分辨率决定了可以标记为多少种色彩等级的可能性,一般常见的有8位、16位、24位或32位色彩,有时也将位分辨率称为颜色深度。所谓“位”,实际上是指“2”的平方次数,8位即是2的八次方,等于256。所以,一幅8位色彩深度的图像,所能表现的色彩等级是256级。
对于图像数据的位深为8bit,取值步长T=16时,则该图像数据将被划分为(2^8/16)+1段,共17段。
对于处理模式mode,作为举例,当mode=0时,表示图像不进行缩放处理;当mode=1时,表示图像进行缩小处理,缩放倍率X、Y都小于等于1;当mode=2时,表示图像进行放大处理,缩放倍率X、Y都大于等于1。基于前述内容可以理解,本发明的技术方案中,处理模式mode也可以在后续需要使用时,根据行缩放倍率X和列缩放倍率Y推导得出。
下面就图像放大或者缩小处理进行一个简要的说明,这里的缩小放大处理更加侧重于图像长宽尺寸不变,像素数量改变的处理;但是对于缩放之后长宽尺寸改变/像素数量不变的处理也同样适用。
对于图像长宽尺寸不变,像素数量改变的缩放处理,当mode=1,即对图像进行缩小处理时,假定原始图像分辨率为200dpi*200dpi,目标图像分辨率为100dpi*100dpi,则行缩放倍率X=1/2,列缩放倍率Y=1/2。图像缩小处理的本质,即由源图像行列方向的多个点生成目标图像的一个点。如图2所示,其中X01、X02、X03、X11、X12分别表示行列方向所需映射的像素点,O1表示进行缩小处理之后的目标图像数据。
对于图像长宽尺寸不变,像素数量改变的缩放处理,当mode=2,即对图像进行放大处理时,假定原始图像分辨率为100dpi*100dpi,目标图像分辨率为200dpi*200dpi,则行缩放倍率X=2,列缩放倍率Y=2。图像放大处理的本质,即由源图像行列方向的多个点生成目标图像中行列是源图像一定倍数的多个点,一般需要生成新点的数量为源图像的(X*Y)倍。如图3所示,其中X01、X02、X11、X12分别表示行列方向所需映射的像素点,O11、O12、O13、O14、O21、O22、O23、O24、O31、O32、O33、O34、O41、O42、O43、O44表示进行放大处理处理之后的目标图像数据。
在下文中,bit表示位深,D表示LUT查找表在数据总长度方向的分割数量,L表示LUT查找表的列数,H表示LUT表的行数,m表示邻域行方向像素个数,n表示邻域列方向像素个数。
首先,计算图像的像素值范围,[0,(2^bit)-1]。
然后,计算LUT查找表在数据总长度方向的分割数量:D=((2^bit)/T)+1;取点个数的多少决定了缩放处理之后的图像精度,即取点个数越多,图像质量越好,但是导致需要的LUT表越复杂。
第三,计算LUT查找表的列数,计算表达式如下:
当mode=1,即进行缩小处理,L=m×X+n×Y+1;
当mode=2,即进行放大处理,L=m×n+m×X×n×Y。
第四,计算获得最终要生成的多维LUT表的行数,计算表达式如下:
H=D^(m×n)。
即假定处理图像的位深bit为8,取值步长T=32,原始图像为2*2,即m=2,n=2,则:
图像处理的像素值的范围为0~255;
LUT查找表在数据总长度方向的分割数量D=(2^8)/32+1=9;
当进行放大处理,也即mode=2时,假定要将2*2的邻域扩大至4*4,则LUT表的列数为L=2*2+2*2*2*2=4+16=20;
当进行缩小处理,也即mode=1,假定要将2*2的邻域缩小至1*1,则LUT表的列数为L=2*2+2*(1/2)*2*(1/2)=5;
LUT表的行数为H=9^(2*2)。
举例说明,当mode=1,即缩小处理时,如图4a和图4b所示,简单描述了缩小倍数为2*2(行方向缩小为1/2,列方向缩小1/2)的示意图。图中根据缩小处理所需像素点个数(4个)共建立了基于四角边形的多维映射坐标系。该坐标系纵向高度与图像bit数相关,该坐标系纵向高度的像素值划分间隔与取值步长一致,所有不同的点均可在该坐标系中找到相应位置,且原始像素点组成了大小不一的二维平面四角多边形。缩放处理值O1即处于该平面内。
此外,当mode=2,即放大处理时,如图5a和图5b所示的放大倍数为2*2(行方向放大2倍,列方向放大2倍)的示意图,图中根据放大处理所需像素点个数(4个)共建立了基于四角多边形的多维映射坐标系。该坐标系纵向高度与图像bit数相关,该坐标系纵向高度的像素值划分间隔与取值步长一致,所有不同的点均可在该坐标系中找到相应位置,且原始像素点组成了大小不一的二维平面四角多边形。放大处理值O1即处于该平面内。
针对放大处理,需要确定当前处理像素点,例如X01;其他像素点作为邻域像素值。放大处理基于较为简单的邻域线性插值算法。
在LUT表的初始化的过程中,一般设定初始值为所有映射索引的平均值。
表1、多维LUT查找表基本形式:
表1主要示出了对图像进行缩小的LUT表组织形式(N=H)。表中输出值(Output_Va1ue)的灰色区域代表对图像进行放大处理时的LUT表形式。
表1-1、对图像进行缩小处理的LUT表举例(2*2,即当前邻域内行方向上和列方向上的像素点均为2个):
表1-2、对图像进行放大处理的LUT表举例(2*2):
下面以具体实例描述计算LUT查找表行列数据及输入部分的输入值(像素值)的过程。
假定当前邻域为2*2,即当前邻域行列方向的像素个数为m=2,n=2,位深bit=8,取值步长T=256,分割数量为D,则有:
①D=2^8/256+1=2;
②LUT查找表的行数H=2^(2*2)=16;
暂时不考虑LUT查找表的输出部分,则当前LUT表输入部分有16行、4列。表2示出了填写了数值之后的LUT表的输入部分。
表2填写数值后的LUT表的输入部分
下面具体介绍在LUT查找输入部分的输入值的过程。
由于数据位深bit=8,即表示邻域内的像素由8个二进制位表示,则邻域内的像素点的像素值的取值范围为0~255,由于取值步长为256,则邻域内的像素点分别是0和255,则邻域内每个像素值都有2种取值,0或255,填入LUT表输入部分如表2所示,则根据邻域内的像素点的像素值可以查找LUT表获取对应的LUT查找表输出值,举例说明当邻域内的像素点的像素值分别是0、0、0、255,则对应的输出值应当是LUT查找表第二行对应的输出数据。
特别地,在使用如表2所示的LUT查找表时,当邻域内的像素点的像素值分别是0、0、0、164,即由于图像处理精度不同,LUT表的取值步长及复杂度不同,当前邻域内的像素点的像素值在LUT查找表中可能找不到对应的输出值,处理方法可以参考下面的举例:
①第一种处理方法是选取LUT查找中与该像素点的像素值相邻的两行数据所对应的输出值的平均值,作为该像素点的像素值的输出值。由于像素值0、0、0、18位于LUT查找表第一行数据0、0、0、0及第二行数据0、0、0、255,则常用的第一种处理方法有选取LUT查找表第一行数据对应的输出值和第二行数据对应的输出值的平均值作为像素值0、0、0、164对应的输出值。
②第二种处理方法是选取LUT查找表中与该像素点的像素值距离较近的数据对应的输出值,作为该像素点的像素值的输出值。具体地,选取与像素值0、0、0、164距离较近的LUT查找表中的数据即0、0、0、255对应的输出值作为对应的输出值。
如图6所示,LUT查找表的计算生成主要根据如下步骤来进行。
步骤S610,根据缩放倍率和取值步长,将LUT查找表不同行列的输入的数据组成索引像素矩阵a,即在LUT查找表中根据缩放倍率获取一个多边形平面。
举例说明,如表3所示的为一个2*2的LUT查找表索引像素矩阵例表。
表3、LUT查找表索引像素矩阵例表
a[0][1] a[0][2]
a[1][1] a[1][2]
步骤S620,根据缩放倍率生成预处理矩阵b,对原始像素矩阵进行预处理;预处理矩阵的大小主要由缩放倍率决定。
举例说明缩放倍率为2*2(即行缩放倍率X=2以及列缩放倍率为Y=2),并且mode=2时,所生成的预处理矩阵b为2*2(行列方向上分别有2个像素值),如表4所示,
表4、预处理矩阵例表
b[0][1] b[0][2]
b[1][1] b[1][2]
其中预处理矩阵中的值,例如表4所示的b[0][1]、b[0][2]、b[1][1]和b[1][2],是由具体的情况来进行定义的,目的是为了辅助判断源图像邻域部分的文本、边界及图像信息,根据不同特征信息的实际数据采用不同的预处理矩阵,可以用来检测邻域像素属性(边界、文字或者图像)及相关信息(黑点及边界方向)。
假定预处理矩阵为2*2,预处理矩阵举例如图10所示,即要进行左边界检测时,b[0][1]、b[0][2]、b[1][1]、b[1][2]对应的值分别是-1、1、-1、1,其他部分的检测原理类似,这里不再冗述。
步骤S630,根据如下表达式计算当前索引像素矩阵的预处理参数p:
p=a[0][1]*b[0][1]+a[0][2]*b[0][2]+a[1][1]*b[1][1]+a[1][2]*b[1][2]
p参数包含了当前区域的特征信息,即源图像当前邻域内的文本、边界或图像信息,其中具体的区分方法如下:
1、边界、文本区域主要特征:
(1)当前区域与周围邻域像素的像素差值存在较明显差异;
(2)其内容范围内具有相近像素值的像素点个数较小。
2、图像当前区域的特征正好与边界或文本区域相反,即:
(1)其与周围邻域像素的像素差值无明显差异;
(2)其内容范围内具有相近像素值的像素点个数较多。
基于上述特征分析,可以通过设定不同的预处理矩阵及确定方式来进行特征信息的提取,防止当前区域在进行缩放时丢失。相关示例数据主要有:在这里假定图像数据的位深bit=8,则灰阶为0到255,0代表黑点,255代表白点。以2*2邻域为例,文本或边界的像素数据举例如图11所示。以2*2邻域为例,图像的像素数据举例如图12所示。
步骤S640,根据不同的p取值,采用不同模式生成对应的输出像素值。其中,生成输出像素值所采用的模式,可以是根据表达式进行计算,也可以是使用手动修改的方式来进行。
下面以缩放倍率为3*2为例对图像放大处理和图像缩小处理进行说明。
当mode=1时,对图像进行缩小处理,具体的处理方式有:
⑴最小值处理方式:
LUT_output=min(a[0][1],a[0][2],a[0][3],a[1][1],a[1][2],a[1][3])。
⑵表达式计算处理方式:
LUT_output=((p*(Max-Min))/2^(bit+1))+average。
其中最小值的计算:
Min=min(a[0][1],a[0][2],a[0][3],a[1][1],a[1][2],a[1][3])。
最大值的计算:
Max=max(a[0][1],a[0][2],a[0][3],a[1][1],a[1][2],a[1][3])。
平均值的计算:
Average=average(a[0][1],a[0][2],a[0][3],a[1][1],a[1][2],a[1][3])。
⑶手动调节处理方式:
手动调节可以直接对LUT表的输出值LUT_output进行调试,调试范围为[0~(2^bit-1)];
此外,放大处理使用计算表达式如下:
首先根据放大倍率计算当前数据的多个插值数据,设为d[i][j],插值数据计算方式使用较为简单的邻域线性插值计算方式。
根据计算出来的p,对插值数据进行优化,使其保持图像当前像素点的特征信息,计算表达式如下:
LUT_Output(i,j)=p×(Max-Min)/2^(bit+1)+d[i,j]
其中最小值的计算:
Min=min(a[0][1],a[0][2],a[0][3],a[1][1],a[1][2],a[1][3])
最大值的计算:
Max=max(a[0][1],a[0][2],a[0][3],a[1][1],a[1][2],a[1][3])
其中i,j表示放大处理之后若干填补数据在目标图像中的位置索引值
由此可知,在LUT表生成过程中,使用的算法适用于多种调试方式(手动和表达式计算等),且应用原理简单,方便理解及使用。除此之外,使用本发明可以根据包含当前区域的特征信息即源图像当前邻域内的文本、边界或图像信息的参数的数值,来对源图像不同区域进行相应的处理,相对于现有技术中对图像当前邻域进行相同的缩放处理而言,大大提高了图像处理的质量。
以下详细介绍如何利用本发明的LUT查找表进行图像缩放处理。
如图13所示,本发明的基于LUT的图像缩放处理方法,主要包括如下步骤。
步骤S13a,根据预设的缩放倍率,对源图像数据进行遍历,获取基于源图像中的数据所形成的LUT表的映射矩阵a。
其中,源图像就是当前邻域的像素。举例说明,当前邻域为2*2,即行列方向上分别有2个像素点,假定行方向上为e1和e2、列方向上为e3和e4,则LUT表映射矩阵a中的数据a[0][1]=e1,a[0][2]=e2a[1][1]=e3,a[1][2]=e4。在使用LUT查找表查找输出值时,对应的LUT查找表输入部分就分别是e1、e2、e3和e4。
步骤S13b,将当前映射矩阵a中的像素值映射至与其对应的多维LUT表的输入部分所在的行和列,该多维LUT表根据前述生成方法而生成。
此处的映射矩阵的像素值,即为当前邻域内的像素点的像素值。比如说当前邻域内的像素值分别是0、0、0、255,则在相应的LUT表中查找输入部分的数据分别是0、0、0、255对应的哪一行,从而找到对应的输出值。
步骤S13c,根据该输入部分所在的行和列,获取对应的输出部分作为缩放处理结果,获得缩放处理之后的结果图像。
由于最终LUT查找表的输出结果直接是图像进行缩放处理后的像素值,因此可以有效解决缩放处理插值计算及滤波处理速度较慢的问题。
LUT缩放表映射原理如图9所示,假定处理的源图像为2*3,mode=1,即进行缩小处理。
表5、2*3源图像举例
X01 X02 X03
X11 X12 X13
如表5所示,则图11中,c[1][2]、c[0][2]、c[0][3]、c[1][1]、c[1][2]、c[1][3]分别表示的是X01、X02、X03、X11、X12、X13。
如图14所示,本发明的用于图像缩放处理的多维查找表(LUT)的生成装置,主要包括有参数确定模块141、维度确定模块142、输入确定模块143以及计算模块144。
参数确定模块141确定图像的当前邻域内的行方向上的像素点数量m和列方向上的像素点数量n、图像数据的位深bit、对图像数据的位深进行分段的取值步长T、对图像的行进行缩放的行缩放倍率X和对图像的列进行缩放的列缩放倍率Y。
维度确定模块142与参数确定模块141相连,根据所述行方向上的像素点数量m和列方向上的像素点数量n、位深bit、取值步长T、行缩放倍率X和列缩放倍率Y,确定LUT的维度。
输入确定模块143与参数确定模块141及维度确定模块142相连,根据所述取值步长T、位深bit以及所述多维LUT的维度,确定所述多维LUT的输入部分的像素值。
计算模块144与输入确定模块143相连,计算生成所述多维LUT的输出部分的像素值。
如图14所示,维度确定模块142包括均与参数确定模块141及输入确定模块143相连的行数确定单元142a和列数确定单元142b。行数确定单元142a根据表达式H=((2^bit)/T+1)^(m×n)确定所述多维LUT的行数。列数确定单元142b,对于图像缩小处理,根据表达式L=m×X+n×Y+1确定所述多维LUT的列数;对于图像放大处理,根据表达式L=m×n+m×X×n×Y确定所述多维LUT的列数。其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,T为所述取值步长,X为所述行缩放倍率,Y为列缩放倍率,H为所述多维LUT的行数,以及L为所述多维LUT的列数。
输入确定模块143根据所述位深bit,确定所述图像的像素值的范围;根据所述取值步长T,将所述图像的像素值的范围进行分段;并根据各段的始末值确定所述多维LUT的输入部分的每一行各列的像素值。
在LUT的输入部分具有m*n列,以及邻域内的像素点的像素值的范围为[0,2^bit-1]时,所述输入确定模块143根据所述取值步长T将所述图像的像素值的范围分为(2^bit)/T+1段,所述多维LUT输入部分的每一列各行的像素值为0、T、2T、3T、……、2^bit-1-T、2^bit-1中的一个;其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,以及T为所述取值步长。
计算模块144包括索引像素矩阵获取单元、预处理矩阵确定单元、预处理参数获取单元以及输出像素值生成单元。索引像素矩阵获取单元根据所述行缩放倍率X、列缩放倍率Y和取值步长T,获取邻域数据组成的索引像素矩阵a。预处理矩阵确定单元根据所述行缩放倍率X和列缩放倍率Y确定预处理矩阵b。预处理参数获取单元对所述索引像素矩阵a和预处理矩阵b进行卷积运算,获取预处理参数。输出像素值生成单元,根据所述预处理参数,针对所述图像当前邻域内的文本、边界或图像信息,生成相应的输出像素值。
输出像素值生成单元针对所述图像当前邻域内的文本或边界信息,利用手动调节、预设表达式或者所述索引像素矩阵中的最小值、最大值或平均值确定所述输出像素值;针对所述图像当前邻域内的图像信息,利用手动调节、预设表达式或者所述索引像素矩阵中的平均值确定所述输出像素值。
如图14所示,该装置还可以包括选取模块145。选取模块145与输入确定模块143及计算模块144相连,在当前邻域内的像素点的像素值在所述多维LUT中找不到对应的输出值时,选取所述多维LUT中与所述像素点的像素值相邻的两行数据对应的输出值的平均值作为所述像素点的像素值的输出值;或者选取所述多维LUT中与所述像素点的像素值距离较近的数据对应的输出值作为所述像素点的像素值的输出值。当然,此处两种确定输出值的方式仅作为举例,在实际应用中还可以有其他确定方式。
本发明实施例的多维查找表(LUT)的生成装置,还请参考前述本发明的多维查找表(LUT)的生成方法的实施例的详细介绍,此处不再赘述。
如图15所示,本发明实施例的图像缩放处理装置,主要包括有遍历模块151、映射模块152以及获取模块153。遍历模块151根据预设的缩放倍率,对源图像数据进行遍历,获取基于所述源图像形成的映射矩阵a。映射模块152与遍历模块151相连,将所述映射矩阵a中的像素值映射到对应的根据前述方法生成的多维查找表的输入部分所在的行和列。获取模块153与映射模块152相连,根据所述行和列获取对应的输出部分作为缩放处理之后的结果图像。本发明实施例的图像缩放处理装置,还请参考前述本发明的多维查找表(LUT)的生成方法或者生成装置的实施例进行理解。
本领域的技术人员应该明白,上述的本发明实施例所提供的装置的各组成部分,以及方法中的各步骤,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。可选地,它们可以用计算装置可执行的程序代码来实现。从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明技术方案而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (16)

1.一种用于图像缩放处理的多维查找表(LUT)的生成方法,其中,该方法包括:
确定图像的当前邻域内的行方向上的像素点数量和列方向上的像素点数量、图像数据的位深、对图像数据的位深进行分段的取值步长、对图像的行进行缩放的行缩放倍率和对图像的列进行缩放的列缩放倍率;
根据所述行方向上的像素点数量和列方向上的像素点数量、位深、取值步长、行缩放倍率和列缩放倍率,确定所述多维LUT的维度;
根据所述取值步长、位深以及所述的维度,确定所述多维LUT的输入部分的像素值;
计算生成所述多维LUT的输出部分的像素值;
其中,根据所述取值步长、位深以及所述多维LUT的维度,确定所述多维LUT的输入部分的像素值,包括:
根据所述位深,确定所述图像的像素值的范围;
根据所述取值步长,将所述图像的像素值的范围进行分段;
根据各段的始末值确定所述多维LUT的输入部分的每一行各列的像素值。
2.根据权利要求1所述的方法,其中,根据所述行方向上的像素点数量和列方向上的像素点数量、位深、取值步长、行缩放倍率和列缩放倍率,确定所述多维LUT的维度,包括:
根据表达式H=((2^bit)/T+1)^(m×n)确定所述多维LUT的行数;
对于图像缩小处理,根据表达式L=m×X+n×Y+1确定所述多维LUT的列数;
对于图像放大处理,根据表达式L=m×n+m×X×n×Y确定所述多维LUT的列数;
其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,T为所述取值步长,X为所述行缩放倍率,Y为列缩放倍率,H为所述多维LUT的行数,以及L为所述多维LUT的列数。
3.根据权利要求1所述的方法,其中:
所述多维LUT的输入部分具有m×n列,邻域内的像素点的像素值的范围为[0,2^bit-1],根据所述取值步长将所述图像的像素值的范围分为(2^bit)/T+1段,所述多维LUT输入部分的每一列各行的像素值为0、T、2T、3T、……、2^bit-1-T、2^bit-1中的一个;
其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,以及T为所述取值步长。
4.根据权利要求1所述的方法,其中,计算生成所述多维LUT的输出部分的像素值,包括:
根据所述行缩放倍率、列缩放倍率和取值步长,获取邻域数据组成的索引像素矩阵;
根据所述行缩放倍率和列缩放倍率确定预处理矩阵;
对所述索引像素矩阵和预处理矩阵进行卷积运算,获取预处理参数;
根据所述预处理参数,针对所述图像当前邻域内的文本、边界或图像信息,生成相应的输出像素值。
5.根据权利要求4所述的方法,其中,针对所述图像当前邻域内的文本、边界或图像信息,生成相应的输出像素值,包括:
针对所述图像当前邻域内的文本或边界信息,利用手动调节、预设表达式或者所述索引像素矩阵中的最小值、最大值或平均值确定所述输出像素值;
针对所述图像当前邻域内的图像信息,利用手动调节、预设表达式或者所述索引像素矩阵中的平均值确定所述输出像素值。
6.根据权利要求5所述的方法,其中:
对于缩小处理,所述预设表达式为LUT_Output=p×(Max-Min)/2^(bit+1)+average;
对于放大处理,所述预设表达式为LUT_Output=p×(Max-Min)/2^(bit+1)+邻域插值数据;
其中,LUT_Output为所述输出像素值,p为所述预处理参数,Max为所述索引像素矩阵中的最大值,Min为所述索引像素矩阵中的最小值,average为所述索引像素矩阵中的平均值,以及bit为所述图像数据的位深。
7.根据权利要求1所述的方法,其中,该方法包括:
在当前邻域内的像素点的像素值在所述多维LUT中找不到对应的输出值时,
选取所述多维LUT中与所述像素点的像素值相邻的两行数据对应的输出值的平均值作为所述像素点的像素值的输出值;或者
选取所述多维LUT中与所述像素点的像素值距离较近的数据对应的输出值作为所述像素点的像素值的输出值。
8.一种用于图像缩放处理的多维查找表(LUT)的生成装置,其中,该装置包括:
参数确定模块,确定图像的当前邻域内的行方向上的像素点数量和列方向上的像素点数量、图像数据的位深、对图像数据的位深进行分段的取值步长、对图像的行进行缩放的行缩放倍率和对图像的列进行缩放的列缩放倍率;
维度确定模块,根据所述行方向上的像素点数量和列方向上的像素点数量、位深、取值步长、行缩放倍率和列缩放倍率,确定所述多维LUT的维度;
输入确定模块,根据所述取值步长、位深以及所述多维LUT的维度,确定所述多维LUT的输入部分的像素值;
计算模块,计算生成所述多维LUT的输出部分的像素值;
其中:所述输入确定模块根据所述位深,确定所述图像的像素值的范围;根据所述取值步长,将所述图像的像素值的范围进行分段;并根据各段的始末值确定所述多维LUT的输入部分的每一行各列的像素值。
9.根据权利要求8所述的装置,其中,所述维度确定模块包括:
行数确定单元,根据表达式H=((2^bit)/T+1)^(m×n)确定所述多维LUT的行数;
列数确定单元,对于图像缩小处理,根据表达式L=m×X+n×Y+1确定所述多维LUT的列数;对于图像放大处理,根据表达式L=m×n+m×X×n×Y确定所述多维LUT的列数;
其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,T为所述取值步长,X为所述行缩放倍率,Y为列缩放倍率,H为所述多维LUT的行数,以及L为所述多维LUT的列数。
10.根据权利要求8所述的装置,其中:
所述多维LUT的输入部分具有m×n列,邻域内的像素点的像素值的范围为[0,2^bit-1],所述输入确定模块根据所述取值步长将所述图像的像素值的范围分为(2^bit)/T+1段,所述多维LUT输入部分的每一列各行的像素值为0、T、2T、3T、……、2^bit-1-T、2^bit-1中的一个;其中,m为所述行方向上的像素点数量,n为所述列方向上的像素点数量,bit为所述位深,以及T为所述取值步长。
11.根据权利要求8所述的装置,其中,所述计算模块包括:
索引像素矩阵获取单元,根据所述行缩放倍率、列缩放倍率和取值步长,获取邻域数据组成的索引像素矩阵;
预处理矩阵确定单元,根据所述行缩放倍率和列缩放倍率确定预处理矩阵;
预处理参数获取单元,对所述索引像素矩阵和预处理矩阵进行卷积运算,获取预处理参数;
输出像素值生成单元,根据所述预处理参数,针对所述图像当前邻域内的文本、边界或图像信息,生成相应的输出像素值。
12.根据权利要求11所述的装置,其中:
所述输出像素值生成单元针对所述图像当前邻域内的文本或边界信息,利用手动调节、预设表达式或者所述索引像素矩阵中的最小值、最大值或平均值确定所述输出像素值;针对所述图像当前邻域内的图像信息,利用手动调节、预设表达式或者所述索引像素矩阵中的平均值确定所述输出像素值。
13.根据权利要求12所述的装置,其中:
对于缩小处理,所述输出像素值生成单元利用如后所述的预设表达式确定所述输出像素值:LUT_Output=p×(Max-Min)/2^(bit+1)+average;
对于放大处理,所述输出像素值生成单元利用如后所述的预设表达式确定所述输出像素值:LUT_Output=p×(Max-Min)/2^(bit+1)+邻域插值数据;
其中,LUT_Output为所述输出像素值,p为所述预处理参数,Max为所述索引像素矩阵中的最大值,Min为所述索引像素矩阵中的最小值,average为所述索引像素矩阵中的平均值,以及bit为所述图像数据的位深。
14.根据权利要求8所述的装置,其中,该装置包括:
选取模块,在当前邻域内的像素点的像素值在所述多维LUT中找不到对应的输出值时,选取所述多维LUT中与所述像素点的像素值相邻的两行数据对应的输出值的平均值作为所述像素点的像素值的输出值;或者选取所述多维LUT中与所述像素点的像素值距离较近的数据对应的输出值作为所述像素点的像素值的输出值。
15.一种图像缩放处理方法,其中,该方法包括:
根据预设的缩放倍率,对源图像数据进行遍历,获取基于所述源图像形成的映射矩阵;
将所述映射矩阵中的像素值映射到对应的根据权利要求1至7中任一项所述的方法生成的多维查找表的输入部分所在的行和列;
根据所述行和列获取对应的输出部分作为缩放处理之后的结果图像。
16.一种图像缩放处理装置,其中,该装置包括:
遍历模块,根据预设的缩放倍率,对源图像数据进行遍历,获取基于所述源图像形成的映射矩阵;
映射模块,将所述映射矩阵中的像素值映射到对应的根据权利要求1至7中任一项所述的方法生成的多维查找表的输入部分所在的行和列;
获取模块,根据所述行和列获取对应的输出部分作为缩放处理之后的结果图像。
CN201510444487.7A 2015-07-24 2015-07-24 多维查找表的生成方法及装置、图像缩放处理方法及装置 Active CN105139338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510444487.7A CN105139338B (zh) 2015-07-24 2015-07-24 多维查找表的生成方法及装置、图像缩放处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510444487.7A CN105139338B (zh) 2015-07-24 2015-07-24 多维查找表的生成方法及装置、图像缩放处理方法及装置

Publications (2)

Publication Number Publication Date
CN105139338A CN105139338A (zh) 2015-12-09
CN105139338B true CN105139338B (zh) 2018-08-21

Family

ID=54724671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510444487.7A Active CN105139338B (zh) 2015-07-24 2015-07-24 多维查找表的生成方法及装置、图像缩放处理方法及装置

Country Status (1)

Country Link
CN (1) CN105139338B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009644B (zh) * 2019-03-26 2021-02-23 深兰科技(上海)有限公司 一种特征图行像素分段的方法和装置
CN111402117B (zh) * 2020-03-12 2023-02-28 Oppo广东移动通信有限公司 图片处理方法、装置、存储介质及客户端设备
CN111917934B (zh) * 2020-08-12 2022-08-30 珠海奔图电子有限公司 图像处理方法、装置、图像形成装置及存储介质
CN114792352B (zh) * 2022-06-22 2022-09-20 成都玖锦科技有限公司 一种频谱图像处理方法和系统
CN115601231B (zh) * 2022-11-22 2023-03-10 南京后摩智能科技有限公司 图像处理方法、装置、硬件加速器、芯片以及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360178A (zh) * 2007-07-31 2009-02-04 佳能株式会社 图像处理装置和图像处理方法
CN102110431A (zh) * 2009-12-23 2011-06-29 富士通微电子(上海)有限公司 数字图像的缩放方法及装置
CN104361555A (zh) * 2014-11-24 2015-02-18 中国航空工业集团公司洛阳电光设备研究所 一种基于fpga的红外图像缩放方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360178A (zh) * 2007-07-31 2009-02-04 佳能株式会社 图像处理装置和图像处理方法
CN102110431A (zh) * 2009-12-23 2011-06-29 富士通微电子(上海)有限公司 数字图像的缩放方法及装置
CN104361555A (zh) * 2014-11-24 2015-02-18 中国航空工业集团公司洛阳电光设备研究所 一种基于fpga的红外图像缩放方法

Also Published As

Publication number Publication date
CN105139338A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
CN105139338B (zh) 多维查找表的生成方法及装置、图像缩放处理方法及装置
CN103034973B (zh) 基于双三次插值的自适应图像缩放方法
CN103810739B (zh) 一种图像文字变形动画的生成方法
CN109146788B (zh) 基于深度学习的超分辨率图像重建方法和装置
CN102521794B (zh) 基于样条曲面的图像插值方法及装置
CN101872472B (zh) 一种基于样本学习的人脸图像超分辨率重建方法
Dengwen An edge-directed bicubic interpolation algorithm
CN103366342A (zh) 应用于视频图像放大的分段线性插值方法
CN107657586A (zh) 一种基于深度残差网络的单照片超分辨增强方法
CN113763441B (zh) 无监督学习的医学图像配准方法及系统
CN103632359A (zh) 一种视频超分辨率处理方法
CN110634147A (zh) 基于双边引导上采样的图像抠图方法
CN114820401B (zh) 直方图变换与边缘信息融合的海上逆光红外图像增强方法
CN103226824B (zh) 维持视觉显著性的视频重定向系统
CN104660951A (zh) 一种高清转超高清视频图像的超分辨率放大方法
Wen et al. Image superresolution using densely connected residual networks
CN108416734A (zh) 基于边缘驱动的文本图像超分辨率重建方法和装置
CN112419150A (zh) 一种基于双边上采样网络的任意倍数图像超分辨率重建方法
CN104463785A (zh) 一种超声图像的放大方法及装置
CN113837946A (zh) 一种基于递进蒸馏网络的轻量化图像超分辨率重建方法
Eisemann et al. Photo zoom: High resolution from unordered image collections
CN102800047B (zh) 一种单帧图像超分辨率重构方法
CN107918938A (zh) 一种点集与点集的匹配方法及装置
CN104318591B (zh) 一种带边界平面流场的动态绘制方法
CN113240584A (zh) 一种基于图片边缘信息的多任务手势图片超分辨率方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant