图像处理方法及装置
技术领域
本发明实施例涉及图像处理领域,尤其涉及一种图像处理方法及装置。
背景技术
仿射变换是图像处理,图像识别领域的基础算法,低延时,高效率的图像仿射变换算法会显著提升图像处理和识别系统性能。
目前,将原图像旋转α角度,并在水平方向上放大M倍,在垂直方向放大N倍后,得到仿射变换后的目标图像,假如目标图像中的每一个像素的坐标为(x,y),原图像中的与目标图像中的像素(x,y)对应的像素坐标为(x′,y′),则原图像中的与目标图像中的像素(x,y)对应的像素坐标为(x′,y′)通用计算方法为:遍历目标图像中的每一个像素的坐标(x,y),通过坐标变化公式:
x′=xcosα/M-ysinα/N
y′=xsinα/M+ycosα/N
得到目标图像中像素坐标(x,y)所对应原图像中的位置坐标(x′,y′),取出目标图像中像素(x,y)映射到原图像中的位置坐标(x′,y′)的像素,并根据取出的目标图像中像素(x,y)映射到原图像中的位置坐标(x′,y′)的像素,计算目标图像中与在原图像中确定的像素对应的像素(x,y)的像素值,整个计算过程涉及正余弦计算和矩阵乘法,过程相对复杂,处理速度慢。
发明内容
本发明实施例提供的一种图像处理方法及装置,以提高图像处理效率。
第一方面,本发明实施例提供了一种图像处理方法,该图像处理方法包括:图像获取步骤,获取预存的图像信息;图像映射步骤,根据所获取的图像信息中的目标图像的尺寸信息、原图像的图像信息以及原图像相对于目标图像的偏移信息,确定原图像中的与目标图像中的像素对应的像素;图像计算步骤,根据在原图像中确定的像素,通过计算获得目标图像中的与在原图像中确定的像素对应的像素的像素值,得到目标图像。
在一例中,偏移信息包括:当目标图像中的像素横向变化一个像素位置时所对应的原图像的像素的横纵坐标分别变化的偏移量,和当目标图像中的像素纵向变化一个像素位置时所对应的原图像的像素的横纵坐标分别变化的偏移量。
在另一例中,确定原图像中的与目标图像中的像素对应的像素,包括:以目标图像中预设的第一顶点像素和第一顶点像素所对应的原图像的第二顶点像素作为起始点,根据偏移信息,确定第一顶点像素所在行中的与第一顶点像素相邻的像素映射到原图像的位置;以目标图像中预设的第一顶点像素和第一顶点像素所对应的原图像的第二顶点像素作为起始点,根据偏移信息,确定第一顶点像素所在列中的与第一顶点像素相邻的像素映射到原图像的位置;确定第一顶点像素所在行的所有像素映射到原图像的位置,和第一顶点像素所在列的所有像素映射到原图像的位置,并确定目标图像中其余各行的像素映射到原图像的位置,得到目标图像的全部像素映射到原图像中的位置;根据目标图像的全部像素映射到原图像中的位置,获取原图像中与目标图像的全部像素对应的像素。
在又一例中,根据偏移信息,确定第一顶点像素所在行中的与第一顶点像素相邻的像素映射到原图像的位置,包括:将第二顶点像素的横坐标的坐标值与第一顶点像素横向移动一个像素位置时对应的第二顶点像素的横坐标的偏移量进行求和运算,得到与第一顶点像素所在行相邻的像素映射到原图像的位置的横坐标的坐标值;将第二顶点像素的纵坐标的坐标值与第一顶点像素横向移动一个像素位置时对应的第二顶点像素的纵坐标的偏移量进行求和运算,得到与第一顶点像素所在行相邻的像素映射到原图像的位置的纵坐标的坐标值。
在一例中,根据偏移信息,确定第一顶点像素所在列中的与第一顶点像素相邻的像素映射到原图像的位置,包括:将第二顶点像素的横坐标的坐标值与第一顶点像素纵向移动一个像素位置时对应的第二顶点像素的横坐标的偏移量进行求和运算,得到与第一顶点像素所在列相邻的像素映射到原图像的位置的横坐标的坐标值;将第二顶点像素的纵坐标的坐标值与第一顶点像素纵向移动一个像素位置时对应的第二顶点像素的纵坐标的偏移量进行求和运算,得到与第一顶点像素所在列相邻的像素映射到原图像的位置的纵坐标的坐标值。
在另一例中,图像获取步骤之前,方法还包括:处理指令接收步骤,接收针对图像信息的处理指令;控制指令生成步骤,根据接收的处理指令生成控制指令,控制指令包括获取指令、映射指令、计算指令,其中,通过获取指令执行图像读取步骤,通过映射指令执行图像映射步骤,通过计算指令执行图像计算步骤。
在又一例中,图像计算步骤之后,方法还包括图像回写步骤,并且控制指令还包括回写指令,通过回写指令将得到的目标图像写回到存储器中。
在一例中,当通过映射指令执行图像映射步骤时,继续通过获取指令执行图像读取步骤,并且当通过计算指令执行图像计算步骤时,继续通过映射指令执行图像映射步骤。
第二方面,本发明实施例提供了一种图像处理装置,该图像处理装置包括:图像获取单元,用于获取预存的图像信息;图像映射单元,用于根据所获取的图像信息中的目标图像的尺寸信息、原图像的图像信息以及原图像相对于目标图像的偏移信息,确定原图像中的与目标图像中的像素对应的像素;图像计算单元,用于根据在原图像中确定的像素,确定通过计算获得目标图像中的与在原图像中确定的像素对应的像素的像素值,得到目标图像。
第三方面,本发明实施例还提供一种电子设备,其中,电子设备包括:存储器,用于存储指令;以及处理器,用于调用存储器存储的指令执行本发明当前方面及其各例中的图像处理方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在计算机上运行时,执行本发明当前方面及其各例中的图像处理方法。
本发明实施例提供的图像处理方法及装置,通过获取预存的图像信息,根据所获取的图像信息中的目标图像的尺寸信息、原图像的图像信息以及原图像相对于目标图像的偏移信息,可快速得到目标图像的全部像素映射到原图像中的位置,极大的提升了运算效率,并通过目标图像的全部像素映射到原图像中的位置,获取原图像中与目标图像的全部像素对应的像素。
附图说明
通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1是本发明实施例提供的图像处理方法实施流程图;
图2是本发明实施例提供的原图像和原图像经仿射变换得到的目标图像的位置示例图;
图3是本发明实施例提供的图像处理方法另一实施流程图;
图4是本发明实施例提供的图像处理方法另一实施流程图;
图5是本发明实施例提供的一种图像处理装置示意图;
图6是本发明实施例提供的一种图像处理装置另一示意图;
图7是本发明实施例提供的一种电子设备示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。
需要注意,虽然本文中使用“第一”、“第二”等表述来描述本发明的实施方式的不同模块、步骤和数据等,但是“第一”、“第二”等表述仅是为了在不同的模块、步骤和数据等之间进行区分,而并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。
图1所示为本发明实施例提供的一种图像处理方法实施流程图。参阅图1所示,该方法包括:
S101:图像获取步骤,获取预存的图像信息。
本发明实施例中涉及的图像信息可包括原图像的图像信息,目标图像的尺寸信息和原图像相对于目标图像的偏移信息。其中,原图像的图像信息可包括原图像的像素值信息、原图像顶点像素的坐标信息、原图像的尺寸信息和原图像存储的地址信息,其中原图像也可以是经过分割后的图像块。目标图像的尺寸信息,可包括比如目标图像的宽度和高度信息,原图像相对于目标图像的偏移信息包括:当目标图像中的像素横向变化一个像素位置时所对应的原图像的像素的横纵坐标分别变化的偏移量,和当目标图像中的像素纵向变化一个像素位置时所对应的原图像的像素的横纵坐标分别变化的偏移量。
作为可能的实施方式,图像信息可以预存在存储器中,本发明实施例中,例如可以获取预存在SOC主存储器中的图像信息。
图2所示为本发明实施例提供的原图像和原图像经仿射变换得到的目标图像的位置示例图。其中,原图像和原图像经仿射变换得到的目标图像坐标的轴心相同,原图像可以是图2中顶点像素分别为A′,B′,C′和D′的平行四边形,目标图像可以是原图像经仿射变换后的顶点像素分别为A,B,C,和D的长方形或者正方形。
原图像经过缩放操作和旋转α角度的旋转操作变换成目标图像,原图像根据获取的原图像的顶点像素的坐标信息,即可获取到原图像的顶点像素A′的坐标,B′的坐标,C′的坐标和D′的坐标。目标图像根据获取的目标图像的宽度和高度信息,可得到目标图像中像素的位置,即目标图像中像素的横纵坐标,包括目标图像的顶点像素A的坐标,B的坐标,C的坐标,和D的坐标。
具体地,假设目标图像的像素坐标为(x,y),原图像中的与目标图像中的像素(x,y)对应的像素坐标为(x′,y′),则原图像相对于目标图像的偏移信息可以表示为:(dx′/dx,dx′/dy,dy′/dx,dy′/dy)
其中,dx′/dx表示当目标图像中的像素横向变化一个像素位置时所对应的原图像的像素的横坐标变化的偏移量,dx′/dy表示当目标图像中的像素横向变化一个像素位置时所对应的原图像的像素的纵坐标变化的偏移量;dy′/dx表示当目标图像中的像素纵向变化一个像素位置时所对应的原图像的像素的横坐标变化的偏移量,dy′/dy表示当目标图像中的像素纵向变化一个像素位置时所对应的原图像的像素的纵坐标变化的偏移量。
进一步地,根据目标图像的像素坐标(x,y),原图像中的与目标图像中的像素(x,y)对应的像素坐标(x′,y′),和原图像相对于目标图像的偏移信息(dx′/dx,dx′/dy,dy′/dx,dy′/dy)可以得出公式一:
x′=(dx′/dx)x+(dx′/dy)y,y′=(dy′/dx)x+(dy′/dy)y
对照将原图像旋转角度α到目标图像,并在水平方向上放大M倍,在垂直方向放大N倍后,计算目标图像中的像素映射到原图像中的坐标(x′,y′)通用的计算方法:x′=xcosα/M-ysinα/N,y′=xsinα/M+ycosα/N,
可以得出,其中,dx′/dx=cosα/M,dy′/dx=-sinα/N,dx′/dy=sinα/M,dy′/dy=cosα/N
由此可得出,利用原图像相对于目标图像的偏移信息可代替利用原图像旋转一定角度得到目标图像的正余弦运算,从而在计算目标图像中像素(x,y)映射到原图像中的位置坐标时,大大简化了运算过程。
S102:图像映射步骤,根据所获取的图像信息中的目标图像的尺寸信息、原图像的图像信息以及原图像相对于目标图像的偏移信息,确定原图像中的与目标图像中的像素对应的像素。
可能的实施方式,本发明实施例中,可根据原图像的图像信息,目标图像的尺寸信息和原图像相对于目标图像的偏移信息,可以确定目标图像的全部像素映射到原图像中的位置,并根据目标图像的全部像素映射到原图像中的位置,获取原图像中与目标图像中的像素对应的像素。
本发明实施例中,当目标图像中像素坐标(x,y)横向变化一个像素时所对应的原图像中的坐标,例如可根据公式一进行确定,得到公式二:
(x+1)′=(dx′/dx)(x+1)+(dx′/dy)y=x′+(dx′/dx)
y′=(dy′/dx)(x+1)+(dy′/dy)y=y′+(dy′/dx)
其中,((x+1),y)代表目标图像中像素横向变化一个像素后的横纵坐标,(x′,y′)代表原图像中的与目标图像中的像素(x,y)对应的像素坐标。
由公式二可以得出,将目标图像中像素坐标的横坐标的坐标值与当目标图像中的像素横向变化一个像素位置时所对应的原图像的像素的横坐标变化的偏移量dx′/dx进行求和运算,得到当目标图像中像素坐标(x,y)横向变化一个像素时所对应的原图像中的坐标的横坐标的坐标值。
将目标图像中像素坐标的纵坐标的坐标值与当目标图像中的像素横向变化一个像素位置时所对应的原图像的像素的纵坐标变化的偏移量dy′/dx进行求和运算,得到当目标图像中像素坐标(x,y)横向变化一个像素时所对应的原图像中的坐标的纵坐标的坐标值。
同样,本发明实施例中,当目标图像中像素坐标(x,y)纵向变化一个像素时所对应的原图像中的坐标,例如可根据公式一进行确定,得到公式三:
x′=(dx′/dx)x+(dx′/dy)(y+1)=x′+(dx′/dy)
(y+1)′=(dy′/dx)x+(dy′/dy)(y+1)=y′+(dy′/dy)
其中,(x,(y+1))代表目标图像中像素纵向变化一个像素后的横纵坐标,(x′,y′)代表原图像中的与目标图像中的像素(x,y)对应的像素坐标。
由公式三可以得出,将目标图像中像素坐标的横坐标的坐标值与当目标图像中的像素纵向变化一个像素位置时所对应的原图像的像素的横坐标变化的偏移量dx′/dy进行求和运算,得到当目标图像中像素坐标(x,y)纵向变化一个像素时所对应的原图像中的坐标的横坐标的坐标值。
将目标图像中像素坐标的纵坐标的坐标值与当目标图像中的像素纵向变化一个像素位置时所对应的原图像的像素的纵坐标分别变化的偏移量dy′/dy进行求和运算,得到当目标图像中像素坐标(x,y)纵向变化一个像素时所对应的原图像中的坐标的纵坐标的坐标值。
具体地,本发明实施例中,可以根据目标图像中预设的第一顶点像素和第一顶点像素所对应的原图像的第二顶点像素作为起始点,根据偏移信息,确定第一顶点像素所在行中的与第一顶点像素相邻的像素映射到原图像的位置。
本发明实施例为描述方便,将目标图像中预设顶点像素和该顶点像素所对应的原图像的顶点像素,称为第一顶点像素和第二顶点像素。
本发明实施例中,例如以图2中目标图像左上角顶点像素B和顶点像素B所对应的原图像的顶点像素B′为起始点,例如像素B的坐标为(x1,y1),B′的坐标为(x′1,y′1),根据偏移信息,确定像素B所在行中的与像素B相邻的像素映射到原图像的位置,可根据公式二确定如下:
(x+1)′=(dx′/dx)(x+1)+(dx′/dy)y=x′+(dx′/dx)
通过该公式,可确定像素B所在行中的与像素B相邻的像素映射到原图像的位置的横坐标的坐标值,即
(x1+1)′=(dx′/dx)(x1+1)+(dx′/dy)y1=x1+(dx′/dx)
即将第二顶点像素的横坐标的坐标值与第一顶点像素横向移动一个像素位置时对应的第二顶点像素的横坐标的偏移量进行求和运算,得到与第一顶点像素所在行相邻的像素映射到原图像的位置的横坐标的坐标值;
由公式二中的y′=(dy′/dx)(x1+1)+(dy′/dy)y′=y′+(dy′/dx)
可确定像素B所在行中的与像素B相邻的像素映射到原图像的位置的纵坐标的坐标值,即
y1′=(dy′/dx)(x1+1)+(dy′/dy)y1=y1′+(dy′/dx)
即将第二顶点像素的纵坐标的坐标值与第一顶点像素横向移动一个像素位置时对应的第二顶点像素的纵坐标的偏移量进行求和运算,得到与第一顶点像素所在行相邻的像素映射到原图像的位置的纵坐标的坐标值。
同理,以目标图像中预设的第一顶点像素和第一顶点像素所对应的原图像的第二顶点像素作为起始点,根据偏移信息,确定第一顶点像素所在列中的与第一顶点像素相邻的像素映射到原图像的位置,可根据公式三确定如下:
具体地,由公式三中的
x′=(dx′/dx)x+(dx′/dy)(y+1)=x′+(dx′/dy)
可确定像素B所在列中的与像素B相邻的像素映射到原图像的位置的横坐标的坐标值,即x′1=x′1+dx′/dy
即将第二顶点像素的横坐标的坐标值与第一顶点像素纵向移动一个像素位置时对应的第二顶点像素的横坐标的偏移量进行求和运算,得到与第一顶点像素所在列相邻的像素映射到原图像的位置的横坐标的坐标值。
由公式三中的(y+1)′=(dy′/dx)x+(dy′/dy)(y+1)=y′+(dy′/dy)
可确定像素B所在列中的与像素B相邻的像素映射到原图像的位置的纵坐标的坐标值,即(y1+1)′=y′1+dy′/dy
即将第二顶点像素的纵坐标的坐标值与第一顶点像素纵向移动一个像素位置时对应的第二顶点像素的纵坐标的偏移量进行求和运算,得到与第一顶点像素所在列相邻的像素映射到原图像的位置的纵坐标的坐标值。
进一步地,依此可根据确定的第一顶点像素所在行中的与第一顶点像素相邻的像素映射到原图像的位置,确定出第一顶点像素所在行的第三个像素映射到原图像的位置,进而依次确定出第一顶点像素所在行的所有像素映射到原图像的位置。
进一步地,依此可根据确定的第一顶点像素所在列中的与第一顶点像素相邻的像素映射到原图像的位置,确定出第一顶点像素所在列的第三个像素映射到原图像的位置,进而依次确定第一顶点像素所在列的所有像素映射到原图像的位置。
更进一步地,由于目标图像第一顶点像素所在列的像素即为目标图像每一行像素中的第一个像素,依此可根据确定的第一顶点像素所在列的所有像素映射到原图像的位置,确定出目标图像每一行像素中的第二个像素映射到原图像的位置,进而依次确定出目标图像中其余各行的像素映射到原图像的位置,得到目标图像的全部像素映射到原图像中的位置。根据目标图像的全部像素映射到原图像中的位置,获取原图像中与目标图像的全部像素对应的像素。
S103:图像计算步骤,根据在原图像中确定的像素,通过计算获得目标图像中的与在原图像中确定的像素对应的像素的像素值,得到目标图像。
一种可能的实施方式,本发明实施例中,可根据原图像中的与目标图像中的像素对应的像素,利用插值算法,计算得到经仿射变换后目标图像中每个点的像素,并根据目标图像中每个点的像素,最终拼接成完整的目标图像。
本发明实施例以下将结合实际应用对本发明实施例涉及的图像处理实施方法进行说明。
图3所示为本发明实施例提供的另一种图像处理方法实施流程图。参阅图3所示,方法100还包括:
S104:处理指令接收步骤,接收针对图像信息的处理指令。
本发明实施例中的处理指令可以是由中央处理器下发的处理指令,该处理指令可以是针对原图像进行仿射变化的处理指令,本发明实施例中,接收该处理指令的处理器例如可以是FPGA。
S105:控制指令生成步骤,根据接收的处理指令生成控制指令,控制指令包括获取指令、映射指令、计算指令,其中,通过获取指令执行图像读取步骤,通过映射指令执行图像映射步骤,通过计算指令执行图像计算步骤。
本发明实施例中,FPGA可以根据接收的处理指令生成多个控制指令,作为一种可能的实施方式,本发明实施例中,通过生成的多个控制指令流水方式控制图像的处理步骤。作为一种可能的实施方式,本发明实施例中,可根据接收到的处理指令生成获取指令、映射指令和计算指令。
具体地,生成的获取指令中可以包含获取原图像的图像信息和目标图像的尺寸信息的指令。生成的映射指令中可以包含针对原图像和目标图像的像素映射计算指令,生成的计算指令中可以包含将目标图像映射原图像的像素插值回目标图像中对应的像素的指令。
S101:图像获取步骤,通过获取指令执行图像读取步骤。
S102:图像映射步骤,通过映射指令执行图像映射步骤。
S103:图像计算步骤,通过计算指令执行图像计算步骤。
其中,当通过映射指令执行图像映射步骤时,继续通过获取指令执行图像读取步骤,并且当通过计算指令执行图像计算步骤时,继续通过映射指令执行图像映射步骤。
图4所示为本发明实施例提供的另一种图像处理方法实施流程图。参阅图4所示,方法100还包括:
S106:图像回写步骤,根据接收的处理指令生成控制指令,生成的控制指令还包括回写指令,通过回写指令将得到的目标图像写回到存储器中。
本发明实施例提供的图像处理方法,通过获取预存的图像信息,根据所获取的图像信息中的目标图像的尺寸信息、原图像的图像信息以及原图像相对于目标图像的偏移信息,可快速得到目标图像的全部像素映射到原图像中的位置,代替了利用原图像旋转一定角度得到目标图像的正余弦运算,降低了计算的复杂度,提高了处理效率。并通过接收图像信息的处理指令,生成控制指令,通过生成的控制指令流水线式控制图像处理步骤,减少了系统调度开销,显著提升了图像处理速度。
基于相同的发明构思,本发明实施例还提供一种图像处理装置。
可以理解的是,本发明实施例提供的图像处理装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明实施例中所公开的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
本发明实施例可以根据上述方法实施例对图像处理装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成的单元的情况下,本发明实施例提供的图像处理装置可包括图像获取单元、图像映射单元和图像计算单元。图5所示为本发明实施例提供的图像处理装置示意图。参阅图5所示,装置200包括:图像获取单元201,图像映射单元202和图像计算单元203。其中,图像获取单元201,用于获取预存的图像信息;图像映射单元202,用于根据所获取的图像信息中的目标图像的尺寸信息、原图像的图像信息以及原图像相对于目标图像的偏移信息,确定原图像中的与目标图像中的像素对应的像素;图像计算单元203,用于根据在原图像中确定的像素,确定通过计算获得目标图像中的与在原图像中确定的像素对应的像素的像素值,得到目标图像。
在一实施例中,偏移信息包括:当目标图像中的像素横向变化一个像素位置时所对应的原图像的像素的横纵坐标分别变化的偏移量,和当目标图像中的像素纵向变化一个像素位置时所对应的原图像的像素的横纵坐标分别变化的偏移量。
在一实施例中,图像映射单元202采用如下方式确定原图像中的与目标图像中的像素对应的像素:以目标图像中预设的第一顶点像素和第一顶点像素所对应的原图像的第二顶点像素作为起始点,根据偏移信息,确定第一顶点像素所在行中的与第一顶点像素相邻的像素映射到原图像的位置;以目标图像中预设的第一顶点像素和第一顶点像素所对应的原图像的第二顶点像素作为起始点,根据偏移信息,确定第一顶点像素所在列中的与第一顶点像素相邻的像素映射到原图像的位置;确定第一顶点像素所在行的所有像素映射到原图像的位置,和第一顶点像素所在列的所有像素映射到原图像的位置,并确定目标图像中其余各行的像素映射到原图像的位置,得到目标图像的全部像素映射到原图像中的位置;根据目标图像的全部像素映射到原图像中的位置,获取原图像中与目标图像的全部像素对应的像素。
在一实施例中,图像映射单元202采用如下方式根据偏移信息,确定第一顶点像素所在行中的与第一顶点像素相邻的像素映射到原图像的位置:将第二顶点像素的横坐标的坐标值与第一顶点像素横向移动一个像素位置时对应的第二顶点像素的横坐标的偏移量进行求和运算,得到与第一顶点像素所在行相邻的像素映射到原图像的位置的横坐标的坐标值;将第二顶点像素的纵坐标的坐标值与第一顶点像素横向移动一个像素位置时对应的第二顶点像素的纵坐标的偏移量进行求和运算,得到与第一顶点像素所在行相邻的像素映射到原图像的位置的纵坐标的坐标值。
在一实施例中,图像映射单元202采用如下方式根据偏移信息,确定第一顶点像素所在列中的与第一顶点像素相邻的像素映射到原图像的位置:将第二顶点像素的横坐标的坐标值与第一顶点像素纵向移动一个像素位置时对应的第二顶点像素的横坐标的偏移量进行求和运算,得到与第一顶点像素所在列相邻的像素映射到原图像的位置的横坐标的坐标值;将第二顶点像素的纵坐标的坐标值与第一顶点像素纵向移动一个像素位置时对应的第二顶点像素的纵坐标的偏移量进行求和运算,得到与第一顶点像素所在列相邻的像素映射到原图像的位置的纵坐标的坐标值。
在一实施例中,当通过映射指令执行图像映射步骤时,继续通过获取指令执行图像读取步骤,并且当通过计算指令执行图像计算步骤时,继续通过映射指令执行图像映射步骤。
图6所示为本发明实施例提供的图像处理装置另一示意图。参阅图6所示,图像处理装置200还包括:处理指令接收单元204、控制指令生成单元205和图像回写单元206。其中,处理指令接收单元204,用于接收针对图像信息的处理指令;控制指令生成单元205,用于根据接收的处理指令生成控制指令,控制指令包括获取指令、映射指令、计算指令,回写指令,其中,通过获取指令执行图像读取步骤,通过映射指令执行图像映射步骤,通过计算指令执行图像计算步骤。图像回写单元206,用于根据回写指令,将得到的目标图像写回到存储器中。
如图7所示,本发明的一个实施方式提供了一种电子设备300。其中,该电子设备300包括存储器301、处理器302、输入/输出(Input/Output,I/O)接口303。其中,存储器301,用于存储指令。处理器302,用于调用存储器301存储的指令执行本发明实施例的用于图像处理方法。其中,处理器302分别与存储器301、I/O接口303连接,例如可通过总线系统和/或其他形式的连接机构(未示出)进行连接。存储器301可用于存储程序和数据,包括本发明实施例中涉及的用于图像处理程序,处理器302通过运行存储在存储器301的程序从而执行电子设备300的各种功能应用以及数据处理。
本发明实施例中处理器302可以采用数字信号处理器(Digital SignalProcessing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现,处理器302可以是中央处理单元(Central Processing Unit,CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元中的一种或几种的组合。
本发明实施例中的存储器301可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(Random Access Memory,RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等。
本发明实施例中,I/O接口303可用于接收输入的指令(例如数字或字符信息,以及产生与电子设备300的用户设置以及功能控制有关的键信号输入等),也可向外部输出各种信息(例如,图像或声音等)。本发明实施例中I/O接口303可包括物理键盘、功能按键(比如音量控制按键、开关按键等)、鼠标、操作杆、轨迹球、麦克风、扬声器、和触控面板等中的一个或多个。
在一些实施方式中,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在由处理器执行时,执行上文的任何方法。
尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本发明的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种方法步骤。还应当注意的是,此处以及权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收输入的设备。
此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。
出于示例和描述的目的,已经给出了本发明实施的前述说明。前述说明并非是穷举性的也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本发明。