掌桥专利:专业的专利平台
掌桥专利
首页

一种图像处理方法、系统、设备以及存储介质

文献发布时间:2024-04-18 20:01:23


一种图像处理方法、系统、设备以及存储介质

技术领域

本发明涉及图像领域,具体涉及一种图像处理方法、系统、设备以及存储介质。

背景技术

图像缩放(image resize)属于图像处理技术里图像压缩部分,它是指对像素点矩阵的尺寸大小进行调整。图像缩放是一种通过对原像素点矩阵的像素值进行采样后,再根据实际尺寸大小需求来重构像素值输出新像素点矩阵的过程。作为图像处理技术中的关键,图像缩放技术对人们获取更多的信息起着至关重要的作用。

在图像缩放处理时,常见的方法包括最近邻域法、双线性插值法、双立方插值法等等,其本质都是根据缩放比例和原始图像找到插值矩阵(例如2*2、3*3、4*4、5*5矩阵等),再根据具体的插值算法进行近似计算。但无论使用哪种方法,图像在进行缩放时,处在图像边缘(或边界)处的像素值,如前2行,后两行,左侧2列、右侧两列,是无法在原始图像中找到全部的附近点进行插值计算,因此在插值处理后,在边界处容易出现黑色、白色、绿色或杂乱的图像边缘,严重影响像素点矩阵的质量。

因此现有技术中对图像进行缩放时,具有以下缺点:

1.对边界不做处理,这仅在对图像质量要求较低的场景;

2.使用固定的颜色代替原始算法计算出的像素值,如在边界处使用黑色像素(黑边),这种方法会因为缩放损失边界处的有效信息像素;

3.使用固定的方法拓展(扩展)边界,进而进行后续的计算,但这种方法只适用于部分视频图像场景,在其他场景下并不适用。

发明内容

有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种图像处理方法,包括以下步骤:

为像素点矩阵的每一个边界选择若干个行或列,并在每一个所述边界对应的若干个行或列中分别选择参考行或列;

分别计算所述若干个行或列中每一个像素点在多个预设方向上的二阶微分值的绝对值;

将所述参考行或列中的每一个像素点和其周围的若干个像素点在同一个预设方向上的二阶微分值的绝对值相加并将绝对值之和中最小值对应的预设方向作为所述参考行或列中对应像素点的预测方向;

统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展。

在一些实施例中,分别计算所述若干个行或列中每一个像素点在多个预设方向上的二阶微分值的绝对值,进一步包括:

根据公式D_0=|2*P(x,y)-P(x,y-1)-P(x,y+1)|计算在0°方向上的二阶微分值的绝对值;

根据公式D_45=|2*P(x,y)-P(x+1,y-1)-P(x-1,y+1)|计算在45°方向上的二阶微分值的绝对值;

根据公式D_90=|2*P(x,y)-P(x-1,y)-P(x+1,y)|计算在90°方向上的二阶微分值的绝对值;

根据公式D_135=|2*P(x,y)-P(x-1,y-1)-P(x+1,y+1)|计算在135°方向上的二阶微分值的绝对值;

其中,x,y分别为像素点的行编号和列编号,P为像素值。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于上边界对应的预测方向为0°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行并保存在第一双端口RAM;

响应于上边界对应的预测方向为45°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行,同时进行向右位移并保存在第一双端口RAM;

响应于上边界对应的预测方向为90°,复制所述像素点矩阵的第一行作为上扩展行的第二行,复制所述像素点矩阵的第二行作为上扩展行的第一行并保存在第一双端口RAM;

响应于上边界对应的预测方向为135°,复制所述像素点矩阵的第一行同时作为上扩展行的第一行和第二行,同时进行向左位移并保存在第一双端口RAM。

在一些实施例中,响应于上边界对应的预测方向为0°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行并保存在第一双端口RAM,进一步还包括:

将所述像素点矩阵的第一行的每一列数据依次从所述第一双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一行的每一列数据依次从所述第一双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于上边界对应的预测方向为45°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行,同时进行向右位移并保存在第一双端口RAM,进一步包括:

将所述像素点矩阵的第一行中除去最后两列数据之外的每一列数据依次从所述第一双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的第一行中除去最后一列数据之外的每一列数据依次从所述第一双端口RAM的第二端口的地址为1的位置开始写入。

在一些实施例中,响应于上边界对应的预测方向为90°,复制所述像素点矩阵的第一行作为上扩展行的第二行,复制所述像素点矩阵的第二行作为上扩展行的第一行并保存在第一双端口RAM,进一步包括:

将所述像素点矩阵的第一行的每一列数据依次从所述第一双端口RAM的第二端口的地址为0的位置开始写入;

将所述像素点矩阵的第二行的每一列数据依次从所述第一双端口RAM的第一端口的地址为0的位置开始写入。

在一些实施例中,响应于上边界对应的预测方向为135°,复制所述像素点矩阵的第一行同时作为上扩展行的第一行和第二行,同时进行向左位移并保存在第一双端口RAM,进一步包括:

将所述像素点矩阵的第一行中除去第一列数据之外的每一列数据依次从所述第一双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一行中除去前两列数据之外的每一列数据依次从所述第一双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于下边界对应的预测方向为0°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行并保存在第二双端口RAM;

响应于下边界对应的预测方向为45°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行,同时进行向左位移并保存在第二双端口RAM;

响应于下边界对应的预测方向为90°,复制所述像素点矩阵的最后一行作为下扩展行的第一行,复制所述像素点矩阵的倒数第二行作为下扩展行的第二行并保存在第二双端口RAM;

响应于下边界对应的预测方向为135°,复制所述像素点矩阵的最后一行同时作为下扩展行的第一行和第二行,同时进行向右位移并保存在第二双端口RAM。

在一些实施例中,响应于下边界对应的预测方向为0°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行并保存在第二双端口RAM,进一步还包括:

将所述像素点矩阵的最后一行的每一列数据依次从所述第二双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的最后一行的每一列数据依次从所述第二双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于下边界对应的预测方向为45°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行,同时进行向左位移并保存在第二双端口RAM,进一步包括:

将所述像素点矩阵的最后一行中除去第一列数据之外的每一列数据依次从所述第二双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的最后一行中除去前两列数据之外的每一列数据依次从所述第二双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于下边界对应的预测方向为90°,复制所述像素点矩阵的最后一行作为下扩展行的第一行,复制所述像素点矩阵的倒数第二行作为下扩展行的第二行并保存在第二双端口RAM,进一步包括:

将所述像素点矩阵的最后一行的每一列数据依次从所述第二双端口RAM的第二端口的地址为0的位置开始写入;

将所述像素点矩阵的倒数第二行的每一列数据依次从所述第二双端口RAM的第一端口的地址为0的位置开始写入。

在一些实施例中,响应于下边界对应的预测方向为135°,复制所述像素点矩阵的最后一行同时作为下扩展行的第一行和第二行,同时进行向右位移并保存在第二双端口RAM,进一步包括:

将所述像素点矩阵的最后一行中除去最后两列数据之外的每一列数据依次从所述第二双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的最后一行中除去最后一列数据之外的每一列数据依次从所述第二双端口RAM的第二端口的地址为1的位置开始写入。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于左边界对应的预测方向为0°,复制所述像素点矩阵的第一列作为左扩展列的第二列,复制所述像素点矩阵的第二列作为左扩展列的第一列并保存在第三双端口RAM;

响应于左边界对应的预测方向为45°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列,同时进行向下位移并保存在第三双端口RAM;

响应于左边界对应的预测方向为90°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列并保存在第三双端口RAM;

响应于左边界对应的预测方向为135°,复制所述像素点矩阵的第一列同时作为左扩展列的第一列和第二列,同时进行向上位移并保存在第三双端口RAM。

在一些实施例中,响应于左边界对应的预测方向为0°,复制所述像素点矩阵的第一列作为左扩展列的第二列,复制所述像素点矩阵的第二列作为左扩展列的第一列并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列的每一行数据依次从所述第三双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第二列的每一行数据依次从所述第三双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于左边界对应的预测方向为45°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列,同时进行向下位移并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列中除去最后两行数据之外的每一行数据依次从所述第三双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的第一列中除去最后一行数据之外的每一行数据依次从所述第三双端口RAM的第二端口的地址为1的位置开始写入。

在一些实施例中,响应于左边界对应的预测方向为90°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列的每一行数据依次从所述第三双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一列的每一行数据依次从所述第三双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于左边界对应的预测方向为135°,复制所述像素点矩阵的第一列同时作为左扩展列的第一列和第二列,同时进行向上位移并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列中除去前两行数据之外的每一行数据依次从所述第三双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一列中除去第一行数据之外的每一行数据依次从所述第三双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于右边界对应的预测方向为0°,复制所述像素点矩阵的最后一列作为右扩展列的第二列,复制所述像素点矩阵的倒数第二列作为右扩展列的第一列并保存在第四双端口RAM;

响应于右边界对应的预测方向为45°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向上位移并保存在第四双端口RAM;

响应于右边界对应的预测方向为90°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列并保存在第四双端口RAM;

响应于右边界对应的预测方向为135°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向下位移并保存在第四双端口RAM。

在一些实施例中,响应于右边界对应的预测方向为0°,复制所述像素点矩阵的最后一列作为右扩展列的第二列,复制所述像素点矩阵的倒数第二列作为右扩展列的第一列并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的最后一列的每一行数据依次从所述第四双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的倒数第二列的每一行数据依次从所述第四双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于右边界对应的预测方向为45°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向上位移并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的最后一列中除去前两行数据之外的每一行数据依次从所述第四双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的最后一列中除去第一行数据之外的每一行数据依次从所述第四双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于右边界对应的预测方向为90°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的第一列的每一行数据依次从所述第四双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一列的每一行数据依次从所述第四双端口RAM的第二端口的地址为0的位置开始写入。

在一些实施例中,响应于右边界对应的预测方向为135°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向下位移并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的最后一列中除去最后两行数据之外的每一行数据依次从所述第四双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的最后一列中除去最后一行数据之外的每一行数据依次从所述第四双端口RAM的第二端口的地址为1的位置开始写入。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种图像边界处理系统,包括:

选择模块,配置为为像素点矩阵的每一个边界选择若干个行或列,并在每一个所述边界对应的若干个行或列中分别选择参考行或列;

计算模块,配置为分别计算所述若干个行或列中每一个像素点在多个预设方向上的二阶微分值的绝对值;

预测方向确定模块,配置为将所述参考行或列中的每一个像素点和其周围的若干个像素点在同一个预设方向上的二阶微分值的绝对值相加并将绝对值之和中最小值对应的预设方向作为所述参考行或列中对应像素点的预测方向;

扩展模块,配置为统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:

至少一个处理器;以及

存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如上所述的任一种图像处理方法的步骤。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种图像处理方法的步骤。

本发明具有以下有益技术效果之一:本发明提出的方案通过计算二阶微分,预测出边界处的图像模型,进而实现动态自适应的调整边界填充方案,最终实现高质量的图像缩放,保证了图像数据的完整性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为本发明的实施例提供的图像处理方法的流程示意图;

图2为本发明的实施例提供的预设方向为0°时计算二阶微分的示意图;

图3为本发明的实施例提供的预设方向为45°时计算二阶微分的示意图;

图4为本发明的实施例提供的预设方向为90°时计算二阶微分的示意图;

图5为本发明的实施例提供的预设方向为135°时计算二阶微分的示意图;

图6为本发明的实施例提供的对原始图像进行边界扩展后的示意图;

图7为本发明的实施例提供的图像处理系统的结构示意图;

图8为本发明的实施例提供的计算机设备的结构示意图;

图9为本发明的实施例提供的计算机可读存储介质的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

在本发明的实施例中,图像的像素点矩阵的边界指边缘的行或列,例如,可以是前几行(前2行、前3行等),最后几行(后2行,后3行等),最左侧几列(最左侧2列,3列等),最右侧几列(最右侧2列,3列等)。

根据本发明的一个方面,本发明的实施例提出一种图像处理方法,如图1所示,其可以包括步骤:

S1,为图像的像素点矩阵的每一个边界选择若干个行或列,并在每一个所述边界对应的若干个行或列中分别选择参考行或列;

S2,分别计算所述若干个行或列中每一个像素点在多个预设方向上的二阶微分值的绝对值;

S3,将所述参考行或列中的每一个像素点和其周围的若干个像素点在同一个预设方向上的二阶微分值的绝对值相加并将绝对值之和中最小值对应的预设方向作为所述参考行或列中对应像素点的预测方向;

S4,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展。

本发明提出的方案通过计算二阶微分,预测出边界处的图像模型,进而实现动态自适应的调整边界填充方案,最终实现高质量的图像缩放,保证了图像数据的完整性。

在一些实施例中,在步骤S1中,为图像的像素点矩阵的每一个边界选择若干个行或列,并在每一个所述边界对应的若干个行或列中分别选择参考行或列,具体的,可以为上边界选择第2行、第3行,并可以将任意一行作为参考行;下边界选择倒数第2行和倒数第3行,并可以将任意一行作为参考行;为左边界选择第2列和第3列,并可以将任意一列作为参考列;右边界选择倒数第2列和倒数第3列,并可以将任意一列作为参考列。

需要说明的是,由于在步骤S2中计算每一个像素点的二阶微分值时,需要周边的像素进行计算,因此在选择若干个行或列时,可以从第2行或列并靠近边界的行或列中选择。

在一些实施例中,步骤S2中,分别计算所述若干个行或列中每一个像素点在多个预设方向上的二阶微分值的绝对值,进一步包括:

根据公式D_0=|2*P(x,y)-P(x,y-1)-P(x,y+1)|计算在0°方向上的二阶微分值的绝对值;

根据公式D_45=|2*P(x,y)-P(x+1,y-1)-P(x-1,y+1)|计算在45°方向上的二阶微分值的绝对值;

根据公式D_90=|2*P(x,y)-P(x-1,y)-P(x+1,y)|计算在90°方向上的二阶微分值的绝对值;

根据公式D_135=|2*P(x,y)-P(x-1,y-1)-P(x+1,y+1)|计算在135°方向上的二阶微分值的绝对值;

其中,x,y分别为像素点的行编号和列编号,P为像素值。

具体的,一阶微分相当于计算斜率,二阶微分相当于计算一阶微分的斜率,因此,在求取一个像素点在预设方向上的二阶微分时,需要利用该像素点在该预设方向上相邻的两个像素点,即该像素点的像素值-第一个相邻的像素点的像素值得到第一个一阶微分,以及第二个相邻的像素点的像素值-该像素点的像素值得到第二个一阶微分,两个一阶微分相减即可得到二阶微分,简化为利用像素点的像素值乘2减去该像素点在预设方向上相邻的两个点的像素值。

例如,如图2-图5所示,图中每一个圆圈代表一个像素点,数字代表行或列编号。需要说明的是,在图2-图5中的箭头,其方向代表预设方向(例如图2中的箭头方向表示的预设方向为0°)。因此可以根据下式计算像素点(2,2)、像素点(2,3)、像素点(3,2)、像素点(3,3)在各个预设方向上的二阶微分为:

0°时的二阶微分值:

D_0_1=|2*P(2,2)-P(2,1)-P(2,3)|;

D_0_2=|2*P(2,3)-P(2,2)-P(2,4)|;

D_0_3=|2*P(3,2)-P(3,1)-P(3,3)|;

D_0_4=|2*P(3,3)-P(3,2)-P(3,4)|;

45°时的二阶微分值:

D_45_1=|2*P(2,2)-P(3,1)-P(1,3)|;

D_45_2=|2*P(2,3)-P(3,2)-P(1,4)|;

D_45_3=|2*P(3,2)-P(4,1)-P(2,3)|;

D_45_4=|2*P(3,3)-P(2,4)-P(4,2)|;

90°时的二阶微分值:

D_90_1=|2*P(2,2)-P(1,2)-P(3,2)|;

D_90_2=|2*P(2,3)-P(1,3)-P(3,3)|;

D_90_3=|2*P(3,2)-P(2,2)-P(4,2)|;

D_90_4=|2*P(3,3)-P(2,3)-P(4,3)|

135°时的二阶微分值:

D_135_1=|2*P(2,2)-P(1,1)-P(3,3)|;

D_135_2=|2*P(2,3)-P(1,2)-P(3,4)|;

D_135_3=|2*P(3,2)-P(2,1)-P(4,3)|;

D_135_4=|2*P(3,3)-P(2,2)-P(4,4)|。

在一些实施例中,步骤S3中,将所述参考行或列中的每一个像素点和其周围的若干个像素点在同一个预设方向上的二阶微分值的绝对值相加并将绝对值之和中最小值对应的预设方向作为所述参考行或列中对应像素点的预测方向,具体的,在选择相邻的像素点计算绝对值之和时,相邻的点均为已经计算二阶微分值的点,即这些相邻的点或为参考行或列上的点,或为步骤S1中选择的其它行上的点。

当参考行在其他行的上方/参考列在其它列的左侧,可以选择右侧和下侧的点,例如在图2-图5中,选择第二行或第二列作为参考行/参考列(另一行为第三行或另一列为第三列),计算像素点(2,3)的预测方向时,可以选择其右侧的(2,4)、(3,4)以及下方的(3,3)作为其周围的点。

在一些实施例中,由于参考行或列中两端的像素点在确定预设方向时周围的像素点较少,因此,在参考行中可以直接将两端的像素点的预测方向固定使用0°,在参考列中可以直接将两端的像素点的预测方向固定使用90°。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于上边界对应的预测方向为0°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行并保存在第一双端口RAM;

响应于上边界对应的预测方向为45°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行,同时进行向右位移并保存在第一双端口RAM;

响应于上边界对应的预测方向为90°,复制所述像素点矩阵的第一行作为上扩展行的第二行,复制所述像素点矩阵的第二行作为上扩展行的第一行并保存在第一双端口RAM;

响应于上边界对应的预测方向为135°,复制所述像素点矩阵的第一行同时作为上扩展行的第一行和第二行,同时进行向左位移并保存在第一双端口RAM。

具体的,在对上边界的进行填充时,当0°为预测方向时,选择复制第一行同时作为上扩展行的第一行和第二行,这种方式在本发明中简称为“复制”;当90°为预测方向时,选择复制第1行作为上扩展行的第2行,选择复制第2行作为上扩展行的第1行,这种方式在本发明中简称为“镜像”;当45°为预测方向时,选择复制第一行同时作为上扩展行的第一行和第二行,同时进行向右位移,这种方式在本发明中简称为“复制并向右位移”;当135°为预测方向时,选择复制第一行同时作为上扩展行的第一行和第二行,同时进行向左位移,这种方式在本发明中简称为“复制并向左位移”。

如图6所示,上边界处理时,可以使用第一双端口RAM作为扩展行,其中上方第一个扩展行写入第一双端口RAM的第一端口up_ext_1,第二个扩展行写入第一双端口RAM的第二端口up_ext_2。

RAM位宽(RAM_width)为像素位深pixel_d(存储一个像素点所需要的bit数,例如常见的rgb888格式,每个分量占用8bit,因此像素位深为24bit),RAM深度(RAM_depth)为图像一行的像素个数image_row。针对不同的预测方向,存储扩展行的方式不同。

在一些实施例中,响应于上边界对应的预测方向为0°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行并保存在第一双端口RAM,进一步还包括:

将所述像素点矩阵的第一行的每一列数据依次从所述第一双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一行的每一列数据依次从所述第一双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为0°扩展方式为复制,存储方式为将原始像素点矩阵的第一行数据row_1同步写入up_ext_2和up_ext_1,即row_1的第一列数据写入up_ext_2对应RAM的地址为0的位置,第2列数据写入up_ext_2对应RAM的地址为1的位置,以此类推,up_ext_1写入方式同上。

在一些实施例中,响应于上边界对应的预测方向为45°,复制所述像素点矩阵的第一行作为上扩展行的第一行和第二行,同时进行向右位移并保存在第一双端口RAM,进一步包括:

将所述像素点矩阵的第一行中除去最后两列数据之外的每一列数据依次从所述第一双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的第一行中除去最后一列数据之外的每一列数据依次从所述第一双端口RAM的第二端口的地址为1的位置开始写入。

具体的,预测方向为45°扩展方式为复制并向右位移,存储方式为将原始像素点矩阵的第一行数据row_1写入up_ext_2和up_ext_1,在写入时row_1的第一列数据写入up_ext_2对应RAM的地址为1的位置,第2列数据写入up_ext_2对应RAM的地址为2的位置,以此类推写完整行数据,row_1的最后1个数据不做处理;row_1的第一列数据写入up_ext_1对应RAM的地址为2的位置,第2列数据写入up_ext_1对应RAM的地址为3的位置,以此类推写完整行数据,row_1的最后2个数据不做处理。

在一些实施例中,响应于上边界对应的预测方向为90°,复制所述像素点矩阵的第一行作为上扩展行的第二行,复制所述像素点矩阵的第二行作为上扩展行的第一行并保存在第一双端口RAM,进一步包括:

将所述像素点矩阵的第一行的每一列数据依次从所述第一双端口RAM的第二端口的地址为0的位置开始写入;

将所述像素点矩阵的第二行的每一列数据依次从所述第一双端口RAM的第一端口的地址为0的位置开始写入。

具体的,预测方向为90°扩展方式为“镜像”处理,存储方式为将原始像素点矩阵的第一行数据row_1依次写入up_ext_2,即row_1的第一列数据写入up_ext_2对应RAM的地址为0的位置,第2列数据写入up_ext_2对应RAM的地址为1的位置,以此类推;将原始像素点矩阵的第2行数据row_2依次写入up_ext_1,写入方式同上。

在一些实施例中,响应于上边界对应的预测方向为135°,复制所述像素点矩阵的第一行同时作为上扩展行的第一行和第二行,同时进行向左位移并保存在第一双端口RAM,进一步包括:

将所述像素点矩阵的第一行中除去第一列数据之外的每一列数据依次从所述第一双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一行中除去前两列数据之外的每一列数据依次从所述第一双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为135°扩展方式为复制并向左位移处理,存储方式为将原始像素点矩阵的第一行数据row_1写入up_ext_2和up_ext_1,在写入时,row_1的第2列数据写入up_ext_1对应RAM的地址为0的位置,第3列数据写入up_ext_1对应RAM的地址为1的位置,以此类推写完整行数据,row_1的第1个数据不做处理;row_1的第3列数据写入up_ext_2对应RAM的地址为0的位置,第4列数据写入up_ext_2对应RAM的地址为1的位置,以此类推写完整行数据,row_1的前2个数据不做处理。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于下边界对应的预测方向为0°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行并保存在第二双端口RAM;

响应于下边界对应的预测方向为45°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行,同时进行向左位移并保存在第二双端口RAM;

响应于下边界对应的预测方向为90°,复制所述像素点矩阵的最后一行作为下扩展行的第一行,复制所述像素点矩阵的倒数第二行作为下扩展行的第二行并保存在第二双端口RAM;

响应于下边界对应的预测方向为135°,复制所述像素点矩阵的最后一行同时作为下扩展行的第一行和第二行,同时进行向右位移并保存在第二双端口RAM。

具体的,在对下边界的进行填充时,当0°为预测方向时,选择复制最后1行同时作为下扩展行的第一行和第二行,这种方式在本发明中简称为“复制”;当90°为预测方向时,选择复制最后1行作为下扩展行的第1行,选择复制倒数第2行作为下扩展行的第2行,这种方式在本发明中简称为“镜像”;当45°为预测方向时,选择复制最后1行同时作为下扩展行的第一行和第二行,同时进行向左位移,这种方式在本发明中简称为“复制并向左位移”;当135°为预测方向时,选择复制最后1行同时作为下扩展行的第一行和第二行,同时进行向右位移,这种方式在本发明中简称为“复制并向右位移”。

如图6所示,下边界处理时,可以使用第二双端口RAM作为扩展行,其中下方第一个扩展行写入第二双端口RAM的第一端口down_ext_1,下方第二个扩展行写入第二双端口RAM的第二端口down_ext_2。

RAM位宽(RAM_width)为像素位深pixel_d(存储一个像素点所需要的bit数,例如常见的rgb888格式,每个分量占用8bit,因此像素位深为24bit),RAM深度(RAM_depth)为图像一行的像素个数image_row。针对不同的预测方向,存储扩展行的方式不同。

在一些实施例中,响应于下边界对应的预测方向为0°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行并保存在第二双端口RAM,进一步还包括:

将所述像素点矩阵的最后一行的每一列数据依次从所述第二双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的最后一行的每一列数据依次从所述第二双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为0°扩展方式为复制处理,存储方式为将原始像素点矩阵的最后一行数据row_last_1同步写入down_ext_2和down_ext_1,即row_last_1的第一列数据写入down_ext_2对应RAM的地址为0的位置,第2列数据写入down_ext_2对应RAM的地址为1的位置,以此类推,down_ext_1写入方式同上。

在一些实施例中,响应于下边界对应的预测方向为45°,复制所述像素点矩阵的最后一行作为下扩展行的第一行和第二行,同时进行向左位移并保存在第二双端口RAM,进一步包括:

将所述像素点矩阵的最后一行中除去第一列数据之外的每一列数据依次从所述第二双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的最后一行中除去前两列数据之外的每一列数据依次从所述第二双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为45°扩展方式为“复制并向左位移”,存储方式为将原始像素点矩阵的最后一行数据row_last_1写入down_ext_2和down_ext_1,在写入时row_last_1的第2列数据写入down_ext_1对应RAM的地址为0的位置,第3列数据写入down_ext_1对应RAM的地址为1的位置,以此类推写完整行数据,row_last_1的第1个数据不做处理;row_last_1的第3列数据写入down_ext_2对应RAM的地址为0的位置,第4列数据写入down_ext_2对应RAM的地址为1的位置,以此类推写完整行数据,row_last_1的前2个数据不做处理。

在一些实施例中,响应于下边界对应的预测方向为90°,复制所述像素点矩阵的最后一行作为下扩展行的第一行,复制所述像素点矩阵的倒数第二行作为下扩展行的第二行并保存在第二双端口RAM,进一步包括:

将所述像素点矩阵的最后一行的每一列数据依次从所述第二双端口RAM的第二端口的地址为0的位置开始写入;

将所述像素点矩阵的倒数第二行的每一列数据依次从所述第二双端口RAM的第一端口的地址为0的位置开始写入。

具体的,预测方向为90°扩展方式为“镜像”,存储方式为将原始像素点矩阵的最后一行数据row_last_1依次写入down_ext_2,即row_last_1的第一列数据写入down_ext_2对应RAM的地址为0的位置,第2列数据写入down_ext_2对应RAM的地址为1的位置,以此类推;将原始像素点矩阵的倒数第2行数据row_last_2依次写入down_ext_1,写入方式同上。

在一些实施例中,响应于下边界对应的预测方向为135°,复制所述像素点矩阵的最后一行同时作为下扩展行的第一行和第二行,同时进行向右位移并保存在第二双端口RAM,进一步包括:

将所述像素点矩阵的最后一行中除去最后两列数据之外的每一列数据依次从所述第二双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的最后一行中除去最后一列数据之外的每一列数据依次从所述第二双端口RAM的第二端口的地址为1的位置开始写入。

具体的,预测方向为135°扩展方式为“复制并向右位移”,存储方式将原始像素点矩阵的最后一行数据row_last_1写入down_ext_2和down_ext_1,在写入时row_last_1的第一列数据写入down_ext_1对应RAM的地址为1的位置,第2列数据写入down_ext_1对应RAM的地址为2的位置,以此类推写完整行数据,row_last_1的最后1个数据不做处理;row_last_1的第一列数据写入down_ext_2对应RAM的地址为2的位置,第2列数据写入down_ext_2对应RAM的地址为3的位置,以此类推写完整行数据,row_last_1的最后2个数据不做处理。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于左边界对应的预测方向为0°,复制所述像素点矩阵的第一列作为左扩展列的第二列,复制所述像素点矩阵的第二列作为左扩展列的第一列并保存在第三双端口RAM;

响应于左边界对应的预测方向为45°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列,同时进行向下位移并保存在第三双端口RAM;

响应于左边界对应的预测方向为90°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列并保存在第三双端口RAM;

响应于左边界对应的预测方向为135°,复制所述像素点矩阵的第一列同时作为左扩展列的第一列和第二列,同时进行向上位移并保存在第三双端口RAM。

具体的,在对左边界的进行填充时,当0°为预测方向时,选择复制第1列作为左扩展列的第2列,选择复制第2列作为左扩展列的第1列,这种方式在本发明中简称为“镜像”;当90°为预测方向时,选择复制第一列同时作为左扩展列的第一列和第二列,这种方式在本发明中简称为“复制”;当45°为预测方向时,选择复制第一列同时作为左扩展列的第一列和第二列,同时进行向下位移,这种方式在本发明中简称为“复制并向下位移”;当135°为预测方向时,选择复制第一列同时作为左扩展列的第一列和第二列,同时进行向上位移,这种方式在本发明中简称为“复制并向上位移”。

如图6所示,左边界处理时,可以使用第三双端口RAM作为扩展行,其中左方第一个扩展列写入第三双端口RAM的第一端口left_ext_1,第二个扩展列写入第三双端口RAM的第二端口left_ext_2;

RAM位宽(RAM_width)为像素位深pixel_d(存储一个像素点所需要的bit数,例如常见的rgb888格式,每个分量占用8bit,因此像素位深为24bit),RAM深度(RAM_depth)为图像一行的像素个数image_row。针对不同的预测方向,存储扩展列的方式不同。

在一些实施例中,响应于左边界对应的预测方向为0°,复制所述像素点矩阵的第一列作为左扩展列的第二列,复制所述像素点矩阵的第二列作为左扩展列的第一列并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列的每一行数据依次从所述第三双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第二列的每一行数据依次从所述第三双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为0°扩展方式为“镜像”,存储方式为将原始像素点矩阵的第一列数据col_1依次写入left_ext_2,即col_1的第一行的数据写入left_ext_2对应RAM的地址为0的位置,第2行的数据写入left_ext_2对应RAM的地址为1的位置,以此类推;将原始像素点矩阵的第2列数据col_2依次写入left_ext_1,写入方式同上。

在一些实施例中,响应于左边界对应的预测方向为45°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列,同时进行向下位移并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列中除去最后两行数据之外的每一行数据依次从所述第三双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的第一列中除去最后一行数据之外的每一行数据依次从所述第三双端口RAM的第二端口的地址为1的位置开始写入。

具体的,预测方向为45°扩展方式为“复制并向下位移”,存储方式为将原始像素点矩阵的第一列数据col_1写入left_ext_2和left_ext_1,在写入时col_1的第1行数据写入left_ext_2对应RAM的地址为1的位置,第2行数据写入left_ext_2对应RAM的地址为2的位置,以此类推写完整列数据,col_1的最后(最下方)1个数据不做处理;col_1的第1行数据写入left_ext_1对应RAM的地址为2的位置,第2行数据写入left_ext_1对应RAM的地址为3的位置,以此类推写完整列数据,col_1的最后(最下方)2个数据不做处理。

在一些实施例中,响应于左边界对应的预测方向为90°,复制所述像素点矩阵的第一列作为左扩展列的第一列和第二列并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列的每一行数据依次从所述第三双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一列的每一行数据依次从所述第三双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为90°扩展方式为“复制”,存储方式为将原始像素点矩阵的第一列数据col_1同步写入left_ext_2和left_ext_1,即col_1的第一行数据写入left_ext_2对应RAM的地址为0的位置,第2行数据写入left_ext_2对应RAM的地址为1的位置,以此类推,left_ext_1写入方式同上。

在一些实施例中,响应于左边界对应的预测方向为135°,复制所述像素点矩阵的第一列同时作为左扩展列的第一列和第二列,同时进行向上位移并保存在第三双端口RAM,进一步还包括:

将所述像素点矩阵的第一列中除去前两行数据之外的每一行数据依次从所述第三双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一列中除去第一行数据之外的每一行数据依次从所述第三双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为90°扩展方式为“复制并向上位移”,存储方式为将原始像素点矩阵的第一列数据col_1写入left_ext_2和left_ext_1,在写入时col_1的第2行数据写入left_ext_2对应RAM的地址为0的位置,第3行数据写入left_ext_2对应RAM的地址为1的位置,以此类推写完整列数据,col_1的第1个数据不做处理;col_1的第3行数据写入left_ext_1对应RAM的地址为0的位置,第4行数据写入left_ext_1对应RAM的地址为1的位置,以此类推写完整列数据,col_1的前2个数据不做处理。

在一些实施例中,统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展,进一步包括:

响应于右边界对应的预测方向为0°,复制所述像素点矩阵的最后一列作为右扩展列的第二列,复制所述像素点矩阵的倒数第二列作为右扩展列的第一列并保存在第四双端口RAM;

响应于右边界对应的预测方向为45°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向上位移并保存在第四双端口RAM;

响应于右边界对应的预测方向为90°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列并保存在第四双端口RAM;

响应于右边界对应的预测方向为135°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向下位移并保存在第四双端口RAM。

具体的,在对右边界的进行填充时,当0°为预测方向时,选择复制最后1列作为右扩展列的第1列,选择复制倒数第2列作为右扩展列的第2列,这种方式在本发明中简称为“镜像”;当90°为预测方向时,选择复制最后1列同时作为右扩展列的第一列和第二列,这种方式在本发明中简称为“复制”;当45°为预测方向时,选择复制最后1列同时作为右扩展列的第一列和第二列,同时进行向上位移,这种方式在本发明中简称为“复制并向上位移”;当135°为预测方向时,选择复制第一列同时作为右扩展列的第一列和第二列,同时进行向下位移,这种方式在本发明中简称为“复制并向下位移”。

如图6所示,右边界处理时,可以使用第四双端口RAM作为扩展行,其中右方第一个扩展列写入第四双端口RAM的第一端口right_ext_1,右方第二个扩展列写入第四双端口RAM的第二端口right_ext_2;

RAM位宽(RAM_width)为像素位深pixel_d(存储一个像素点所需要的bit数,例如常见的rgb888格式,每个分量占用8bit,因此像素位深为24bit),RAM深度(RAM_depth)为图像一行的像素个数image_row。针对不同的预测方向,存储扩展列的方式不同。

在一些实施例中,响应于右边界对应的预测方向为0°,复制所述像素点矩阵的最后一列作为右扩展列的第二列,复制所述像素点矩阵的倒数第二列作为右扩展列的第一列并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的最后一列的每一行数据依次从所述第四双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的倒数第二列的每一行数据依次从所述第四双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为0°扩展方式为“镜像”,存储方式为将原始像素点矩阵的最后一列数据col_last_1依次写入right_ext_1,即col_last_1的第一行的数据写入right_ext_1对应RAM的地址为0的位置,第2行的数据写入right_ext_1对应RAM的地址为1的位置,以此类推;将原始像素点矩阵的倒数第2列数据col_last_2依次写入right_ext_2,写入方式同上。

在一些实施例中,响应于右边界对应的预测方向为45°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向上位移并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的最后一列中除去前两行数据之外的每一行数据依次从所述第四双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的最后一列中除去第一行数据之外的每一行数据依次从所述第四双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为45°扩展方式为“复制并向上位移”,存储方式为将原始像素点矩阵的最后一列数据col_last_1写入right_ext_2和right_ext_1,在写入时col_last_1的第2行数据写入right_ext_1对应RAM的地址为0的位置,第3行数据写入right_ext_1对应RAM的地址为1的位置,以此类推写完整列数据,像素点矩阵的第1个数据不做处理;col_last_1的第3行数据写入right_ext_1对应RAM的地址为0的位置,第4行数据写入right_ext_1对应RAM的地址为1的位置,以此类推写完整行数据,像素点矩阵的前2个数据不做处理。

在一些实施例中,响应于右边界对应的预测方向为90°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的第一列的每一行数据依次从所述第四双端口RAM的第一端口的地址为0的位置开始写入;

将所述像素点矩阵的第一列的每一行数据依次从所述第四双端口RAM的第二端口的地址为0的位置开始写入。

具体的,预测方向为90°扩展方式为“复制”,存储方式为将原始像素点矩阵的最后一列数据col_last_1同步写入right_ext_2和right_ext_1,即col_1的第一行数据写入right_ext_2对应RAM的地址为0的位置,第2行数据写入right_ext_2对应RAM的地址为1的位置,以此类推,right_ext_1写入方式同上。

在一些实施例中,响应于右边界对应的预测方向为135°,复制所述像素点矩阵的最后一列作为右扩展列的第一列和第二列,同时进行向下位移并保存在第四双端口RAM,进一步还包括:

将所述像素点矩阵的最后一列中除去最后两行数据之外的每一行数据依次从所述第四双端口RAM的第一端口的地址为2的位置开始写入;

将所述像素点矩阵的最后一列中除去最后一行数据之外的每一行数据依次从所述第四双端口RAM的第二端口的地址为1的位置开始写入。

具体的,预测方向为135°扩展方式为“复制并向下位移”,存储方式为将原始像素点矩阵的最后一列数据col_last_1写入right_ext_2和right_ext_1,在写入时col_last_1的第1行数据写入right_ext_2对应RAM的地址为1的位置,第2行数据写入right_ext_2对应RAM的地址为2的位置,以此类推写完整列数据,col_last_1的最后1个数据不做处理;col_last_1的第1行数据写入right_ext_1对应RAM的地址为2的位置,第2行数据写入right_ext_1对应RAM的地址为3的位置,以此类推写完整行数据,col_last_1的最后2个数据不做处理。

本发明提出的方案通过同步计算二阶微分,预测出边界处的图像模型,进而实现动态自适应的调整边界填充方案,最终实现高质量的图像缩放,保证了图像数据的完整性。同时,此方案还具有广泛的适用性,适用于双线性插值、双立方插值等多种插值方案。

基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种图像处理系统400,如图7所示,包括:

选择模块401,配置为为图像的像素点矩阵的每一个边界选择若干个行或列,并在每一个所述边界对应的若干个行或列中分别选择参考行或列;

计算模块402,配置为分别计算所述若干个行或列中每一个像素点在多个预设方向上的二阶微分值的绝对值;

预测方向确定模块403,配置为将所述参考行或列中的每一个像素点和其周围的若干个像素点在同一个预设方向上的二阶微分值的绝对值相加并将绝对值之和中最小值对应的预设方向作为所述参考行或列中对应像素点的预测方向;

扩展模块404,配置为统计所述参考行或列的所有像素点对应的预测方向中每一种预测方向的数量,将数量最多的预测方向作为对应边界的预测方向,并根据所述对应边界的预测方向对所述对应边界进行扩展。

基于同一发明构思,根据本发明的另一个方面,如图8所示,本发明的实施例还提供了一种计算机设备501,包括:

至少一个处理器520;以及

存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种图像处理方法的步骤。

基于同一发明构思,根据本发明的另一个方面,如图9所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序610,计算机程序610被处理器执行时执行如上的任一种图像处理方法的步骤。

最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。

此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

技术分类

06120116551493