CN107680045B - 图片伸缩方法和装置 - Google Patents
图片伸缩方法和装置 Download PDFInfo
- Publication number
- CN107680045B CN107680045B CN201710953308.1A CN201710953308A CN107680045B CN 107680045 B CN107680045 B CN 107680045B CN 201710953308 A CN201710953308 A CN 201710953308A CN 107680045 B CN107680045 B CN 107680045B
- Authority
- CN
- China
- Prior art keywords
- dividing
- lines
- group
- picture
- segmentation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Abstract
本公开是关于一种图片伸缩方法和装置,属于图片编辑技术领域。所述方法包括:根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,将目标图片划分为多个分割区域;当获取到输入的位于任一分割区域中的第二组分割线交点时,根据第二组分割线交点,在任一分割区域中,确定第二组分割线,基于第二组分割线,将任一分割区域划分为多个分割区域;对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。在多个分割区域中还可以选取任一分割区域进行进一步地分割,增加了对图片伸缩的灵活性。
Description
技术领域
本公开是关于图片编辑技术领域,尤其是关于一种图片伸缩方法和装置。
背景技术
在现有技术中,存在多种对图片进行编辑的方式,如剪裁、羽化、添加滤镜、伸缩等。其中,对于伸缩也存在多种伸缩方式,如平铺伸缩、填充伸缩、九宫格伸缩等。对于九宫格伸缩,是将一张待处理图片分割成9块子图,从左上至右下一次编号为1、2、3、4、5、6、7、8、9。对于编号为1、3、7、9的子图,在伸缩的过程中保持其大小不变,只对编号为2、4、5、6、8的子图进行伸缩,以满足伸缩所要求达到的尺寸。
在实现本公开的过程中,发明人发现至少存在以下问题:
采用九宫格伸缩图片时,只能对一整张图片进行划分和伸缩,而无法对划分后的子图再进行局部划分和伸缩,图片伸缩不灵活。
发明内容
为了克服相关技术中存在的问题,本公开提供了以下技术方案:
根据本公开实施例的第一方面,提供一种图片伸缩方法,所述方法包括:
根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域;
当获取到输入的位于任一分割区域中的第二组分割线交点时,根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域;
对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。
可选地,所述根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域,包括:
根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据;
基于所述图片结构描述数据,将所述目标图片划分为多个分割区域;
所述根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域,包括:
根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据;
基于更新的图片结构描述数据,将所述任一分割区域划分为多个分割区域。
可选地,所述根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据,包括:
根据输入的第一组分割线交点,在所述目标图片的预设像素矩阵中确定所述第一组分割线,将所述第一组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第一预设数值;
基于设置后的预设像素矩阵,生成所述目标图片对应的预设数据结构的图片结构描述数据;
所述根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据,包括:
根据所述第二组分割线交点,在所述目标图片的预设像素矩阵中确定所述第二组分割线,将所述第二组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第二预设数值;
基于设置后的预设像素矩阵,更新所述目标图片对应的预设数据结构的图片结构描述数据。
可选地,所述预设数据结构为树状结构。
可选地,每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,所述多个分割区域包括九个分割区域。
根据本公开实施例的第二方面,提供一种图片伸缩装置,所述装置包括:
第一分割模块,用于根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域;
第二分割模块,用于当获取到输入的位于任一分割区域中的第二组分割线交点时,根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域;
伸缩模块,用于对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。
可选地,所述第一分割模块包括:
第一确定单元,用于根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据;
第一分割单元,用于基于所述图片结构描述数据,将所述目标图片划分为多个分割区域;
所述第二分割模块包括:
第二确定单元,用于根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据;
第二分割单元,用于基于更新的图片结构描述数据,将所述任一分割区域划分为多个分割区域。
可选地,所述第一确定单元包括:
第一确定子单元,用于根据输入的第一组分割线交点,在所述目标图片的预设像素矩阵中确定所述第一组分割线,将所述第一组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第一预设数值;
生成子单元,用于基于设置后的预设像素矩阵,生成所述目标图片对应的预设数据结构的图片结构描述数据;
所述第二确定单元包括:
第二确定子单元,用于根据所述第二组分割线交点,在所述目标图片的预设像素矩阵中确定所述第二组分割线,将所述第二组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第二预设数值;
更新子单元,用于基于设置后的预设像素矩阵,更新所述目标图片对应的预设数据结构的图片结构描述数据。
可选地,所述预设数据结构为树状结构。
可选地,每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,所述多个分割区域包括九个分割区域。
根据本公开实施例的第三方面,提供一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述图片伸缩方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述图片伸缩方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例提供的方法,根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,将目标图片划分为多个分割区域;当获取到输入的位于任一分割区域中的第二组分割线交点时,根据第二组分割线交点,在任一分割区域中,确定第二组分割线,基于第二组分割线,将任一分割区域划分为多个分割区域;对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。在多个分割区域中还可以选取任一分割区域进行进一步地分割,增加了对图片伸缩的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种图片伸缩方法的流程图;
图2是根据一示例性实施例示出的对目标图片进行分割的示意图;
图3是根据一示例性实施例示出的对目标图片进行分割的示意图;
图4是根据一示例性实施例示出的一种九叉树结构图;
图5是根据一示例性实施例示出的一种图片伸缩装置的结构示意图;
图6是根据一示例性实施例示出的一种图片伸缩装置的结构示意图;
图7是根据一示例性实施例示出的一种图片伸缩装置的结构示意图;
图8是根据一示例性实施例示出的一种终端的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本发明实施例提供了一种图片伸缩方法,该方法可以由终端实现。其中,终端可以是手机、平板电脑、台式计算机、笔记本计算机等。
终端可以包括处理器、存储器等部件。处理器,可以为CPU(Central ProcessingUnit,中央处理单元)等,可以用于根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,将目标图片划分为多个分割区域,等处理。存储器,可以为RAM(Random Access Memory,随机存取存储器),Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如目标图片等。
终端还可以包括收发器、输入部件、显示部件、音频输出部件等。收发器,可以用于与服务器进行数据传输,收发器可以包括蓝牙部件、WiFi(Wireless-Fidelity,无线高保真技术)部件、天线、匹配电路、调制解调器等。输入部件可以是触摸屏、键盘、鼠标等。音频输出部件可以是音箱、耳机等。
终端中可以安装有系统程序和应用程序。用户在使用终端的过程中,基于自己的不同需求,会使用各种各样的应用程序。终端中可以安装有具备图片处理功能的应用程序。
本方法一般应用于对图片进行编辑的过程,例如美工对图片进行编辑,以获得需要的艺术效果。在对图片进行编辑的过程中,可能会用到图片编辑工具。
本公开一示例性实施例提供了一种图片伸缩方法,如图1所示,该方法的处理流程可以包括如下的步骤:
步骤S110,根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,将目标图片划分为多个分割区域。
在实施中,本文中的分割线交点可以是用户选择的。例如,在图片编辑界面可以为用户提供分割线交点输入窗口,如“请输入分割线交点坐标A,B”,或者用户可以在打开的目标图片中进行点击,点击选取的点则被认为是分割线交点。如图2所示,当在一张矩形图片中确定两个分割线交点A和B时,如果提前已知该矩形图片的长和宽,可以唯一确定四条分割线,将该矩形图片分割成九个分割区域。该九个分割区域从左到右、从上到下的编号依次为1、2、3、4、5、6、7、8、9。需要说明的是,除了可以让用户手动选择分割线交点,还可以程序通过识别目标图片,自动确定分割线交点。当然不排除还存在其他选择分割线交点的可能,在此不一一举例。
可选地,每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,多个分割区域包括九个分割区域。
在实施中,每组分割线交点可以包括一个分割线交点,每组分割线包括两条分割线,多个分割区域包括四个分割区域。每组分割线交点还可以包括三个分割线交点,每组分割线包括六条分割线,多个分割区域包括十六个分割区域。还有很多其他分割的方式,本实施例不作限定。在下文中主要讨论每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,多个分割区域包括九个分割区域的情况。
步骤S120,当获取到输入的位于任一分割区域中的第二组分割线交点时,根据第二组分割线交点,在任一分割区域中,确定第二组分割线,基于第二组分割线,将任一分割区域划分为多个分割区域。
在实施中,如图3所示,在一张矩形图片中首先将图片分割为九个分割区域,该九个分割区域从左到右、从上到下的编号依次为1、2、3、4、5、6、7、8、9。在编号为2的分割区域中,当用户点击了C和D两个分割线交点时,根据分割线交点C和D在编号为2的分割区域中,确定分割线L1、L2、L3、L4。基于分割线L1、L2、L3、L4,将编号为2的分割区域划分为九个分割区域。这九个分割区域的从左到右、从上到下的编号依次为21、22、23、24、25、26、27、28、29。依次类推,当用户再在编号为21、22、23、24、25、26、27、28、29的分割区域点击选择分割线交点时,可以继续对编号为21、22、23、24、25、26、27、28、29的分割区域进行划分。需要说明的是,用户可以每次只输入两个分割线交点,而程序可以自动判断该两个分割线交点是对哪一分割区域进行进一步划分的。
步骤S130,对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。
在实施中,可以针对需求设置哪些分割区域为伸缩区域。例如,假如目标图片没有被分割之前或者任一分割区域没有被再次分割之前,是父图,基于父图分割得到的分割区域为该父图的子图。每个父图都带有九个子图,对子图依从左到右、从上到下的规律进行从1-9编号。可以设置编号为1、3、7、9的子图为不可伸缩区域,保持其原样不动。可以设置编号为2、4、5、6、8的子图为可伸缩区域。例如,当用户将一张80X80的图片拉伸成160X160的图片时,保持编号为1、3、7、9的子图不变,只适当拉伸编号为2、4、5、6、8的子图以使整张图片达到160X160的大小。这种拉伸方式,可以保证图片的四个角落处的图像不变形。需要说明的是,如果用户在编号为1、3、7、9的子图中选择继续进行分割,则可以忽略用户的操作,因编号为1、3、7、9的子图已确定保持不变。为了清楚地说明对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理的方式,下面进行举例说明。例如,在一张矩形图片中首先将图片分割为九个分割区域,该九个分割区域从左到右、从上到下的编号依次为1、2、3、4、5、6、7、8、9。在编号为2的分割区域中,继续将编号为2的分割区域划分为九个分割区域。这九个分割区域的从左到右、从上到下的编号依次为21、22、23、24、25、26、27、28、29。当不需要再继续进行分割时,可以开始执行伸缩处理。可以保持编号为1、3、7、9和21、23、27、29的分割区域不变,将编号为2、4、5、6、8和22、24、25、26、28的分割区域进行适当的伸缩处理,以使得进行伸缩后的目标图片的尺寸达到需求。
可选地,步骤S110可以包括:根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,生成目标图片对应的预设数据结构的图片结构描述数据;基于图片结构描述数据,将目标图片划分为多个分割区域;步骤S120可以包括:根据第二组分割线交点,在任一分割区域中,确定第二组分割线,基于第二组分割线,更新任一分割区域对应的预设数据结构的图片结构描述数据;基于更新的图片结构描述数据,将任一分割区域划分为多个分割区域。
在实施中,由于是对目标图片进行循环分割,因此,目标图片和分割得到的分割区域具有父子关系。为了更好的描述目标图片和分割得到的分割区域之间的关系,可以引入预设数据结构的图片结构描述数据来对目标图片的关键信息进行描述。上述关键信息是对目标图片进行伸缩时需要参考的重要参数。可选地,预设数据结构可以为树状结构。对于每个父图带有九个子图的情况,可以需用九叉树的数据结构对目标图片进行描述。具体地,当根据输入的第一组分割线交点,在目标图片中确定第一组分割线之后,可以基于第一组分割线确定目标图片的九个分割区域的对顶角的位置参数如坐标。可以设置九叉树的父节点为被分割的目标图片或者任一分割区域的对顶角的坐标。而父节点之下的九个子节点就是将父节点进行分割得到的九个分割区域分别对应的对顶角的坐标。例如,在一张矩形图片中首先将图片分割为九个分割区域,该九个分割区域从左到右、从上到下的编号依次为1、2、3、4、5、6、7、8、9。在编号为2的分割区域中,继续将编号为2的分割区域划分为九个分割区域。这九个分割区域的从左到右、从上到下的编号依次为21、22、23、24、25、26、27、28、29。如图4所示,九叉树的第一层为目标图片对顶角的坐标[(xla,yla),(x1b,,y1b)]。假设对目标图片以分割线交点为A(xa,ya)和B(xb,yb)进行分割,则得到九叉树中的第二层,为九个分割区域分别对应的对顶角的坐标如:
[(xla,yla),(xa,,ya)],[(xa,yla),(xb,ya)],[(xb,yla),(xlb,ya)],
[(xla,ya),(xa,yb)],[(xa,ya),(xb,yb],[(xb,ya),(xlb,yb)],
[(xla,yb),(xa,ylb)],[(xa,yb),(xb,ylb)],[(xb,yb),(xlb,ylb)]。
在能够确定九叉树每一层都有哪些数据的情况下,就确定了目标图片被分割几次,每次都在哪个分割区域的哪个位置进行分割的。因此,在确定九叉树每一层都有哪些数据的情况下,就可以对目标图片进行分割。
在上文中提到,用户可以每次只输入两个分割线交点,而程序可以自动判断该两个分割线交点是对哪一分割区域进行进一步划分的。在此可以利用九叉树来确定两个分割线交点是对哪一分割区域进行进一步划分的。具体地,当获得用户输入的两个分割线交点C(xc,yc)和D(xd,yd)的坐标时,将C和D的坐标从九叉树的第一层开始比较,当确定C和D的坐标正落入某一节点对应的分割区域的对顶角坐标所圈定的范围时,获取该节点的子节点继续进行比较,直到当确定C和D的坐标正落入某一节点对应的分割区域的对顶角坐标所圈定的范围时,该落入的某一节点之下不再存在子节点,则该落入的某一节点对应的分割区域就是用户输入的两个分割线交点所要分割的分割区域。此外,还可以通过上述方法判断用户输入的两个分割线交点是否合法,如C和D的坐标是否能够落入某一节点对应的分割区域的对顶角坐标所圈定的范围。如果不是,则用户夸分割区域选取了两个分割线交点,为不合法。
可选地,根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,生成目标图片对应的预设数据结构的图片结构描述数据的步骤可以包括:根据输入的第一组分割线交点,在目标图片的预设像素矩阵中确定第一组分割线,将第一组分割线在目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第一预设数值;基于设置后的预设像素矩阵,生成目标图片对应的预设数据结构的图片结构描述数据。根据第二组分割线交点,在任一分割区域中,确定第二组分割线,基于第二组分割线,更新任一分割区域对应的预设数据结构的图片结构描述数据的步骤可以包括:根据第二组分割线交点,在目标图片的预设像素矩阵中确定第二组分割线,将第二组分割线在目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第二预设数值;基于设置后的预设像素矩阵,更新目标图片对应的预设数据结构的图片结构描述数据。
在实施中,可以使程序根据图片生成九叉树。具体地,由于图片在存储的过程中可以是以像素矩阵的形式进行存储的,不同的像素值代表了不同的颜色。首先可以在原有的目标图片的像素矩阵中再添加一横行和一竖列,可以将这添加的一横行和一竖列放在像素矩阵的第一横行和第一竖列的位置,并将第一横行和第一竖列的位置上的像素值全部设置为0(也可以是其他数值),以上得到的像素矩阵就是预设像素矩阵。第一横行和第一竖列的位置上的像素值可以用于记录输入的分割线交点的位置。具体地,例如,用户在一张矩形图片上的A和B位置上选择了两个分割线交点坐标,在目标图片上作两条平行线和两条垂直线,并使得这两条平行线分别穿过A和B,使得这两条垂直线分别穿过A和B。则这四条线为分割线,这四条线对应于预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为N,并将N加1。其中,N初始值是1。当用户继续对分割区域进行分割,则可以继续重复执行在分割区域上作两条平行线和两条垂直线,并使得这两条平行线分别穿过两个分割线交点,使得这两条垂直线分别穿过两个分割线交点。则这四条线为分割线,这四条线对应于预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为N(此时为2),并将N继续加1。在本实施例中,可以以不同的像素值来区分哪四条线为一组分割线。
可以根据设置好的像素矩阵的第一横行和第一竖列的像素值生成九叉树。具体地,当对目标图片第一次进行分割时,可以对预设像素矩阵的第一横行和第一竖列的像素值进行相应的设置。基于设置好的像素矩阵的第一横行和第一竖列的像素值生成初始的九叉树。而后,每当接收到新输入的分割线交点时,都可以相应地对像素矩阵的第一横行和第一竖列的像素值进行设置。随后,基于设置好的像素矩阵的第一横行和第一竖列的像素值更新已生成的九叉树,即在原有的九叉树的基础上,为某一父节点添加子节点。当然,也可以先将像素矩阵的第一横行和第一竖列的像素值都设置好,最后再一次生成九叉树。在第二种方式中,可以从数值1开始以递增的方式遍历像素矩阵的第一横行和第一竖列的像素值,如果能找到四组数值一样的像素值,可以记录找到的四组数值一样的像素值在像素矩阵中的位置(坐标)。
最后,当对目标图片确定分割的方式之后,即选择好所有的分割线交点之后,可以点击生成按钮。则程序可以开始遍历生成的九叉树的所有节点,保持九叉树中每层中第1个、第3个、第7个、第9个子节点对应的分割区域不变,只对第2个、第4个、第5个、第6个、第8个子节点对应的分割区域进行伸缩。
本公开实施例提供的方法,根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,将目标图片划分为多个分割区域;当获取到输入的位于任一分割区域中的第二组分割线交点时,根据第二组分割线交点,在任一分割区域中,确定第二组分割线,基于第二组分割线,将任一分割区域划分为多个分割区域;对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。在多个分割区域中还可以选取任一分割区域进行进一步地分割,增加了对图片伸缩的灵活性。
本公开又一示例性实施例提供了一种图片伸缩装置,如图5所示,该装置包括:
第一分割模块510,用于根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域;
第二分割模块520,用于当获取到输入的位于任一分割区域中的第二组分割线交点时,根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域;
伸缩模块530,用于对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。
可选地,如图6所示,所述第一分割模块510包括:
第一确定单元611,用于根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据;
第一分割单元612,用于基于所述图片结构描述数据,将所述目标图片划分为多个分割区域;
如图7所示,所述第二分割模块520包括:
第二确定单元721,用于根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据;
第二分割单元722,用于基于更新的图片结构描述数据,将所述任一分割区域划分为多个分割区域。
可选地,所述第一确定单元611包括:
第一确定子单元,用于根据输入的第一组分割线交点,在所述目标图片的预设像素矩阵中确定所述第一组分割线,将所述第一组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第一预设数值;
生成子单元,用于基于设置后的预设像素矩阵,生成所述目标图片对应的预设数据结构的图片结构描述数据;
所述第二确定单元721包括:
第二确定子单元,用于根据所述第二组分割线交点,在所述目标图片的预设像素矩阵中确定所述第二组分割线,将所述第二组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第二预设数值;
更新子单元,用于基于设置后的预设像素矩阵,更新所述目标图片对应的预设数据结构的图片结构描述数据。
可选地,所述预设数据结构为树状结构。
可选地,每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,所述多个分割区域包括九个分割区域。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供的装置,根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于第一组分割线,将目标图片划分为多个分割区域;当获取到输入的位于任一分割区域中的第二组分割线交点时,根据第二组分割线交点,在任一分割区域中,确定第二组分割线,基于第二组分割线,将任一分割区域划分为多个分割区域;对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。在多个分割区域中还可以选取任一分割区域进行进一步地分割,增加了对图片伸缩的灵活性。
需要说明的是:上述实施例提供的图片伸缩装置在进行图片伸缩时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图片伸缩装置与图片伸缩方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本公开再一示例性实施例示出了一种终端的结构示意图。
参照图8,终端800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为终端800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为音频输出设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当终端800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当音频输出设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件814可以检测到终端800的打开/关闭状态,组件的相对定位,例如所述组件为终端800的显示器和小键盘,传感器组件814还可以检测终端800或终端800一个组件的位置改变,用户与终端800接触的存在或不存在,终端800方位或加速/减速和终端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端800的处理器820执行以完成上述方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开的又一实施例提供了一种计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行:
根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域;
当获取到输入的位于任一分割区域中的第二组分割线交点时,根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域;
对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。
可选地,所述根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域,包括:
根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据;
基于所述图片结构描述数据,将所述目标图片划分为多个分割区域;
所述根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域,包括:
根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据;
基于更新的图片结构描述数据,将所述任一分割区域划分为多个分割区域。
可选地,所述根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据,包括:
根据输入的第一组分割线交点,在所述目标图片的预设像素矩阵中确定所述第一组分割线,将所述第一组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第一预设数值;
基于设置后的预设像素矩阵,生成所述目标图片对应的预设数据结构的图片结构描述数据;
所述根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据,包括:
根据所述第二组分割线交点,在所述目标图片的预设像素矩阵中确定所述第二组分割线,将所述第二组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第二预设数值;
基于设置后的预设像素矩阵,更新所述目标图片对应的预设数据结构的图片结构描述数据。
可选地,所述预设数据结构为树状结构。
可选地,每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,所述多个分割区域包括九个分割区域。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种图片伸缩方法,其特征在于,所述方法包括:
根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域,所述第一组分割线交点是由用户选择的或通过识别所述目标图片确定的;
当获取到输入的位于任一分割区域中的第二组分割线交点时,根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域;
对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。
2.根据权利要求1所述的方法,其特征在于,所述根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域,包括:
根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据;
基于所述图片结构描述数据,将所述目标图片划分为多个分割区域;
所述根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域,包括:
根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据;
基于更新的图片结构描述数据,将所述任一分割区域划分为多个分割区域。
3.根据权利要求2所述的方法,其特征在于,所述根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据,包括:
根据输入的第一组分割线交点,在所述目标图片的预设像素矩阵中确定所述第一组分割线,将所述第一组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第一预设数值;
基于设置后的预设像素矩阵,生成所述目标图片对应的预设数据结构的图片结构描述数据;
所述根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据,包括:
根据所述第二组分割线交点,在所述目标图片的预设像素矩阵中确定所述第二组分割线,将所述第二组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第二预设数值;
基于设置后的预设像素矩阵,更新所述目标图片对应的预设数据结构的图片结构描述数据。
4.根据权利要求2或3所述的方法,其特征在于,所述预设数据结构为树状结构。
5.根据权利要求1所述的方法,其特征在于,每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,所述多个分割区域包括九个分割区域。
6.一种图片伸缩装置,其特征在于,所述装置包括:
第一分割模块,用于根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,将所述目标图片划分为多个分割区域,所述第一组分割线交点是由用户选择的或通过识别所述目标图片确定的;
第二分割模块,用于当获取到输入的位于任一分割区域中的第二组分割线交点时,根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,将所述任一分割区域划分为多个分割区域;
伸缩模块,用于对划分得到的所有分割区域中的可伸缩区域,进行伸缩处理。
7.根据权利要求6所述的装置,其特征在于,所述第一分割模块包括:
第一确定单元,用于根据输入的第一组分割线交点,在目标图片中确定第一组分割线,基于所述第一组分割线,生成所述目标图片对应的预设数据结构的图片结构描述数据;
第一分割单元,用于基于所述图片结构描述数据,将所述目标图片划分为多个分割区域;
所述第二分割模块包括:
第二确定单元,用于根据所述第二组分割线交点,在所述任一分割区域中,确定第二组分割线,基于所述第二组分割线,更新所述任一分割区域对应的预设数据结构的图片结构描述数据;
第二分割单元,用于基于更新的图片结构描述数据,将所述任一分割区域划分为多个分割区域。
8.根据权利要求7所述的装置,其特征在于,所述第一确定单元包括:
第一确定子单元,用于根据输入的第一组分割线交点,在所述目标图片的预设像素矩阵中确定所述第一组分割线,将所述第一组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第一预设数值;
生成子单元,用于基于设置后的预设像素矩阵,生成所述目标图片对应的预设数据结构的图片结构描述数据;
所述第二确定单元包括:
第二确定子单元,用于根据所述第二组分割线交点,在所述目标图片的预设像素矩阵中确定所述第二组分割线,将所述第二组分割线在所述目标图片的预设像素矩阵的第一横行和第一竖列处位置的像素值分别设置为第二预设数值;
更新子单元,用于基于设置后的预设像素矩阵,更新所述目标图片对应的预设数据结构的图片结构描述数据。
9.根据权利要求7或8所述的装置,其特征在于,所述预设数据结构为树状结构。
10.根据权利要求6所述的装置,其特征在于,每组分割线交点包括两个分割线交点,每组分割线包括四条分割线,所述多个分割区域包括九个分割区域。
11.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1-5任一所述的图片伸缩方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1-5任一所述的图片伸缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710953308.1A CN107680045B (zh) | 2017-10-13 | 2017-10-13 | 图片伸缩方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710953308.1A CN107680045B (zh) | 2017-10-13 | 2017-10-13 | 图片伸缩方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107680045A CN107680045A (zh) | 2018-02-09 |
CN107680045B true CN107680045B (zh) | 2021-06-04 |
Family
ID=61140595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710953308.1A Active CN107680045B (zh) | 2017-10-13 | 2017-10-13 | 图片伸缩方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107680045B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805885A (zh) * | 2018-06-13 | 2018-11-13 | 广州极飞科技有限公司 | 地块分割方法及终端、航线规划方法及移动装置控制方法 |
CN111738917A (zh) * | 2019-06-06 | 2020-10-02 | 北京京东尚科信息技术有限公司 | 一种图片伸缩方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915230A (zh) * | 2011-08-02 | 2013-02-06 | 联想(北京)有限公司 | 一种用户界面生成方法、装置及电子设备 |
CN103713844A (zh) * | 2012-10-09 | 2014-04-09 | 宏达国际电子股份有限公司 | 缩放屏幕画面的方法及电子装置 |
CN105892860A (zh) * | 2016-03-31 | 2016-08-24 | 联想(北京)有限公司 | 一种屏幕截图方法以及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996792B2 (en) * | 2006-09-06 | 2011-08-09 | Apple Inc. | Voicemail manager for portable multifunction device |
TR200800856A2 (tr) * | 2008-02-11 | 2009-08-21 | Vestel Elektroni̇k Sanayi̇ Ve Ti̇caret A.Ş. | Bir eğlence sistemi için uyarlanabilir ölçekleme metodu. |
US8760453B2 (en) * | 2010-09-01 | 2014-06-24 | Microsoft Corporation | Adaptive grid generation for improved caching and image classification |
CN105809694B (zh) * | 2016-03-10 | 2018-09-18 | 成都康烨科技有限公司 | 图像数据处理方法以及装置 |
CN106204439A (zh) * | 2016-06-28 | 2016-12-07 | 乐视控股(北京)有限公司 | 图片自适应处理的方法和系统 |
CN106406702B (zh) * | 2016-09-19 | 2019-09-13 | 天脉聚源(北京)传媒科技有限公司 | 一种图片显示方法及装置 |
-
2017
- 2017-10-13 CN CN201710953308.1A patent/CN107680045B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915230A (zh) * | 2011-08-02 | 2013-02-06 | 联想(北京)有限公司 | 一种用户界面生成方法、装置及电子设备 |
CN103713844A (zh) * | 2012-10-09 | 2014-04-09 | 宏达国际电子股份有限公司 | 缩放屏幕画面的方法及电子装置 |
CN105892860A (zh) * | 2016-03-31 | 2016-08-24 | 联想(北京)有限公司 | 一种屏幕截图方法以及电子设备 |
Non-Patent Citations (1)
Title |
---|
[UnityUI]九宫格在游戏中的使用;宏哥1995;《https://blog.csdn.net/lyh916/article/details/44746579》;20150330;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107680045A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102194094B1 (ko) | 가상과 실제 물체의 합성 방법, 장치, 프로그램 및 기록매체 | |
CN113538517B (zh) | 目标追踪方法及装置、电子设备和存储介质 | |
US9959484B2 (en) | Method and apparatus for generating image filter | |
EP3010226A2 (en) | Method and apparatus for obtaining photograph | |
US20170287188A1 (en) | Method and apparatus for intelligently capturing image | |
CN105069073B (zh) | 联系人信息推荐方法及装置 | |
CN108062547B (zh) | 文字检测方法及装置 | |
CN106657780B (zh) | 图像预览方法和装置 | |
CN107977934B (zh) | 图像处理方法及装置 | |
KR20160021737A (ko) | 이미지 분할 방법, 장치, 기기, 프로그램 및 기록매체 | |
CN107657590B (zh) | 图片处理方法、装置及存储介质 | |
CN107464253B (zh) | 眉毛定位方法及装置 | |
US20150113475A1 (en) | Method and device for providing an image preview | |
CN107967459B (zh) | 卷积处理方法、装置及存储介质 | |
CN111078170B (zh) | 显示控制方法、显示控制装置及计算机可读存储介质 | |
US9959487B2 (en) | Method and device for adding font | |
CN106504295B (zh) | 渲染图片的方法及装置 | |
US11367232B2 (en) | Method and device for generating stickers | |
CN112463084A (zh) | 分屏显示方法、装置、终端设备及计算机可读存储介质 | |
CN107680045B (zh) | 图片伸缩方法和装置 | |
CN107219989B (zh) | 图标处理方法、装置及终端 | |
CN107992894B (zh) | 图像识别方法、装置及计算机可读存储介质 | |
CN107730443B (zh) | 图像处理方法、装置及用户设备 | |
EP3104282A1 (en) | Search method and search apparatus | |
US9854559B2 (en) | Method and device for pushing user information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |