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

一种图像处理方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 12:19:35


一种图像处理方法、装置、电子设备和存储介质

技术领域

本申请涉及图像处理技术领域,具体而言,涉及一种图像处理方法、装置、电子设备和存储介质。

背景技术

在图像处理技术领域中,为了使得图像仿射变换(即warp变换)运算速度加快,经常使用片内存储器(on-chip-memory,OCM)存储图像,但是片内存储器容量有限,使得采用OCM进行图像处理时,图像的大小具有一定的要求,例如,图像尺寸过大可能导致图像不能完整存入OCM中,进而造成OCM无法处理的情况,因此,目前采用OCM进行图像处理存在着图像大小具有一定的限制。

发明内容

本申请实施例的目的在于提供一种图像处理方法、装置、电子设备和存储介质,用以解决上述问题。

第一方面,本发明提供一种图像处理方法,所述方法应用于芯片,所述芯片包括片内存储器,所述方法包括:通过片内存储器依次读取源图像对应的多个切片,其中,所述源图像包括多边形区域,每一切片包含所述多边形区域对应的切割区域,不同切片对应的切割区域不同;获取每次读取的切片的切割区域的多个顶点的坐标;根据每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标;根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像。

在上述设计的图像处理方法中,本方案通过片内存储器依次读取源图像对应的多个切片,然后获取每次读取的切片的切割区域的多个顶点的坐标,基于每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标,进而根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像,使得在图像的尺寸大于片内存储器的容量的情况下,也能够实现对图像的仿射变换,进而在有限的片内存储器中实现仿射变换。

在第一方面的可选的实施方式中,所述通过片内存储器依次读取源图像对应的多个切片,包括:通过片内存储器依次读取源图像的预设尺寸,依次获得源图像对应的多个切片。

在第一方面的可选的实施方式中,所述通过片内存储器依次读取源图像的预设尺寸,依次获得源图像对应的多个切片,包括:通过片内存储器依次读取源图像的预设纵向长度,依次获得源图像对应的多个切片,其中,所述预设纵向长度根据片内存储器的容量和所述源图像的横向长度确定。

在上述设计的实施方式中,通过片内存储器依次读取源图像的预设尺寸形成多个切片,使得无需提前对源图像进行切片操作,进而降低处理流程复杂度。

在第一方面的可选的实施方式中,所述获取每次读取的切片的切割区域的多个顶点的坐标,包括:获取每次读取的切片的纵向起始坐标和纵向结束坐标;确定每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和所述多边形区域的多个相交点;将每次读取的切片对应的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在第一方面的可选的实施方式中,所述获取每次读取的切片的切割区域的多个顶点的坐标,包括:获取所述多边形区域的每个顶点的坐标以及每个切片的纵向起始坐标和纵向结束坐标;根据所述多边形区域的每个顶点的坐标以及每个切片的纵向起始坐标和纵向结束坐标确定每次读取的切片包含的顶点;获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和所述多边形区域的多个相交点的坐标;将每次读取的切片包含的顶点的坐标以及对应切片的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在上述设计的实施方式中,通过多边形区域的顶点坐标是否在切片中的判定以及切片的纵向起始坐标和纵向结束坐标分别对应的直线和所述多边形区域的交点两种方式结合确定切割区域的多个顶点,进而使得切割区域的多个顶点的确定更加准确。

在第一方面的可选的实施方式中,在所述通过片内存储器依次读取源图像对应的多个切片之前,所述方法还包括:根据片内存储器的容量和源图像的尺寸将所述源图像切分为多个切片;对每一切片包含的所述多边形区域对应的切割区域的每一顶点的坐标进行标注。

在第一方面的可选的实施方式中,所述获取每次读取的切片对应的切割区域的多个顶点的坐标,包括:获取每次读取的切片的预先标注的切割区域的多个顶点坐标。

在上述设计的实施方式中,提前对源图像进行切分和切割区域的顶点标注,进而使得后续处理过程更加快速。

在第一方面的可选的实施方式中,所述根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像,包括:根据每次读取的切片的切割区域的多个顶点的连接次序将每次读取的切片的切割区域的仿射图像的多个目标点的坐标进行连接,形成每次读取的切片的切割区域对应的仿射区域;获取每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值;将每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值填充在对应仿射区域的对应像素点中,获得每次读取的切片对应的仿射图像。

在第一方面的可选的实施方式中,所述芯片还包括图像处理组件,所述根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像,包括:根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的扫描区域;利用图像处理组件对所述扫描区域中的每一像素点进行仿射转换计算,获得每次读取的切片对应的仿射图像。

在第一方面的可选的实施方式中,所述利用图像处理组件对所述扫描区域中的每一像素点进行仿射转换计算,获得每次读取的切片对应的仿射图像,包括:利用所述图像处理组件根据每次读取的切片对应的扫描区域中的每一像素点的坐标计算每一像素点在源图像中的源点坐标;根据每一像素点对应的源点坐标确定每一源点坐标对应的多个邻域整数坐标;根据每一源点坐标对应的多个邻域整数坐标确定每一源点坐标对应的多个邻域整数坐标中每一邻域整数坐标在存储器中的读取地址;根据每一源点坐标对应的多个邻域整数坐标的读取地址在存储器中读取每一源点坐标对应的多个像素值;根据每一源点坐标对应的多个像素值进行插值计算得到每一像素点对应的像素值,获得每次读取的切片对应的仿射图像。

在上述设计的实施方式中,采用图像处理组件的实体硬件设备来实现仿射变换的计算过程,进而可以为CPU或芯片减轻负载压力,解放CPU或芯片的生产力。

第二方面,本发明提供一种图像处理装置,所述应用于芯片,所述芯片包括片内存储器,所述装置包括:读取模块,用于通过片内存储器依次读取源图像对应的多个切片,其中,所述源图像包括多边形区域,每一切片包含所述多边形区域对应的切割区域,不同切片对应的切割区域不同;获取模块,用于获取每次读取的切片的切割区域的多个顶点的坐标;确定模块,用于根据每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域的仿射图像的多个目标点的坐标;以及,根据每次读取的切片的切割区域的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像。

在上述设计的图像处理装置中,本方案通过片内存储器依次读取源图像对应的多个切片,然后获取每次读取的切片的切割区域的多个顶点的坐标,基于每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标,进而根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像,使得在图像的尺寸大于片内存储器的容量的情况下,也能够实现对图像的仿射变换,进而在有限的片内存储器中实现仿射变换。

在第二方面的可选实施方式中,所述读取模块,具体用于通过片内存储器依次读取源图像的预设尺寸,依次获得源图像对应的多个切片。

在第二方面的可选实施方式中,所述获取模块,具体用于获取每次读取的切片的纵向起始坐标和纵向结束坐标;获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和所述多边形区域的多个相交点的坐标;将每次读取的切片对应的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在第二方面的可选实施方式中,所述获取模块,还具体用于所述获取每次读取的切片的切割区域的多个顶点的坐标,包括:获取所述多边形区域的每个顶点的坐标以及每个切片的纵向起始坐标和纵向结束坐标;根据所述多边形区域的每个顶点的坐标以及每个切片的纵向起始坐标和纵向结束坐标确定每次读取的切片包含的顶点;获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和所述多边形区域的多个相交点的坐标;将每次读取的切片包含的顶点的坐标以及对应切片的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在第二方面的可选实施方式中,所述装置还包括切分模块,用于根据片内存储器的容量和源图像的尺寸将所述源图像切分为多个切片;标注模块,用于对每一切片包含的所述多边形区域对应的切割区域的每一顶点的坐标进行标注。

在第二方面的可选实施方式中,所述获取模块,还具体用于获取每次读取的切片的预先标注的切割区域的多个顶点坐标。

在第二方面的可选实施方式中,所述确定模块,具体用于根据每次读取的切片的切割区域的多个顶点的连接次序将每次读取的切片的切割区域的仿射图像的多个目标点的坐标进行连接,形成每次读取的切片的切割区域对应的仿射区域;获取每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值;将每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值填充在对应仿射区域的对应像素点中,获得每次读取的切片对应的仿射图像。

在第二方面的可选实施方式中,所述芯片还包括图像处理组件,所述确定模块,还具体用于根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的扫描区域;利用图像处理组件对所述扫描区域中的每一像素点进行仿射转换计算,获得每次读取的切片对应的仿射图像。

第三方面,实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行第一方面、第一方面的任一可选的实现方式中的所述方法。

第四方面,实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行第一方面、第一方面的任一可选的实现方式中的所述方法。

第五方面,实施例提供了一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面、第一方面的任一可选的实现方式中的所述方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的图形处理方法的第一流程图;

图2为本申请实施例提供的仿射变化的第一示例图;

图3为本申请实施例提供的图形处理方法的第二流程图;

图4为本申请实施例提供的图形处理方法的第三流程图;

图5为本申请实施例提供的仿射变换的第二示例图;

图6为本申请实施例提供的图形处理方法的第四流程图;

图7为本申请实施例提供的图形处理方法的第五流程图;

图8为本申请实施例提供的图形处理方法的第六流程图;

图9为本申请实施例提供的仿射变换的第三示例图;

图10为本申请实施例提供的图形处理方法的第七流程图;

图11为本申请实施例提供的图形处理方法的第八流程图;

图12为本申请实施例提供的图形处理方法的第九流程图;

图13为本申请实施例提供的仿射变换的第四示例图;

图14为本申请实施例提供的图形处理方法的第十流程图;

图15为本申请实施例提供的图形处理装置的结构示意图;

图16为本申请实施例提供的电子设备结构示意图。

图标:1500-读取模块;1510-获取模块;1520-确定模块;1530-切分模块;1540-标注模块;16-电子设备;1601-处理器;1602-存储器;1603-通信总线。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

本申请实施例提供一种图像处理方法,该图像处理方法能够在图像尺寸大于片内存储器的容量的情况下,实现对图像的仿射变换,该方法可应用于芯片或其他计算设备,该芯片或计算设备内包含有片内存储器,如图1所示,该方法包括如下步骤:

步骤S100:通过片内存储器依次读取源图像对应的多个切片。

步骤S110:获取每次读取的切片的切割区域的多个顶点的坐标。

步骤S120:根据每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标。

步骤S130:根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像。

在对上述步骤进行说明之前,首先对仿射变换进行如下说明:源图像是指需要进行仿射变换的图像,源图像中包含有多边形区域,仿射图像是指源图像仿射变换完成后的图像,仿射图像中也包含多边形区域,在仿射变换的示例中,一般是将不规则的多边形图像仿射变换为规则多边形图像,例如,图2所示的,将左边的不规则四边形A1的源图像变换为右边的规则矩形A2仿射图像。

在本方案的步骤S100中,切片是指源图像的切割图像,每个切片中包含有源图像的多边形区域对应的切割区域,不同的切片的切割区域不同,其中,切片的形成可以有如下方式:作为一种可能的实施例,片内存储器可每次读取源图像的一部分,每次读取的源图像部分即为对应的切片,在这样的实施例中,如图3所示,步骤S100具体可包括如下步骤:

步骤S300:通过片内存储器依次读取源图像的预设尺寸,依次获得源图像对应的多个切片。

在上述步骤S300中,通过片内存储器依次读取源图像的预设尺寸,那么每次读取得到的预设尺寸的源图像即为每次读取的切片。这里需要说明的是,由于本申请方案是针对源图像尺寸大于片内存储器容量的情况,因此,该预设尺寸可设置为源图像的最大容量,即片内存储器每次读取其能够容纳的源图像的最大尺寸,并且在本步骤中,每次读取的源图像部分不相同,即读取过的源图像部分不再重复读取。

在本实施例的可选实施方式中,片内存储器依次读取源图像的预设尺寸可通过如下方式具体进行,如图4所示,包括:

步骤S400:通过片内存储器依次读取源图像的预设纵向长度,依次获得源图像对应的多个切片。

在步骤S400中,该预设纵向长度可通过片内存储器的最大容量和源图像的横向长度决定,例如,假设片内存储器的最大容量为100,源图像的横向长度为10、纵向宽度为25,通过片内存储器的最大容量和源图像的横向长度可得预设纵向长度为10,那么片内存储器第一次可读取纵向长度为1-10的源图像形成第一个切片,第二次可读取纵向长度为11-20的源图像形成第二个切片,第三次读取纵向长度为21-25的源图像形成第三个切片,这里需要说明的是,源图像剩余的尺寸没有超过片内存储器的最大容量时,片内存储器会对其读取作为一个切片;片内存储器在进行读取时可以从源图像的纵向起始端开始读取,也可以从源图像的纵向终止端开始读取;另外,除了采用纵向读取的方式,也可以采用横向读取的方式,其与纵向读取方式的原理一致,在这里不再赘述,后续均采用纵向读取的方式进行举例说明。

上述步骤S400,可依照图5的示例进行说明:在图5中,该源图像为纵向长度为25,横向长度为10的不规则四边形图像,假设片内存储器从源图像的纵向起始端(即图像顶端开始以行进行读取),那么片内存储器读取纵向长度为1-10的源图像时,其读取获得的是切割区域为三角形的切片C1;片内存储器读取纵向长度为11-20的源图像时,其读取获得的是切割区域为不规则六边形的切片C2;片内存储器读取纵向长度为21-25的源图像时,其读取获得的是切割区域为另一个三角形的切片C3;片内存储器可依次获得这三个切片,在获得每一个切片时对每一个切片执行步骤S110~S130进行处理。

作为另一种可能的实施方式,除了前述基于片内存储器读取形成切片的方式外,本申请方案还可可预先对源图像进行切割形成多个切片,如图6所示,其具体包括如下步骤:

步骤S600:根据片内存储器的容量和源图像的尺寸将源图像切分为多个切片。

步骤S610:对每一切片包含的多边形区域对应的切割区域的每一顶点的坐标进行标注。

在步骤S600中,本方案还可以基于片内存储器的容量和源图像的尺寸将源图像切分为多个切片,可基于源图像的横向长度和片内存储器的最大容量,将源图像横向切分为多个切片,当然也可以基于源图像的纵向长度和片内存储器的最大容量,将源图像纵向切分为多个切片;其中,前述实施例是基于片内存储器读取来进行切分,本实施例是预先处理切分。在本申请预先处理切分的情形下,步骤S100中片内存储器读取时,即可将切分获得的切片载入到片内存储器中,在对该切片执行完步骤S110~步骤S140后,再将另一切片载入到片内存储器中,进而执行步骤S110~步骤S140;如此循环,直至所有的切片载入处理完成。

在步骤S610中,本方案还可以对切分后的每一切片包含的多边形区域对应的切割区域的每一顶点的坐标进行标注,进而为后续处理做好准备。这里需要说明的是,在对切割区域的顶点坐标进行标注时,多个切片所采用的坐标轴为同一坐标轴,例如,以源图像的左下角为原点,横向为横轴,纵向为纵轴的坐标轴。

在步骤S100片内存储器每次读取一个切片后可执行步骤S110获取每次读取的切片的切割区域的多个顶点的坐标,切割区域前面描述到为切片中切割的源图像的多边形区域所形成的区域,其中,在前述切片形成的方式不同时,切割区域的多个顶点的坐标的获取方式也不相同。

在切片为片内存储器读取形成的实施例下,作为一种可能的实施方式,如图7所述,步骤S110可包括如下步骤:

步骤S700:获取每次读取的切片的纵向起始坐标和纵向结束坐标。

步骤S710:获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和多边形区域的多个相交点的坐标。

步骤S720:将每次读取的切片对应的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在上述步骤中,前述到不同切片对应的坐标轴相同,其可为以源图像的左下角为原点,横向为横轴,纵向为纵轴的坐标轴,由于是横向切分,因此,通过得到每次读取的切片的纵向起始坐标和纵向结束坐标即可得知每次读取的切片的上下边界,该上下边界即为纵向起始坐标和纵向结束坐标分别对应的直线,当进行横向切分时,切片的纵向起始坐标和纵向技术坐标分别对应的直线与多边形区域的交点即为切割区域的多个顶点。以图5中的C1切片为例,其纵向起始坐标为0~y1,那么其对应的切割线分别为y=0和y=y1,那么直切割线y=0和y=y1与源图像中多边形区域的交点B1、B2以及B3即为切片C1的切割区域的多个顶点,进而通过交点B1、B2以及B3的坐标即可得到切片C1的切割区域的三个顶点的坐标。

在切片为片内存储器读取形成的实施例下,作为另一种可能的实施方式,如图8所示,步骤S110还可以通过如下方式实现:

步骤S800:获取多边形区域的每个顶点的坐标以及每次读取的切片的纵向起始坐标和纵向结束坐标。

步骤S810:根据多边形区域的每个顶点的坐标以及每次读取的切片的纵向起始坐标和纵向结束坐标确定每次读取的切片包含的顶点。

步骤S820:获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和多边形区域的多个相交点的坐标。

步骤S830:将每次读取的切片包含的顶点的坐标以及对应切片的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在上述步骤中,首先获取多边形区域的每个顶点的坐标,然后基于每次读取的切片的纵向起始坐标和纵向结束坐标确定出每次读取的切片的纵向坐标范围,然后判断多边形区域的每个顶点的纵坐标值是否在读取的切片的纵向坐标范围内,来判断读取的切片中包含的多边形区域的顶点,然后基于获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和多边形区域的多个相交点的坐标,其获取的方式与前述步骤S700到S720的方式一致,在这里不再赘述,进而将每次读取的切片包含的顶点的坐标与对应切片的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

本实施例与前述实施例的不同点在于,在仿真变换中某些源图像并不仅仅只包含有多边形区域,还包含有其他区域,如图9的示例,多边形区域在图像的正中,但多边形区域的顶点没有在图像的边缘,这样的情况下,当切分的范围较大时,切片的边界即纵向起始坐标和纵向结束坐标分别对应的直线并不会与多边形区域的顶点相交,进而造成顶点的遗漏,因此,本申请实施例通过多边形区域的顶点的纵向坐标值和切片的纵向坐标范围来判断多边形区域的顶点是否落在切片内,进而避免多边线区域中的顶点遗漏。

在切片为提前切分形成的实施例下,作为一种可能的实施方式,如图10所示,步骤S110可包括如下步骤:

步骤S1000:获取每次读取的切片的预先标注的切割区域的多个顶点坐标。

前述到在预先对源图像进行切分获得多个切片后,可对每个切片中的切割区域的每一顶点的坐标进行标注,在此基础上,片内存储器在读取切片后,可直接读取切片中预先标注的切割区域的多个顶点的坐标。

在通过上述方式得到每次读取的切片的切割区域的多个顶点的坐标后即可执行步骤S120根据每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标。

在步骤S120中,源图像中的一个点的坐标与仿射图像中对应点的坐标可通过仿射转换公式计算获得,该仿射转换公式如下:

其中,dst(x,y)表示目标像素点的坐标,

如图5所示,C1切片的三个顶点B1、B2以及B3通过仿射转换公式后得到的坐标分别为B11、B22以及B33。

在得到每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标后即可执行步骤S130根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像。

作为一种可能的实施方式,如图11所示,步骤S130可包括如下步骤:

步骤S1100:根据每次读取的切片的切割区域的多个顶点的连接次序将每次读取的切片的切割区域的仿射图像的多个目标点的坐标进行连接,形成每次读取的切片的切割区域对应的仿射区域。

步骤S1110:获取每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值。

步骤S1120:将每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值填充在对应仿射区域的对应像素点中,获得每次读取的切片对应的仿射图像。

在步骤S1100中,切割区域中的多个顶点的连接次序与切割区域对应的仿射区域的目标点的连接次序是相同的,因此,只需按照切割区域的多个顶点的连接次序将仿射区域的多个目标点依次连接即可形成仿射区域。由于源图像中的点的像素值与仿射图像中对应点的像素值一致,进而获取仿射区域中每个像素点在源图像中的像素值对仿射区域进行填充即可得到切片对应的仿射图像。

作为另一种可能的实施方式,如图12所示,步骤S130还可包括如下步骤:

步骤S1200:根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定图像处理组件的扫描区域。

步骤S1210:利用图像处理组件对所述扫描区域中的每一像素点进行仿射转换计算,获得每次读取的切片对应的仿射图像。

在步骤S1200中,图像处理组件一般是从左到右,从上到下的顺序进行扫描,因此,需要利用切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片的扫描区域,具体的,扫描区域的确定方式可通过如下举例进行说明:如图13所示,B为对应的仿射图像的一个目标点即为该仿射图像的第一行的起始点,C为仿射图像的另一个目标点,其也是第一行的最后一个点,那么第一行的扫描区域为[B,C],对于第二行来说,就是[B+delta,C],第三行就是[B+2*delta,C]依次类推,就能扫描出每一行的有效点区域,进而得到扫描区域,其中,delta为B点与A点的斜率的倒数的相反数。

在得到扫描区域后,可执行步骤S1210图像处理组件可依照扫描区域对其中的每一个像素点进行仿射转换计算,进而获得每次读取的切片对应的仿射图像。

作为一种可能的实施方式,如图14所示,步骤S1210具体可包括如下步骤:

步骤S1400:利用图像处理组件根据每次读取的切片对应的扫描区域中的每一像素点的坐标计算每一像素点在源图像中的源点坐标。

步骤S1410:根据每一像素点对应的源点坐标确定每一源点坐标对应的多个邻域整数坐标。

步骤S1420:根据每一源点坐标对应的多个邻域整数坐标确定每一源点坐标对应的多个邻域整数坐标中每一邻域整数坐标在存储器中的读取地址。

步骤S1430:根据每一源点坐标对应的多个邻域整数坐标的读取地址在存储器中读取每一源点坐标对应的多个像素值。

步骤S1440:根据每一源点坐标对应的多个像素值进行插值计算得到每一像素点对应的像素值,获得每次读取的切片对应的仿射图像。

在上述步骤中,图像处理组件可为硬件设备,图像处理组件可包括地址产生单元、读取单元以及插值计算单元,该地址产生单元可根据每次读取的切片对应的扫描区域中的每一像素点的坐标计算每一像素点在源图像中的源点坐标,其中,可采用前述的仿射变换公式进行计算,该地址产生单元还可以根据每一像素点对应的源点坐标确定每一源点坐标对应的多个邻域整数坐标以及根据每一源点坐标对应的多个邻域整数坐标确定每一源点坐标对应的多个邻域整数坐标中每一邻域整数坐标在存储器中的读取地址,其中每一源点坐标对应的多个邻域整数坐标可对源点坐标的每一坐标值进行向上和向下取整获得,每一邻域整数坐标在存储器中的读取地址可通过每一邻域坐标的坐标值计算获得。

地址产生单元得到每一源点坐标对应的多个邻域整数坐标的读取地址后可发送给读取单元,使得读取单元可根据每一源点坐标对应的多个邻域整数坐标的读取地址在存储器中读取每一源点坐标对应的多个像素值,读取得到的多个像素值可发送给插值计算单元,插值计算单元根据每一源点坐标对应的多个像素值进行插值计算得到每一像素点对应的像素值,通过这样的方式可以得到扫描区域中每一像素点对应的像素值,进而进行像素填充即可得到每次读取的切片对应的仿射图像。

在本实施例的可选实施方式中,通过前述方式得到每次读取的切片对应的仿射图像后,可将所有的仿射图像根据读取顺序依次组合,进而可以得到源图像对应的仿射完整图像,其可以如图5为示例,切片C1、C2以及C3转换后的图形组合后形成一个规则的矩形。

在上述设计的图像处理方法中,本方案通过片内存储器依次读取源图像对应的多个切片,然后获取每次读取的切片的切割区域的多个顶点的坐标,基于每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标,进而根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像,使得在图像的尺寸大于片内存储器的容量的情况下,也能够实现对图像的仿射变换,进而在有限的片内存储器中实现仿射变换;同时,本方案还采用图像处理组件的实体硬件设备来实现仿射变换的计算过程,进而可以为CPU或芯片减轻负载压力,解放CPU或芯片的生产力。

图15出示了本申请提供的图像处理装置的示意性结构框图,应理解,该装置与上述图1至图14中执行的方法实施例对应,能够执行前述的方法涉及的步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operatingsystem,OS)中的软件功能模块。具体地,该装置包括:读取模块1500,用于通过片内存储器依次读取源图像对应的多个切片,其中,源图像包括多边形区域,每一切片包含多边形区域对应的切割区域,不同切片对应的切割区域不同;获取模块1510,用于获取每次读取的切片的切割区域的多个顶点的坐标;确定模块1520,用于根据每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域的仿射图像的多个目标点的坐标;以及,根据每次读取的切片的切割区域的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像。

在上述设计的图像处理装置中,本方案通过片内存储器依次读取源图像对应的多个切片,然后获取每次读取的切片的切割区域的多个顶点的坐标,基于每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标,进而根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像,使得在图像的尺寸大于片内存储器的容量的情况下,也能够实现对图像的仿射变换,进而在有限的片内存储器中实现仿射变换。

在本实施例的可选实施方式中,读取模块1500,具体用于通过片内存储器依次读取源图像的预设尺寸,依次获得源图像对应的多个切片。

在本实施例的可选实施方式中,获取模块1510,具体用于获取每次读取的切片的纵向起始坐标和纵向结束坐标;获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和多边形区域的多个相交点的坐标;将每次读取的切片对应的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在本实施例的可选实施方式中,获取模块1510,还具体用于所述获取每次读取的切片的切割区域的多个顶点的坐标,包括:获取多边形区域的每个顶点的坐标以及每个切片的纵向起始坐标和纵向结束坐标;根据多边形区域的每个顶点的坐标以及每个切片的纵向起始坐标和纵向结束坐标确定每次读取的切片包含的顶点;获取每次读取的切片的纵向起始坐标和纵向结束坐标分别对应的直线和多边形区域的多个相交点的坐标;将每次读取的切片包含的顶点的坐标以及对应切片的多个相交点的坐标作为对应切片的切割区域的多个顶点的坐标。

在本实施例的可选实施方式中,该装置还包括切分模块1530,用于根据片内存储器的容量和源图像的尺寸将源图像切分为多个切片;标注模块1540,用于对每一切片包含的多边形区域对应的切割区域的每一顶点的坐标进行标注。

在本实施例的可选实施方式中,获取模块1510,还具体用于获取每次读取的切片的预先标注的切割区域的多个顶点坐标。

在本实施例的可选实施方式中,确定模块1520,具体用于根据每次读取的切片的切割区域的多个顶点的连接次序将每次读取的切片的切割区域的仿射图像的多个目标点的坐标进行连接,形成每次读取的切片的切割区域对应的仿射区域;获取每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值;将每次读取的切片的切割区域对应的仿射区域中每一像素点在源图像中的像素值填充在对应仿射区域的对应像素点中,获得每次读取的切片对应的仿射图像。

在本实施例的可选实施方式中,该芯片还包括图像处理组件,确定模块1520,还具体用于根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的扫描区域;利用图像处理组件对所述扫描区域中的每一像素点进行仿射转换计算,获得每次读取的切片对应的仿射图像。

如图16所示,本申请提供一种电子设备16,包括:处理器1601和存储器1602,处理器1601和存储器1602通过通信总线1603和/或其他形式的连接机构(未标出)互连并相互通讯,存储器1602存储有处理器1601可执行的计算机程序,当计算设备运行时,处理器1601执行该计算机程序,以执行时执行前述任一可选的实现方式中的方法,例如步骤S100至步骤S130:通过片内存储器依次读取源图像对应的多个切片;获取每次读取的切片的切割区域的多个顶点的坐标;根据每次读取的切片的切割区域的多个顶点的坐标确定每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标;根据每次读取的切片的切割区域对应的仿射图像的多个目标点的坐标确定每次读取的切片对应的仿射图像。

本申请提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前述任一可选的实现方式中的方法。

其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

本申请提供一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行前述任一可选的实现方式中的所述方法。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 一种图像处理方法、图像处理装置、电子设备和存储介质
  • 一种图像处理方法、图像处理装置、电子设备和存储介质
技术分类

06120113254296