获取YUV图像的分辨率的方法及电子设备转让专利

申请号 : CN201810921821.7

文献号 : CN109348203B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钱捷

申请人 : 华勤通讯技术有限公司

摘要 :

本发明实施例涉及数据处理技术领域,公开了一种获取YUV图像的分辨率的方法及电子设备。本发明实施例中的获取YUV图像的分辨率的方法包括:获取至少两行像素点;将第一目标像素点作为起点,获取预设长度的第一像素数据段;然后进入循环步骤,包括:将第二目标像素点作为起点,获取预设长度的第二像素数据段;计算第一像素数据段与第二像素数据段的图像特征之间的第一特征差异值;增大偏移长度;重复执行循环步骤,直至计算出的多个第一特征差异值满足第一预设条件;从多个第一特征差异值中识别YUV图像的宽度;根据YUV图像的文件大小与YUV图像的宽度,计算YUV图像的分辨率。本发明实施例实现YUV图像的分辨率的自动获取,提高了YUV图像的解析速度。

权利要求 :

1.一种获取YUV图像的分辨率的方法,其特征在于,包括:

从YUV图像中获取至少两行像素点;

将所述至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段;所述预设长度小于所述YUV图像的预估宽度;然后进入循环步骤;

所述循环步骤包括:将由所述第一目标像素点移动偏移长度得到的第二目标像素点作为起点,获取所述预设长度的第二像素数据段;所述偏移长度大于或等于所述预设长度且小于所述预估宽度;计算所述第一像素数据段的图像特征与所述第二像素数据段的图像特征之间的第一特征差异值;增大所述偏移长度;

重复执行所述循环步骤,直至计算出的多个所述第一特征差异值满足第一预设条件;

从多个所述第一特征差异值中识别所述YUV图像的宽度,包括:将各所述第一特征差异值对应的偏移长度,按照各所述第一特征差异值从小到大的顺序进行排序;根据所述至少两行像素点中的至少一行像素点以及排序后的各所述偏移长度,从各所述偏移长度中选定一个所述偏移长度作为所述YUV图像的宽度;

根据所述YUV图像的文件大小与所述YUV图像的宽度,计算所述YUV图像的分辨率。

2.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述第一预设条件为:计算出的多个所述第一特征差异值连成的曲线中存在下降段和与该下降段相接的上升段,且所述上升段中包括第一预设数量的所述第一特征差异值。

3.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述从多个所述第一特征差异值中识别所述YUV图像的宽度,具体包括:将各所述第一特征差异值对应的偏移长度,按照各所述第一特征差异值从小到大的顺序进行排序;

在所述至少两行像素点的第N行像素点中,将第一个像素点作为起点,依次判断各所述偏移长度的末端像素点的像素值与所述末端像素点的下一个像素点的像素值的差值是否满足第二预设条件;N为大于0的自然数,且小于像素点的总行数;

若所述差值满足所述第二预设条件,将所述偏移长度作为所述YUV图像的宽度;所述第二预设条件为所述末端像素点的像素值与所述末端像素点的下一个像素点的像素值的差值大于预设边缘值。

4.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述从多个所述第一特征差异值中识别所述YUV图像的宽度,具体包括:步骤A,将各所述第一特征差异值对应的偏移长度,按照各所述第一特征差异值从小到大的顺序进行排序;

步骤B,将所述第一目标像素点作为起点,按照所述排序获取长度为第i个所述偏移长度的第三像素数据段;i为大于0的自然数且i的初始值为1;

步骤C,将由所述第一目标像素点偏移第i个所述偏移长度得到的第三目标像素点作为起点,获取长度为第i个所述偏移长度的第四像素数据段;计算所述第三像素数据段的图像特征与所述第四像素数据段的图像特征之间的第二特征差异值;将所述第四像素数据段作为所述第三像素数据段,将所述第三目标像素点作为所述第一目标像素点;

重复执行所述步骤C,直至计算出第二预设数量的所述第二特征差异值;

步骤D,当各所述第二特征差异值均小于预设差异值时,将各所述第二特征差异值对应的偏移长度作为所述YUV图像的宽度;

步骤E,当各所述第二特征差异值未均小于所述预设差异值时,i加1并进入所述步骤B。

5.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述将所述至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段,具体包括:识别出所述至少两行像素点中的纵向边缘;其中,所述纵向边缘为相邻两个像素点之间存在像素值大于预设阈值;

根据所述纵向边缘的数量,在所述至少两行像素点中确定所述第一目标像素点;

将所述第一目标像素点作为起点,获取所述预设长度的所述第一像素数据段。

6.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述计算所述第一像素数据段的图像特征与所述第二像素数据段的图像特征之间的第一特征差异值,具体为:通过以下公式计算所述第一特征差异值:Gi为所述第一像素数据段的第i个像素点的像素值,G'i为所述第二像素数据段的第i个像素点的像素值,M为大于0且小于或等于所述预设长度的自然数。

7.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述计算所述第一像素数据段的图像特征与所述第二像素数据段的图像特征之间的第一特征差异值,具体为:通过以下公式计算所述第一特征差异值:通过上述公式计算所述第一特征差异值之前,还包括:

依次将所述第一像素数据段中连续的i个像素点的像素值的平均值作为Gi;i为大于1的自然数;

依次将所述第二像素数据段中连续的i个像素点的像素值的平均值作为G'i。

8.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述从YUV图像中获取至少两行像素点,具体包括:从所述YUV图像的灰度图像中获取所述至少两行像素点。

9.根据权利要求1所述的获取YUV图像的分辨率的方法,其特征在于,所述从YUV图像中获取至少两行像素点,具体为:从所述YUV图像中获取所述YUV图像的文件大小的一半数据量的像素点。

10.一种电子设备,其特征在于,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至9中任一所述的获取YUV图像的分辨率的方法。

说明书 :

获取YUV图像的分辨率的方法及电子设备

技术领域

[0001] 本发明实施例涉及数据处理技术领域,特别涉及一种获取YUV图像的分辨率的方法及电子设备。

背景技术

[0002] YUV格式的图像由于具有通用性强、数据量小等优点,广泛的使用在显示设备上;现有在很多场景下会使用到YUV图像的解析,例如在影像的处理和调试过程中;在YUV图像的解析的过程中,需要使用到YUV图像的分辨率,但YUV图像在传输和存储时,没有附带YUV图像的分辨率,现有是通过人工输入自定义的分辨率的方式来完成YUV图像的解析。
[0003] 然而,发明人发现现有技术中至少存在如下问题:在YUV图像的解析的过程中,现有通过人工输入分辨率,较为麻烦,使得YUV图像的解析不够智能。

发明内容

[0004] 本发明实施方式的目的在于提供一种获取YUV图像的分辨率的方法及电子设备,实现了YUV图像的分辨率的自动获取,提高了YUV图像的解析速度。
[0005] 为解决上述技术问题,本发明的实施方式提供了一种获取YUV图像的分辨率的方法,包括:从YUV图像中获取至少两行像素点;将所述至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段;所述预设长度小于所述YUV图像的预估宽度;然后进入循环步骤;所述循环步骤包括:将由所述第一目标像素点移动偏移长度得到的第二目标像素点作为起点,获取所述预设长度的第二像素数据段;所述偏移长度大于或等于所述预设长度且小于所述预估宽度;计算所述第一像素数据段的图像特征与所述第二像素数据段的图像特征之间的第一特征差异值;增大所述偏移长度;重复执行所述循环步骤,直至计算出的多个所述第一特征差异值满足第一预设条件;从多个所述第一特征差异值中识别所述YUV图像的宽度;根据所述YUV图像的文件大小与所述YUV图像的宽度,计算所述YUV图像的分辨率。
[0006] 本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的获取YUV图像的分辨率的方法。
[0007] 本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的获取YUV图像的分辨率的方法。
[0008] 本发明实施方式相对于现有技术而言,提供了一种获取YUV图像的分辨率的方法,即从YUV图像中获取至少两行像素点,将至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段;然后进入循环步骤;将由第一目标像素点移动偏移长度得到的第二目标像素点作为起点,获取预设长度的第二像素数据段;偏移长度大于或等于预设长度且小于预估宽度;计算第一像素数据段的图像特征与第二像素数据段的图像特征之间的第一特征差异值;增大偏移长度;重复执行循环步骤,直至计算出的多个第一特征差异值满足第一预设条件;从多个第一特征差异值中识别YUV图像的宽度;根据YUV图像的文件大小与YUV图像的宽度,计算YUV图像的分辨率;替代了现有技术中通过人工输入自定义的分辨率的方式,从而实现了YUV图像的分辨率的自动获取,提高了YUV图像的解析速度。
[0009] 另外,将各所述第一特征差异值对应的偏移长度,按照各所述第一特征差异值从小到大的顺序进行排序;在所述至少两行像素点的第N行像素点中,将第一个像素点作为起点,依次判断各所述偏移长度的末端像素点的像素值与所述末端像素点的下一个像素点的像素值的差值是否满足第二预设条件;N为大于0的自然数;若所述差值满足所述预设条件,将所述偏移长度作为所述YUV图像的宽度;所述第二预设条件为所述末端像素点的像素值与所述末端像素点的下一个像素点的像素值的差值大于预设边缘值。本实施例中,提供了从多个第一特征差异值中识别YUV图像的宽度的一种识别方式,由于相邻的两行像素点中,通常上一行的最后一个像素点与下一行的第一个像素点差异较大,因此采用本实施例的上述方式识别偏移长度,提高了识别YUV图像的宽度准确度。
[0010] 另外,将各所述第一特征差异值对应的偏移长度,按照各所述第一特征差异值从小到大的顺序进行排序;步骤B,将所述第一目标像素点作为起点,按照所述排序获取长度为第i个所述偏移长度的第三像素数据段;i为大于0的自然数且i的初始值为1;步骤C,将由所述第一目标像素点偏移所述偏移长度得到的第三目标像素点作为起点,获取长度为所述偏移长度的第四像素数据段;计算所述第三像素数据段的图像特征与所述第四像素数据段的图像特征之间的第二特征差异值;将所述第四像素数据段作为所述第三像素数据段,将所述第三目标像素点作为所述第一目标像素点;重复执行所述步骤C,直至计算出第二预设数量的所述第二特征差异值;步骤D,当各所述第二特征差异值均小于预设差异值时,将各所述第二特征差异值对应的偏移长度作为所述YUV图像的宽度;步骤E,当各所述第二特征差异值未均小于所述预设差异值时,i加1并进入所述步骤B。本实施例中,提供了YUV图像的宽度的另外一种识别方式,利用YUV图像的相邻两行之间的相似性,来从多个偏移长度中识别YUV图像的宽度,提高了识别YUV图像的宽度准确度。
[0011] 另外,将所述至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段,具体包括:识别出所述至少两行像素点中的纵向边缘;根据所述纵向边缘的数量,在所述至少两行像素点中确定所述第一目标像素点;将所述第一目标像素点作为起点,获取所述预设长度的所述第一像素数据段。本实施例中,提供了第一像素数据段的一种具体获取方式,使得第一像素数据段中存在较多的纵向边缘,避免第一像素数据段所表示的图像为纯黑或纯白的图像,有利于在像素数据段的匹配过程中,准确的确定出满足第一预设条件的多个第一特征差异值(因为通常能够与具有丰富边缘信息的第一像素数据段匹配的第二像素数据段的数量较少且尽可能趋向于唯一),从而进一步提高了分辨率的解析速度。
[0012] 另外,计算所述第一像素数据段的图像特征与所述第二像素数据段的图像特征之间的第一特征差异值,具体为:通过以下公式计算所述第一特征差异值:
[0013]
[0014] Gi为所述第一像素数据段的第i个像素点的像素值,G'i为所述第二像素数据段的第i个像素点的像素值,M为大于0且小于或等于所述预设长度的自然数。本实施例中,提供了计算第一特征差异值的一种具体计算方式。
[0015] 另外,通过以下公式计算所述第一特征差异值之前,还包括:依次将所述第一像素数据段中连续的K个像素点的像素值的平均值作为Gi;K为大于1的自然数;依次将所述第二像素数据段中连续的K个像素点的像素值的平均值作为G'i。本实施例中,在像素数据段的从长度较大时,采用上述方法合并像素,再采用上述公式进行计算,有效降低运算量,提高了鲁棒性。
[0016] 另外,从YUV图像中获取至少两行像素点,具体包括:从所述YUV图像的灰度图像中获取所述至少两行像素点。本实施例中,提供了至少两行像素点的一种获取位置,即从YUV图像的灰度图像中获取,由于Y表征的灰度图像的分辨率与YUA图像的分辨率是一样的,因此采用灰度图像进行分辨率的获取,避免了可能出现的找不到准确的匹配数据段的情况,简化了分辨率的解析过程,进一步提高了解析速度。
[0017] 另外,从YUV图像中获取至少两行像素点,具体为:从所述YUV图像中获取所述YUV图像的文件大小的一半数据量的像素点。本实施例中,提供了像素点的数据量的一种获取方式,该方式确保取出了尽可能多的数据量,且量化了取出的像素点数,降低了获取像素点数据量的盲目性,简单方便。

附图说明

[0018] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0019] 图1是根据第一实施方式的获取YUV图像的分辨率的方法的流程图;
[0020] 图2是根据第二实施方式的获取YUV图像的分辨率的方法的流程图;
[0021] 图3是根据第三实施方式的获取YUV图像的分辨率的方法的流程图;
[0022] 图4是根据第四实施方式的获取YUV图像的分辨率的方法的流程图;
[0023] 图5是根据第五实施方式的获取YUV图像的分辨率的方法的一个例子的流程图;
[0024] 图6是根据第五实施方式的获取YUV图像的分辨率的方法的另外一个例子的流程图。

具体实施方式

[0025] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0026] 本发明的第一实施方式涉及一种获取YUV图像的分辨率的方法,如图1所示,包括:
[0027] 步骤101,从YUV图像中获取至少两行像素点。
[0028] 本实施方式中,YUV图像本身为行存储的,本实施例至少需要两行像素点用于比较相邻两行的特征差异,因此在未知图像的宽与高的情况下,获取至少两行像素点。
[0029] 步骤102,将至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段。
[0030] 本实施方式中,预设长度小于YUV图像的预估宽度。在一个例子中,预估宽度可以根据YUV图像的文件尺寸来估算得到,例如一个YUV图像的文件尺寸为1.5比特,根据现有的估算公式计算出该YUV图像的像素点为100万,那么该YUV图像的宽和高分别在1000像素点左右,预设长度可以为100;然这里只是示例性说明,本实施例对YUV图像的预估宽度的估算方式不作任何限制。
[0031] 在一个例子中,第一目标像素点可以为至少两行像素点中,目标行中的任意一个像素点(目标行非倒数第一行),例如目标行为至少两行像素点中的第一行,第一目标像素点为目标行的边缘上的像素点或中间的像素点;然这里只是示例性说明,本实施例对目标行与第一目标像素点的位置不作任何限制。
[0032] 本实施方式中,在步骤102之后,进入循环步骤103至105,循环步骤包括:
[0033] 步骤103,将由第一目标像素点移动偏移长度得到的第二目标像素点作为起点,获取预设长度的第二像素数据段。
[0034] 本实施方式中,偏移长度大于或等于预设长度且小于预估宽度;偏移长度即为假定的YUV图像宽度,采用假定的偏移长度来获取第二像素数据段,以与第一像素数据段进行匹配,从而在多次循环步骤之后,确定出与第一像素数据段最匹配的第二像素数据段,以确定出真实的YUV图像宽度。
[0035] 在一个例子中,在循环步骤的第一轮循环中,偏移长度等于预设长度,在后续的每轮循环中,偏移长度依次增大一个像素点;本实施例中,偏移长度在每轮循环中依次增大一个像素点,从而尽可能避免遗漏与第一像素数据段匹配的第二像素数据段。
[0036] 步骤104,计算第一像素数据段的图像特征与第二像素数据段的图像特征之间的第一特征差异值。
[0037] 本实施方式中,图像特征可以为对应像素数据段中每个像素点的像素值的集合。
[0038] 步骤105,增大偏移长度;重复执行循环步骤,直至计算出的多个第一特征差异值满足第一预设条件。
[0039] 在一个例子中,偏移长度可以增大一个预设像素长度,例如增大2个像素点;然这里只是示例性说明,本实施例对预设像素长度的数值不作任何限制,较佳的,预设像素长度为1个像素点,即在每轮循环步骤中偏移长度增大一个像素点,从而尽可能避免遗漏与第一像素数据段相匹配的第二像素数据段。
[0040] 本实施方式中,第一预设条件可以为:计算出的多个第一特征差异值连成的曲线中存在下降段和与该下降段相接的上升段,且上升段中包括第一预设数量的第一特征差异值;从而尽可能使得计算出的多个第一特征差异值中存在最小的第一特征差异值,以表征获取到了与第一像素数据段相邻的第二像素数据段。其中,第一预设数量的数值尽可能不要太小,第一预设数量例如为5或6,以能支撑起一定长度的上升段,从而尽可能验证出多个第一特征差异值中存在最小的第一特征差异值;然实际中不限于此,本实施例对第一预设数量的数值不作任何限制。
[0041] 步骤106,从多个第一特征差异值中识别YUV图像的宽度。
[0042] 步骤107,根据YUV图像的文件大小与YUV图像的宽度,计算YUV图像的分辨率。
[0043] 本实施方式中,YUV图像的文件大小即为估算出的YUV图像的像素点数,由于已知YUV图像的宽度,根据公式:像素点数=宽度方向的像素点数*高度方向的像素点数,从而得到YUV图像的分辨率。
[0044] 本发明的实施例相对于现有技术而言,提供了一种获取YUV图像的分辨率的方法,即从YUV图像中获取至少两行像素点,将至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段;然后进入循环步骤;将由第一目标像素点移动偏移长度得到的第二目标像素点作为起点,获取预设长度的第二像素数据段;偏移长度大于或等于预设长度且小于预估宽度;计算第一像素数据段的图像特征与第二像素数据段的图像特征之间的第一特征差异值;增大偏移长度;重复执行循环步骤,直至计算出的多个第一特征差异值满足第一预设条件;从多个第一特征差异值中识别YUV图像的宽度;根据YUV图像的文件大小与YUV图像的宽度,计算YUV图像的分辨率,替代了现有技术中通过人工输入自定义的分辨率的方式,从而实现了YUV图像的分辨率的自动获取,提高了YUV图像的解析速度。
[0045] 下面对本实施方式的YUV图像的分辨率的方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
[0046] 在一个例子中,从YUV图像中,从UV表征的图像中获取至少两行像素点;本实施例中,提供了至少两行像素点的一种获取位置;然实际中不限于此,本实施例对至少两行像素点的获取位置不作任何限制。
[0047] 上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0048] 本发明的第二实施方式涉及一种获取YUV图像的分辨率的方法。第二实施方式在第一实施方式的基础上做出改进,主要改进之处在于:在本发明第二实施方式中,提供了YUV图像的宽度的一种识别方式。
[0049] 本实施方式的获取YUV图像的分辨率的方法如图2所示,步骤201-205、207与第一实施方式中的步骤101-105、107对应相同,在此不再赘述,本实施方式的步骤206包括以下子步骤:
[0050] 子步骤2061,将各第一特征差异值对应的偏移长度,按照各第一特征差异值从小到大的顺序进行排序。
[0051] 本实施方式中,第一特征差异值对应的偏移长度即为步骤203中,第一像素目标点移动至第二像素目标点的偏移长度。由于相邻两段像素数据段的相似性即为接近,即相邻两段像素数据段的第一特征差异值最小,因此按照从小到大的顺序对多个第一特征差异值进行排序,并按照该顺序对第一特征差异值对应的偏移长度进行验证,从而提高YUV图像的宽度的识别速度。
[0052] 子步骤2062,在至少两行像素点的第N行像素点中,将第一个像素点作为起点,依次判断各偏移长度的末端像素点的像素值与末端像素点的下一个像素点的像素值的差值是否满足第二预设条件;若是,执行子步骤2063;若否,继续执行本步骤。
[0053] 本实施方式中,N为大于0的自然数,且小于像素点的总行数,例如N为1,即为至少两行像素点中的第一行,然实际中不限于此,本实施例对N的数值不作任何限制。
[0054] 本实施方式中,第二预设条件为末端像素点的像素值与末端像素点的下一个像素点的像素值的差值大于预设边缘值。由于YUV图像中,通常上一行的最后一个像素点的特征值与相邻的下一行的第一个像素点的特征值之间的差异值较大,因此当该差异值大于预设边缘值时,表明该差异值对应的偏移长度为真实的YUV图像的宽度。其中,预设边缘值可以根据经验值来设定,本实施例对预设边缘值得具体数值不作任何限制。
[0055] 本实施方式中,若差值满足第一预设条件,则表示该差值对应的该偏移长度为真实的YUV图像的宽度,此时该偏移长度的末端像素点即为该第N行像素点的最后一个像素点,该偏移长度的末端像素点的下一个像素点即为第N+1行的第一个像素点。
[0056] 在一个例子中,在将各偏移长度按照子步骤2062验证结束后,若依然不存在满足第二预设条件的差值时,则产生提示信息,以提示用户手动输入该YUV图像的分辨率,以继续YUV图像后续的处理工作。
[0057] 子步骤2063,将偏移长度作为YUV图像的宽度。
[0058] 本发明的实施例相对于第一实施方式而言,提供了从多个第一特征差异值中识别YUV图像的宽度的一种识别方式,即将各第一特征差异值对应的偏移长度,按照各第一特征差异值从小到大的顺序进行排序,在第N行像素点中,将第一个像素点作为起点,依次判断各偏移长度的末端像素点的像素值与末端像素点的下一个像素点的像素值的差值是否满足第二预设条件,将满足第二预设条件的差值对应的偏移长度作为YUV图像的宽度,由于相邻的两行像素点中,通常上一行的最后一个像素点与下一行的第一个像素点差异较大,因此采用本实施方式的上述方式识别偏移长度,提高了识别YUV图像的宽度准确度。
[0059] 本发明的第三实施方式涉及一种获取YUV图像的分辨率的方法。第三实施方式在第二实施方式的基础上进行改进,主要改进之处在于:在本发明第三实施方式中,提供了YUV图像的宽度的另外一种识别方式。
[0060] 本实施方式的获取YUV图像的分辨率的方法如图3所示,步骤301-305、307与第一实施方式中的步骤101-105、107对应相同,在此不再赘述,本实施方式的步骤306包括以下子步骤:
[0061] 子步骤A,将各第一特征差异值对应的偏移长度,按照各第一特征差异值从小到大的顺序进行排序。
[0062] 本实施方式中,第一特征差异值对应的偏移长度即为步骤303中,第一像素目标点移动至第二像素目标点的偏移长度。由于相邻的两段像素数据段的相似性即为接近,即相邻两段像素数据段的第一特征差异值最小,因此按照从小到大的顺序对多个第一特征差异值进行排序,并按照该顺序对第一特征差异值对应的偏移长度进行验证,从而提高YUV图像的宽度的识别速度。
[0063] 子步骤B,将第一目标像素点作为起点,按照排序获取长度为第i个偏移长度的第三像素数据段。
[0064] 本实施方式中,i为大于0的自然数且i的初始值为1。在一个例子中,包括10个第一特征差异值,将这10个第一特征差异值各自对应的偏移长度L1-L10,按照这10个第一特征差异值从小到大的顺序进行排序;然这里只是示例性说明,实际中不限于此。
[0065] 子步骤C,将由第一目标像素点偏移第i个偏移长度得到的第三目标像素点作为起点,获取长度为第i个偏移长度的第四像素数据段;计算第三像素数据段的图像特征与第四像素数据段的图像特征之间的第二特征差异值;将第四像素数据段作为第三像素数据段,将第三目标像素点作为第一目标像素点;重复执行步骤C,直至计算出第二预设数量的第二特征差异值。
[0066] 本实施方式中,第二预设数量例如为1或5,本实施例对第二预设数量的数值不作任何限制。第二预设数量较大时,即获得了较大数量的第二特征差异值,为第二预设数量的第二特征差异值对应的一个偏移长度提供了坚实的验证基础。
[0067] 子步骤D,当各第二特征差异值均小于预设差异值时,将各第二特征差异值对应的偏移长度作为YUV图像的宽度。
[0068] 本实施方式中,预设差异值体现了相邻两行像素数据段的差异,可根据经验值来设定,本实施例对预设差异值的具体数值不作任何限制。当各第二特征差异值均小于预设差异值时,即表示第三像素数据段与第四像素数据段为相邻的两行像素数据段,即各第二特征差异值对应的这一个偏移长度为真实的YUV图像的宽度。
[0069] 子步骤E,当各第二特征差异值未均小于预设差异值时,i加1并进入子步骤B。
[0070] 实际上,本实施方式也可以为第二实施方式的基础上的改进方案,即YUV图像的宽度的识别方式由第二实施方式与第三实施方式的叠加,从而进一步提高YUV图像的宽度的识别准确度。
[0071] 本发明的实施例相对于第一实施方式而言,提供了YUV图像的宽度的另外一种识别方式,即将各第一特征差异值对应的偏移长度,按照各第一特征差异值从小到大的顺序进行排序,将第一目标像素点作为起点,按照排序获取长度为第i个偏移长度的第三像素数据段,将由第一目标像素点偏移第i个偏移长度得到的第三目标像素点作为起点,获取长度为第i个偏移长度的第四像素数据段,计算这两个像素数据段的图像特征之间的第二特征差异值,然后按照YUV图像的高度方向,依次获得第二预设数量的相邻两行像素数据段之间的第二特征差异值,当各第二特征差异值均小于预设差异值时,将各第二特征差异值对应的偏移长度作为YUV图像的宽度,从而利用YUV图像的相邻两行之间的相似性,来从多个偏移长度中识别YUV图像的宽度,提高了识别YUV图像的宽度准确度。
[0072] 本发明的第四实施方式涉及一种获取YUV图像的分辨率的方法。第四实施方式在第一实施方式的基础上进行改进,主要改进之处在于:在本发明第四实施方式中,提供了第一像素数据段的一种具体实现方式。
[0073] 本实施方式的获取YUV图像的分辨率的方法如图4所示,本实施方式的步骤401、403-407与第一实施方式的步骤101、103-107对应相同,在此不再赘述,本实施方式的步骤
402包括以下子步骤:
[0074] 子步骤4021,识别出至少两行像素点中的纵向边缘。
[0075] 在一个例子中,采用一维的边缘检测器,从至少两行像素点中扫描出纵向边缘(纵向边缘指相邻两个像素点之间存在像素值跳变)。其中,在扫描的过程中,当在某位置扫描出的纵向边缘值大于预设阈值时,即判定该位置存在纵向边缘,从而尽可能确保扫描出的纵向边缘可靠性较强,且纵向边缘所在的图像区域中存在丰富的图像细节;然这里只是示例性说明,本实施例对纵向边缘的识别方式不作任何限制。
[0076] 在一个例子中,某行像素点中包括像素值为5、7、4、152、148、149的像素点,预设阈值为100,显然,像素值为4与152的像素点之间存在纵向边缘;然这里只是示例性说明,实际中不限于此。
[0077] 子步骤4022,根据纵向边缘的数量,在至少两行像素点中确定第一目标像素点。
[0078] 子步骤4023,将第一目标像素点作为起点,获取预设长度的第一像素数据段。
[0079] 本实施方式中,确定第一目标像素点,尽可能使得第一像素数据段中包括较多数量的纵向边缘,从而使得获取的第一像素数据段中存在丰富的图像细节。
[0080] 实际上,本实施方式也可以为在第二或三实施方式的基础上的改进方案。
[0081] 本实施方式想对于第一实施方式而言,提供了第一像素数据段的一种具体获取方式,即从至少两行像素点中识别出纵向边缘,根据纵向边缘的数量,在至少两行像素点中确定第一目标像素点,将第一目标像素点作为起点,获取预设长度的第一像素数据段,从而使得第一像素数据段中存在较多的纵向边缘,避免第一像素数据段所表示的图像为纯黑或纯白的图像,有利于在像素数据段的匹配过程中,准确的确定出满足第一预设条件的多个第一特征差异值(因为通常能够与具有丰富边缘信息的第一像素数据段匹配的第二像素数据段的数量较少且尽可能趋向于唯一),从而进一步提高了分辨率的解析速度。
[0082] 本发明的第五实施方式涉及一种获取YUV图像的分辨率的方法。第五实施方式在第一实施方式的基础上进行改进,主要改进之处在于:在本发明第五实施方式中,提供了至少两行像素点的一种获取位置,像素点的数据量的一种获取方式,计算第一特征差异值的一种具体计算方式。
[0083] 本实施方式的一个例子的获取YUV图像的分辨率的方法如图5所示,本例子中的步骤502-507与第一实施方式的步骤102--107对应相同,在此不再赘述,本例子中的步骤501具体为:
[0084] 步骤501,从YUV图像的灰度图像中获取至少两行像素点。
[0085] 本例子中,YUV图像的起始位置,存储的是灰度图像,采用灰度图像进行分辨率的获取,则像素值即为灰度值。
[0086] 实际上,本例子也可以为在第二、第三或第四实施方式的基础上的改进方案。
[0087] 本实施方式的另外一个例子的获取YUV图像的分辨率的方法如图6所示,本例子中的步骤602-607与第一实施方式的步骤102-107对应相同,在此不再赘述,本例子中的步骤601具体为:
[0088] 步骤601,从YUV图像中获取YUV图像的文件大小的一半数据量的像素点。
[0089] 本例子中,YUV图像的文件大小由图像分辨率和图像尺寸的值一同决定。
[0090] 实际上,本例子可以为在上一个例子、第二、第三或第四实施方式的基础上的改进方案。
[0091] 本实施方式的另外一个例子的获取YUV图像的分辨率的方法中,通过以下公式计算第一特征差异值:
[0092]
[0093] 其中,Gi为第一像素数据段的第i个像素点的像素值,G'i为第二像素数据段的第i个像素点的像素值,M为大于0且小于或等于预设长度的自然数。
[0094] 较佳的,本例子中,通过上述公式计算第一特征差异值之前,还包括步骤:依次将第一像素数据段中连续的K个像素点的像素值的平均值作为Gi;K为大于1的自然数(K可以为8/16,然不限于此);依次将第二像素数据段中连续的K个像素点的像素值的平均值作为G'i。
[0095] 在一个具体的例子中,第一像素数据段中包括72个像素点,将这72个像素点依次分为包括8个像素点的7小段像素数据段,每段像素数据段的像素值即为其中的8个像素点的平均值;第二像素数据段同理;然这里只是示例性说明,本实施例对此不作任何限制。
[0096] 本较佳的例子中,在像素数据段的从长度较大时,采用上述方法合并像素,即将连续的K个像素点的平均值作为一个像素点的值,再采用上述公式进行计算,有效降低运算量,提高了鲁棒性。
[0097] 实际上,本例子可以为在上两个例子、第二、第三或第四实施方式的基础上的改进方案。
[0098] 本发明的实施方式相对于第一实施方式而言,提供了至少两行像素点的一种获取位置,即从YUV图像的灰度图像中获取,由于Y表征的灰度图像的分辨率与YUA图像的分辨率是一样的,因此采用灰度图像进行分辨率的获取,避免了可能出现的找不到准确的匹配数据段的情况,简化了分辨率的解析过程,进一步提高了解析速度。另外,本实施方式提供了像素点的数据量的一种获取方式,即获取YUV图像的文件大小的一半数据量的像素点,该方式确保取出了尽可能多的数据量,且量化了取出的像素点数,降低了获取像素点数据量的盲目性,简单方便。另外,本实施方式提供了计算第一特征差异值的一种具体计算方式,即将第一像素数据段的像素值与第二像素数据段的像素值依次对应相减,并将每个各绝对值相加,从而得到两段像素数据段的第一特征差异值。
[0099] 本发明第六实施方式涉及一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一实施方式或第五实施方式中任一实施方式中的获取YUV图像的分辨率的方法。
[0100] 其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0101] 处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
[0102] 本发明的实施方式相对于现有技术而言,提供了一种获取YUV图像的分辨率的方法,即从YUV图像中获取至少两行像素点,将至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段;然后进入循环步骤;将由第一目标像素点移动偏移长度得到的第二目标像素点作为起点,获取预设长度的第二像素数据段;偏移长度大于或等于预设长度且小于预估宽度;计算第一像素数据段的图像特征与第二像素数据段的图像特征之间的第一特征差异值;增大偏移长度;重复执行循环步骤,直至计算出的多个第一特征差异值满足第一预设条件;从多个第一特征差异值中识别YUV图像的宽度;根据YUV图像的文件大小与YUV图像的宽度,计算YUV图像的分辨率。从而实现YUV图像的分辨率的自动识别,提高了YUV图像的解析速度。
[0103] 本发明第七实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现第一实施方式或第五实施方式中任一实施方式中的获取YUV图像的分辨率的方法。
[0104] 本发明的实施方式相对于现有技术而言,提供了一种获取YUV图像的分辨率的方法,即从YUV图像中获取至少两行像素点,将至少两行像素点中的第一目标像素点作为起点,获取预设长度的第一像素数据段;然后进入循环步骤;将由第一目标像素点移动偏移长度得到的第二目标像素点作为起点,获取预设长度的第二像素数据段;偏移长度大于或等于预设长度且小于预估宽度;计算第一像素数据段的图像特征与第二像素数据段的图像特征之间的第一特征差异值;增大偏移长度;重复执行循环步骤,直至计算出的多个第一特征差异值满足第一预设条件;从多个第一特征差异值中识别YUV图像的宽度;根据YUV图像的文件大小与YUV图像的宽度,计算YUV图像的分辨率。从而实现YUV图像的分辨率的自动识别,提高了YUV图像的解析速度。
[0105] 即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0106] 本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。