一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图片裁剪方法、装置、设备及计算机可读存储介质与流程

2022-12-20 01:37:41 来源:中国专利 TAG:


1.本技术实施例涉及图片处理技术领域,特别涉及一种图片裁剪方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着图片处理技术的快速发展,图片处理软件的种类越来越多,功能也越来越丰富。图片裁剪功能是其中一种功能,图片处理软件在对图片进行裁剪时,通常借助于裁剪框,通过调整裁剪框的尺寸、位置等方式实现对待裁剪图片的裁剪。
3.然而,在对待裁剪图片进行裁剪的过程中,当待裁剪图片发生旋转时,裁剪框的四个顶点中有至少一个顶点位于旋转后的待裁剪图片之外,进而使得根据裁剪框裁剪到的图片中包含了除待裁剪图片之外的空白区域,使得图片裁剪的效果较差。


技术实现要素:

4.本技术实施例提供了一种图片裁剪方法、装置、设备及计算机可读存储介质,可用于解决相关技术中的问题。所述技术方案如下:
5.一方面,本技术实施例提供了一种图片裁剪方法,所述方法包括:
6.显示待裁剪的目标图片和裁剪框;
7.响应于所述目标图片基于旋转操作发生旋转,且所述裁剪框的各个顶点中存在位于旋转后的目标图片之外的顶点,对所述旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,使得所述裁剪框的各个顶点均位于所述调整后的目标图片上;
8.根据所述裁剪框,在所述调整后的目标图片上确定裁剪区域,根据所述裁剪区域得到裁剪图片。
9.在一种可能的实现方式中,所述对所述旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,包括:
10.根据所述裁剪框的各个顶点的坐标,确定所述裁剪框的外接区域,所述外接区域的角度为所述目标图片的旋转角度,所述裁剪框的各个顶点位于所述外接区域的边上;
11.确定所述外接区域的长度和宽度;
12.根据所述外接区域的长度和宽度,对所述旋转后的目标图片的尺寸进行调整,得到调整后的目标图片。
13.在一种可能的实现方式中,所述确定所述外接区域的长度和宽度,包括:
14.根据所述裁剪框的各个顶点的坐标,确定所述裁剪框的长度和所述裁剪框的宽度;
15.根据所述裁剪框的长度、所述裁剪框的宽度和所述目标图片的旋转角度,确定所述外接区域的长度和宽度。
16.在一种可能的实现方式中,所述根据所述裁剪框的长度、所述裁剪框的宽度和所述目标图片的旋转角度,确定所述外接区域的长度和宽度,包括:
17.根据所述裁剪框的长度和所述目标图片的旋转角度,按照余弦定理确定第一数值;
18.根据所述裁剪框的宽度和所述目标图片的旋转角度,按照正弦定理确定第二数值;
19.将所述第一数值和所述第二数值的和值作为所述外接区域的长度;
20.根据所述裁剪框的长度和所述目标图片的旋转角度,按照正弦定理确定第三数值;
21.根据所述裁剪框的宽度和所述目标图片的旋转角度,按照余弦定理确定第四数值;
22.将所述第三数值和所述第四数值的和值作为所述外接区域的宽度。
23.在一种可能的实现方式中,所述根据所述外接区域的长度和宽度,对所述旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,包括:
24.基于所述旋转后的目标图片的长度小于所述外接区域的长度,且所述旋转后的目标图片的宽度小于所述外接区域的宽度,将所述旋转后的目标图片的长度调整为所述外接区域的长度,将所述旋转后的目标图片的宽度调整为所述外接区域的宽度;
25.根据所述裁剪框的各个顶点的坐标、所述目标图片的旋转角度、所述旋转后的目标图片调整后的长度和宽度,确定候选区域;
26.根据所述候选区域的各个顶点的坐标,对所述旋转后的目标图片的各个顶点的坐标进行调整,得到所述调整后的目标图片,所述调整后的目标图片的尺寸大于所述旋转后的目标图片的尺寸。
27.在一种可能的实现方式中,所述根据所述外接区域的长度和宽度,对所述旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,包括:
28.基于所述旋转后的目标图片的长度不小于所述外接区域的长度,和/或,所述旋转后的目标图片的宽度不小于所述外接区域的宽度,在所述裁剪框的各个顶点中确定位于所述旋转后的目标图片之外的至少一个目标顶点;
29.确定所述至少一个目标顶点分别对应的目标投影点;
30.根据所述至少一个目标顶点的坐标和所述至少一个目标顶点分别对应的目标投影点的坐标,确定第一距离和第二距离,所述第一距离为在第一维度的距离,所述第二距离为在第二维度的距离;
31.根据所述第一距离和所述第二距离,对所述旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片,所述调整后的目标图片的尺寸大于所述旋转后的目标图片的尺寸。
32.在一种可能的实现方式中,所述确定所述至少一个目标顶点分别对应的目标投影点,包括:
33.对于所述至少一个目标顶点中的任一目标顶点,将所述任一目标顶点投影在所述旋转后的目标图片的各个边上,得到所述任一目标顶点对应的多个投影点;
34.确定所述任一目标顶点对应的多个投影点分别和所述任一目标顶点之间的距离;
35.将距离满足距离要求的投影点作为所述任一目标顶点对应的目标投影点。
36.在一种可能的实现方式中,所述根据所述至少一个目标顶点的坐标和所述至少一
个目标顶点分别对应的目标投影点的坐标,确定第一距离和第二距离,包括:
37.基于所述目标顶点的个数为一个,根据所述目标顶点的坐标和所述目标顶点对应的目标投影点的坐标在所述第一维度的差值,确定所述第一距离,根据所述目标顶点的坐标和所述目标顶点对应的目标投影点的坐标在所述第二维度的差值,确定所述第二距离;
38.基于所述目标顶点的个数为多个,根据各个目标顶点与各个目标顶点对应的目标投影点之间的距离,在多个目标顶点中确定参考顶点,根据所述参考顶点的坐标和所述参考顶点对应的目标投影点的坐标在所述第一维度的差值,确定所述第一距离,根据所述参考顶点的坐标和所述参考顶点对应的目标投影点的坐标在所述第二维度的差值,确定所述第二距离。
39.在一种可能的实现方式中,所述根据所述第一距离和所述第二距离,对所述旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片,包括:
40.根据所述第一距离,对所述旋转后的目标图片的各个顶点的坐标中的第一维度的数值进行调整,根据所述第二距离,对所述旋转后的目标图片的各个顶点的坐标中的第二维度的数值进行调整,得到所述旋转后的目标图片的各个顶点的候选坐标;
41.根据所述旋转后的目标图片的各个顶点的候选坐标,对所述旋转后的目标图片进行拉伸,得到所述调整后的目标图片,所述调整后的目标图片的各个顶点的坐标为所述旋转后的目标图片的各个顶点的候选坐标。
42.在一种可能的实现方式中,所述根据所述裁剪框,在所述调整后的目标图片上确定裁剪区域,包括:
43.将所述裁剪框与所述调整后的目标图片之间重叠的区域作为所述裁剪区域。
44.在一种可能的实现方式中,所述根据所述裁剪框,在所述调整后的目标图片上确定裁剪区域,包括:
45.根据所述裁剪框的各个顶点的坐标和所述调整后的目标图片的各个顶点的坐标,确定所述裁剪框的各个边与所述调整后的目标图片的多个延伸交点;
46.根据所述多个延伸交点的坐标,确定所述裁剪框在第一维度的第一取值范围和在第二维度的第二取值范围;
47.对所述裁剪框进行拉伸处理,得到拉伸之后的裁剪框,所述拉伸之后的裁剪框的尺寸大于拉伸之前的裁剪框的尺寸,所述拉伸之后的裁剪框的各个顶点在所述第一维度的数值位于的第一取值范围之内,所述拉伸之后的裁剪框的各个顶点在所述第二维度的数值位于所述第二取值范围之内;
48.将所述拉伸之后的裁剪框与所述调整后的目标图片之间重叠的区域作为所述裁剪区域。
49.另一方面,本技术实施例提供了一种图片裁剪装置,所述装置包括:
50.显示模块,用于显示待裁剪的目标图片和裁剪框;
51.调整模块,用于响应于所述目标图片基于旋转操作发生旋转,且所述裁剪框的各个顶点中存在位于旋转后的目标图片之外的顶点,对所述旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,使得所述裁剪框的各个顶点均位于所述调整后的目标图片上;
52.确定模块,用于根据所述裁剪框,在所述调整后的目标图片上确定裁剪区域;
53.裁剪模块,用于根据所述裁剪区域得到裁剪图片。
54.在一种可能的实现方式中,所述调整模块,用于根据所述裁剪框的各个顶点的坐标,确定所述裁剪框的外接区域,所述外接区域的角度为所述目标图片的旋转角度,所述裁剪框的各个顶点位于所述外接区域的边上;确定所述外接区域的长度和宽度;根据所述外接区域的长度和宽度,对所述旋转后的目标图片的尺寸进行调整,得到调整后的目标图片。
55.在一种可能的实现方式中,所述调整模块,用于根据所述裁剪框的各个顶点的坐标,确定所述裁剪框的长度和所述裁剪框的宽度;根据所述裁剪框的长度、所述裁剪框的宽度和所述目标图片的旋转角度,确定所述外接区域的长度和宽度。
56.在一种可能的实现方式中,所述调整模块,用于根据所述裁剪框的长度和所述目标图片的旋转角度,按照余弦定理确定第一数值;根据所述裁剪框的宽度和所述目标图片的旋转角度,按照正弦定理确定第二数值;将所述第一数值和所述第二数值的和值作为所述外接区域的长度;根据所述裁剪框的长度和所述目标图片的旋转角度,按照正弦定理确定第三数值;根据所述裁剪框的宽度和所述目标图片的旋转角度,按照余弦定理确定第四数值;将所述第三数值和所述第四数值的和值作为所述外接区域的宽度。
57.在一种可能的实现方式中,所述调整模块,用于基于所述旋转后的目标图片的长度小于所述外接区域的长度,且所述旋转后的目标图片的宽度小于所述外接区域的宽度,将所述旋转后的目标图片的长度调整为所述外接区域的长度,将所述旋转后的目标图片的宽度调整为所述外接区域的宽度;根据所述裁剪框的各个顶点的坐标、所述目标图片的旋转角度、所述旋转后的目标图片调整后的长度和宽度,确定候选区域;根据所述候选区域的各个顶点的坐标,对所述旋转后的目标图片的各个顶点的坐标进行调整,得到所述调整后的目标图片,所述调整后的目标图片的尺寸大于所述旋转后的目标图片的尺寸。
58.在一种可能的实现方式中,所述调整模块,用于基于所述旋转后的目标图片的长度不小于所述外接区域的长度,和/或,所述旋转后的目标图片的宽度不小于所述外接区域的宽度,在所述裁剪框的各个顶点中确定位于所述旋转后的目标图片之外的至少一个目标顶点;确定所述至少一个目标顶点分别对应的目标投影点;根据所述至少一个目标顶点的坐标和所述至少一个目标顶点分别对应的目标投影点的坐标,确定第一距离和第二距离,所述第一距离为在第一维度的距离,所述第二距离为在第二维度的距离;根据所述第一距离和所述第二距离,对所述旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片,所述调整后的目标图片的尺寸大于所述旋转后的目标图片的尺寸。
59.在一种可能的实现方式中,所述调整模块,用于对于所述至少一个目标顶点中的任一目标顶点,将所述任一目标顶点投影在所述旋转后的目标图片的各个边上,得到所述任一目标顶点对应的多个投影点;确定所述任一目标顶点对应的多个投影点分别和所述任一目标顶点之间的距离;将距离满足距离要求的投影点作为所述任一目标顶点对应的目标投影点。
60.在一种可能的实现方式中,所述调整模块,用于基于所述目标顶点的个数为一个,根据所述目标顶点的坐标和所述目标顶点对应的目标投影点的坐标在所述第一维度的差值,确定所述第一距离,根据所述目标顶点的坐标和所述目标顶点对应的目标投影点的坐标在所述第二维度的差值,确定所述第二距离;基于所述目标顶点的个数为多个,根据各个目标顶点与各个目标顶点对应的目标投影点之间的距离,在多个目标顶点中确定参考顶点,根据所述参考顶点的坐标和所述参考顶点对应的目标投影点的坐标在所述第一维度的
差值,确定所述第一距离,根据所述参考顶点的坐标和所述参考顶点对应的目标投影点的坐标在所述第二维度的差值,确定所述第二距离。
61.在一种可能的实现方式中,所述调整模块,用于根据所述第一距离,对所述旋转后的目标图片的各个顶点的坐标中的第一维度的数值进行调整,根据所述第二距离,对所述旋转后的目标图片的各个顶点的坐标中的第二维度的数值进行调整,得到所述旋转后的目标图片的各个顶点的候选坐标;根据所述旋转后的目标图片的各个顶点的候选坐标,对所述旋转后的目标图片进行拉伸,得到所述调整后的目标图片,所述调整后的目标图片的各个顶点的坐标为所述旋转后的目标图片的各个顶点的候选坐标。
62.在一种可能的实现方式中,所述确定模块,用于将所述裁剪框与所述调整后的目标图片之间重叠的区域作为所述裁剪区域。
63.在一种可能的实现方式中,所述确定模块,用于根据所述裁剪框的各个顶点的坐标和所述调整后的目标图片的各个顶点的坐标,确定所述裁剪框的各个边与所述调整后的目标图片的多个延伸交点;根据所述多个延伸交点的坐标,确定所述裁剪框在第一维度的第一取值范围和在第二维度的第二取值范围;对所述裁剪框进行拉伸处理,得到拉伸之后的裁剪框,所述拉伸之后的裁剪框的尺寸大于拉伸之前的裁剪框的尺寸,所述拉伸之后的裁剪框的各个顶点在所述第一维度的数值位于的第一取值范围之内,所述拉伸之后的裁剪框的各个顶点在所述第二维度的数值位于所述第二取值范围之内;将所述拉伸之后的裁剪框与所述调整后的目标图片之间重叠的区域作为所述裁剪区域。
64.另一方面,本技术实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使计算机设备实现上述任一所述的图片裁剪方法。
65.另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一所述的图片裁剪方法。
66.另一方面,还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种图片裁剪方法。
67.本技术实施例提供的技术方案至少带来如下有益效果:
68.本技术实施例提供的技术方案在对目标图片进行裁剪时,当目标图片发生旋转,且裁剪框的多个顶点中存在位于旋转后的目标图片之外的顶点时,通过对旋转后的目标图片的尺寸进行调整,以得到调整后的目标图片,使得裁剪框的多个顶点均位于调整后的目标图片上,在不改变裁剪框的前提下,使得裁剪到的图片中不包含除目标图片之外的空白区域,使得图片裁剪效果较好。
附图说明
69.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
70.图1是本技术实施例提供的一种图片裁剪方法的实施环境示意图;
71.图2是本技术实施例提供的一种图片裁剪方法的流程图;
72.图3是本技术实施例提供的一种目标图片和裁剪框的显示示意图;
73.图4是本技术实施例提供的一种外接区域的显示示意图;
74.图5是本技术实施例提供的一种裁剪框的中心点的坐标的确定示意图;
75.图6是本技术实施例提供的一种参考区域的旋转示意图;
76.图7是本技术实施例提供的一种调整后的目标图片的显示示意图;
77.图8是本技术实施例提供的一种任一目标顶点对应的目标投影点的确定过程图;
78.图9是本技术实施例提供的一种对旋转后的目标图片进行拉伸,得到调整后的目标图片的示意图;
79.图10是本技术实施例提供的一种裁剪图片的显示示意图;
80.图11是本技术实施例提供的一种确定裁剪框的各个边与调整后的目标图片的多个延伸交点的示意图;
81.图12是本技术实施例提供的另一种裁剪图片的显示示意图;
82.图13是本技术实施例提供的一种图片裁剪装置的结构示意图;
83.图14是本技术实施例提供的一种终端设备的结构示意图。
具体实施方式
84.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
85.需要说明的是,本技术中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是本技术的一些方面相一致的装置和方法的例子。
86.图1是本技术实施例提供的一种图片裁剪方法的实施环境示意图,如图1所示,该实施环境包括:终端设备101。
87.可选地,终端设备101可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品。终端设备101包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。终端设备101用于执行本技术实施例提供的图片裁剪方法。
88.本领域技术人员应能理解上述终端设备101仅为举例说明,其他现有的或者今后可能出现的终端设备,如可适用于本技术,也应包含在本技术的保护范围之内,并在此以引用方式包含于此。
89.本技术实施例提供了一种图片裁剪方法,该方法由终端设备101执行,该方法可应用于上述图1所示的实施环境。以图2所示的本技术实施例提供的一种图片裁剪方法的流程图为例,如图2所示,该方法包括下述步骤201至步骤204。
90.在步骤201中,显示待裁剪的目标图片和裁剪框。
91.在本技术示例性实施例中,终端设备中安装和运行有用于图片裁剪的应用程序,
该应用程序可以为任意类型的应用程序,该应用程序可以是指需要下载安装的应用程序,也可以是指依赖宿主程序运行的嵌入型程序,如小程序,本技术实施例对此不进行限定。嵌入型程序是一种基于编程语言开发完成、依赖于宿主程序运行的应用程序。嵌入型程序不需要下载安装,只需要在宿主程序中动态加载即可运行。用户可以通过搜索、扫一扫等方式找到自己所需要的嵌入型程序,点开即可应用,用完关闭后不会占用终端的内存,十分方便。
92.在一种可能的实现方式中,响应于对该应用程序的操作指令,显示该应用程序的首页,首页为打开该应用程序的第一个页面。可选地,首页中显示有图片选取控件,图片选取控件用于选择目标图片。响应于针对图片选取控件的操作指令,显示终端设备中存储的多张候选图片。响应于针对任一候选图片的操作指令,将该候选图片作为目标图片。首页中还显示有图片显示区域,图片显示区域用于显示目标图片。其中,操作指令可以是单击操作,还可以双击操作,还可以是其他操作,本技术实施例对此不进行限定。
93.可选地,首页中还显示有图片裁剪控件,图片裁剪控件用于对目标图片进行裁剪。响应于针对图片裁剪控件的操作指令,在目标图片上显示裁剪框,裁剪框的各个顶点中不存在位于目标图片之外的顶点。在一种可能的实现方式中,裁剪框的各个顶点均位于目标图片上。裁剪框的各个顶点均位于目标图片上包括:裁剪框的各个顶点均位于目标图片的内部,或者,裁剪框的各个顶点均位于目标图片的边,又或者,裁剪框的各个顶点中,有的顶点位于目标图片的内部,有的顶点位于目标图片的边。
94.可选地,首页中还显示图片采集控件,响应于针对图片采集控件的操作指令,调用终端设备的摄像装置进行图片采集,将采集到的图片作为目标图片。示例性地,摄像装置可以是终端设备的摄像头。
95.如图3是本技术实施例提供的一种目标图片和裁剪框的显示示意图。在图3中,301为图片选取控件,302为目标图片,303为图片采集控件,304为裁剪框,由图3可以看出,裁剪框的四个顶点均位于目标图片的内部。
96.在步骤202中,响应于目标图片基于旋转操作发生旋转,且裁剪框的各个顶点中存在位于旋转后的目标图片之外的顶点,对旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,使得裁剪框的各个顶点均位于调整后的目标图片上。
97.在一种可能的实现方式中,在对目标图片进行裁剪的过程中,还可以调整目标图片的角度,也即是旋转目标图片。可选地,首页中还显示有旋转控件(如图3中的305),旋转控件用于旋转目标图片。响应于针对旋转控件的操作指令,接收到针对目标图片的旋转操作,使目标图片发生旋转,得到旋转后的目标图片。
98.可选地,响应于目标图片基于旋转操作发生旋转,根据裁剪框的各个顶点的坐标和旋转后的目标图片的各个顶点的坐标,确定裁剪框的各个顶点中是否存在位于旋转后的目标图片之外的顶点。基于裁剪框的各个顶点中存在位于旋转后的目标图片之外的顶点,对旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,裁剪框的各个顶点均位于调整后的目标图片上。调整后的目标图片的尺寸大于旋转后的目标图片的尺寸。
99.可选地,应用程序具有坐标确定功能,当显示有目标图片和裁剪框时,通过调用坐标确定功能,可以确定出目标图片的各个顶点的坐标和裁剪框的各个顶点的坐标。当目标图片发生旋转时,还可以确定出旋转后的目标图片的各个顶点的坐标。在一种可能的实现
方式中,当目标图片发生旋转时,还可以根据目标图片的各个顶点的坐标和目标图片的旋转角度,确定旋转后的目标图片的各个顶点的坐标。
100.其中,根据目标图片的各个顶点的坐标和目标图片的旋转角度,按照下述公式(1)和公式(2)确定旋转后的目标图片的各个顶点的坐标。
101.x

=x*cosθ-y*sinθ公式(1)
102.y

=x*sinθ y*cosθ公式(2)
103.在上述公式(1)和公式(2)中,(x,y)为目标图片的任一个顶点的坐标,θ为目标图片的旋转角度,(x

,y

)为旋转后的目标图片的任一个顶点的坐标。
104.在一种可能的实现方式中,根据裁剪框的各个顶点的坐标和旋转后的目标图片的各个顶点的坐标,确定裁剪框的各个顶点中是否存在位于旋转后的目标图片之外的顶点的过程包括:根据旋转后的目标图片的各个顶点的坐标,确定多个向量,多个向量可以组成一个封闭的区域,多个向量组成的区域为旋转后的目标图片所在的区域,向量的个数与旋转后的目标图片的顶点的个数相同。根据多个向量和裁剪框的各个顶点的坐标,确定裁剪框的各个顶点中是否存在位于旋转后的目标图片之外的顶点。
105.在一种可能的实现方式中,根据多个向量和裁剪框的各个顶点的坐标,确定裁剪框的各个顶点中是否存在位于旋转后的目标图片之外的顶点的过程,包括:对于裁剪框的多个顶点中的任一个顶点,将任一个顶点的坐标分别和多个向量进行叉乘,得到任一个顶点和各个向量之间的叉乘结果,叉乘结果用于表示任一个顶点和向量之间的位置关系;根据任一个顶点和各个向量之间的叉乘结果,确定任一个顶点是否位于旋转后的目标图片之外。
106.示例性地,任一个顶点和向量之间的叉乘结果小于0,表示任一个顶点在向量的左侧,任一个顶点和向量之间的叉乘结果大于0,表示任一个顶点在向量的右侧,任一个顶点和向量之间的叉乘结果等于0,表示任一个顶点在向量上。
107.在一种可能的实现方式中,根据任一个顶点和各个向量之间的叉乘结果,确定任一个顶点是否位于旋转后的目标图片之外的过程包括:根据任一个顶点和各个向量之间的叉乘结果,确定任一个顶点是否位于多个向量组成的区域之外,响应于任一个顶点位于多个向量组成的区域之外,则确定任一个顶点位于旋转后的目标图片之外;响应于任一个顶点不位于多个向量组成的区域之外,则确定任一个顶点不位于旋转后的目标图片之外。
108.需要说明的是,裁剪框的各个顶点是否位于旋转后的目标图片之外的确定过程是类似的,在此不再一一赘述。
109.在一种可能的实现方式中,基于裁剪框的各个顶点中存在位于旋转后的目标图片之外的顶点,对旋转后的目标图片的尺寸进行调整,得到调整后的目标图片的过程包括:根据裁剪框的各个顶点的坐标,确定裁剪框的外接区域,外接区域的角度为目标图片的旋转角度,裁剪框的各个顶点位于外接区域的边上;确定外接区域的长度和宽度,根据外接区域的长度和宽度,对旋转后的目标图片的尺寸进行调整,得到调整后的目标图片。
110.可选地,确定外接区域的长度和宽度的过程包括:根据裁剪框的各个顶点的坐标,确定裁剪框的长度和裁剪框的宽度;根据裁剪框的长度、裁剪框的宽度和目标图片的旋转角度,确定外接区域的长度和宽度。
111.在一种可能的实现方式中,根据裁剪框的长度和目标图片的旋转角度,按照余弦
定理确定第一数值;根据裁剪框的宽度和目标图片的旋转角度,按照正弦定理确定第二数值;将第一数值和第二数值的和值作为外接区域的长度;根据裁剪框的长度和目标图片的旋转角度,按照正弦定理确定第三数值;根据裁剪框的宽度和目标图片的旋转角度,按照余弦定理确定第四数值;将第三数值和第四数值的和值作为外接区域的宽度。如图4是本技术实施例提供的一种外接区域的显示示意图。
112.示例性地,根据裁剪框的长度、裁剪框的宽度和目标图片的旋转角度,按照下述公式(3)确定外接区域的长度,按照下述公式(4)确定外接区域的宽度。
113.m=m*cosθ n*sinθ公式(3)
114.n=n*cosθ m*sinθ公式(4)
115.在上述公式(3)和公式(4)中,m为外接区域的长度,n为外接区域的宽度,m为裁剪框的长度,n为裁剪框的宽度,θ为目标图片的旋转角度。m*cosθ为第一数值,n*sinθ为第二数值,n*cosθ为第三数值,m*sinθ为第四数值
116.示例性地,裁剪框的长度为5,宽度为3,目标图片的旋转角度为30度,则根据上述公式(3)和公式(4)确定出外接区域的长度为外接区域的宽度为
117.在一种可能的实现方式中,确定出外接区域的长度和宽度之后,根据外接区域的长度和宽度,对旋转后的目标图片的尺寸进行调整,得到调整后的目标图片的过程包括下述两种情况。
118.情况一、基于旋转后的目标图片的长度小于外接区域的长度,且旋转后的目标图片的宽度小于外接区域的宽度,将旋转后的目标图片的长度调整为外接区域的长度,将旋转后的目标图片的宽度调整为外接区域的宽度;根据裁剪框的各个顶点的坐标、目标图片的旋转角度、旋转后的目标图片调整后的长度和宽度,确定候选区域;根据候选区域的各个顶点的坐标,对旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片,调整后的目标图片的尺寸大于旋转后的目标图片的尺寸。
119.可选地,根据裁剪框的各个顶点的坐标、目标图片的旋转角度、旋转后的目标图片调整后的长度和宽度,确定候选区域的过程包括:根据裁剪框的各个顶点的坐标,确定裁剪框的中心点的坐标;根据裁剪框的中心点的坐标、旋转后的目标图片调整后的长度和宽度,确定参考区域;根据目标图片的旋转角度,对参考区域进行旋转,得到候选区域。
120.其中,旋转后的目标图片的长度为外接区域的长度,旋转后的目标图片的宽度为外接区域的宽度。示例性地,旋转后的目标图片的长度为5厘米,宽度为3厘米,而外接区域的长度为厘米,外接区域的宽度为厘米,则需要将旋转后的目标图片的长度调整为厘米,宽度调整为厘米。
121.本技术实施例对根据裁剪框的各个顶点的坐标,确定裁剪框的中心点的坐标的过程不进行限定。示例性地,在裁剪框的各个顶点中确定位于对顶角的两个顶点的坐标,确定位于对顶角的两个顶点的坐标在第一维度的第一差值和在第二维度的第二差值,根据第一差值和第二差值,确定裁剪框的中心点的坐标。
122.示例性地,如图5是本技术实施例提供的一种裁剪框的中心点的坐标的确定示意
图,在图5中,虚线框为裁剪框,裁剪框的四个顶点的坐标分别为:a(x,y)、b(x m,y)、c(x,y n)、d(x m,y n)。其中,a和d为对顶角,b和c为对顶角。确定a和d的坐标在第一维度的第一差值为m,在第二维度的第二差值为n,进而确定裁剪框的中心点的坐标为(x m/2,y n/2)。
123.在一种可能的实现方式中,根据裁剪框的中心点的坐标、旋转后的目标图片调整后的长度和宽度,确定参考区域的过程包括:以裁剪框的中心点为参考区域的中心点,确定参考区域,参考区域的长度为旋转后的目标图片调整后的长度,参考区域的宽度为旋转后的目标图片调整后的宽度。
124.根据目标图片的旋转角度,对参考区域进行旋转,得到候选区域的过程包括:以参考区域的中心点不动,按照目标图片的旋转角度对参考区域进行旋转,得到候选区域。图6是本技术实施例提供的一种参考区域的旋转示意图。图6中的(1)为参考区域,(2)为候选区域。
125.在一种可能的实现方式中,确定出候选区域之后,根据候选区域的各个顶点的坐标,对旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片的过程包括:将旋转后的目标图片的各个顶点的坐标分别调整为候选区域的各个顶点的坐标,得到调整后的目标图片。图7是本技术实施例提供的一种调整后的目标图片的显示示意图。
126.情况二、基于旋转后的目标图片的长度不小于外接区域的长度,和/或,旋转后的目标图片的宽度不小于外接区域的宽度,在裁剪框的各个顶点中确定位于旋转后的目标图片之外的至少一个目标顶点;确定至少一个目标顶点分别对应的目标投影点;根据至少一个目标顶点的坐标和至少一个目标顶点分别对应的目标投影点的坐标,确定第一距离和第二距离,第一距离为在第一维度的距离,第二距离为在第二维度的距离;根据第一距离和第二距离,对旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片,调整后的目标图片的尺寸大于旋转后的目标图片的尺寸。
127.其中,确定至少一个目标顶点分别对应的目标投影点的过程包括:对于至少一个目标顶点中的任一目标顶点,将任一目标顶点投影到旋转后的目标图片的各个边上,得到任一目标顶点对应的多个投影点;确定任一目标顶点对应的多个投影点分别和任一目标顶点之间的距离,将距离满足距离要求的投影点作为任一目标顶点对应的目标投影点。可选地,距离满足距离要求的投影点是指距离最小的投影点。
128.可选地,按照下述公式(5)确定任一目标顶点对应的多个投影点分别和任一目标顶点之间的距离。
[0129][0130]
在上述公式(5)中,l为任一目标顶点对应的任一个投影点和任一目标顶点之间的距离。(x1,y1)为任一目标顶点的坐标,(x2,y2)为任一目标顶点对应的任一个投影点的坐标。
[0131]
示例性地,图8是本技术实施例提供的一种任一目标顶点对应的目标投影点的确定过程图。由图8可以看出,目标顶点有两个,分别为目标顶点n和目标顶点p,将目标顶点n投影在旋转后的目标图片的各个边上,得到目标顶点n对应的多个投影点,分别为投影点1、投影点2、投影点3和投影点4。确定投影点1与目标顶点n之间的距离,确定投影点2与目标顶点n之间的距离,确定投影点3与目标顶点n之间的距离,确定投影点4与目标顶点n之间的距
离,得到各个投影点分别与目标顶点n之间的距离。由于投影点3与目标顶点n之间的距离最小,因此,将投影点3作为目标顶点n对应的目标投影点。
[0132]
需要说明的是,目标顶点对应的目标投影点位于旋转后的目标图片的边上。其他目标顶点对应的目标投影点的确定过程与上述目标顶点n对应的目标投影点的确定过程类似,在此不再进行赘述。
[0133]
在一种可能的实现方式中,确定出至少一个目标顶点分别对应的目标投影点之后,根据至少一个目标顶点的坐标和至少一个目标顶点分别对应的目标投影点的坐标,确定第一距离和第二距离的过程包括:基于目标顶点的个数为一个,根据目标顶点的坐标和目标顶点对应的目标投影点的坐标在第一维度的差值,确定第一距离,根据目标顶点的坐标和目标顶点对应的目标投影点的坐标在第二维度的差值,确定第二距离。可选地,将目标顶点的坐标和目标顶点对应的目标投影点的坐标在第一维度的差值的绝对值作为第一距离,将目标顶点的坐标和目标顶点对应的目标投影点的坐标在第二维度的差值的绝对值作为第二距离。
[0134]
示例性地,目标顶点的个数为一个,目标顶点的坐标为(3,5),目标顶点对应的目标投影点的坐标为(4,7),则将3和4的差值的绝对值作为第一距离,将5和7的差值的绝对值作为第二距离,也即是第一距离为1,第二距离为2。
[0135]
基于目标顶点的个数为多个,根据各个目标顶点与各个目标顶点对应的目标投影点之间的距离,在多个目标顶点中确定参考顶点,根据参考顶点的坐标和参考顶点对应的目标投影点的坐标在第一维度的差值,确定第一距离,根据参考顶点的坐标和参考顶点对应的目标投影点的坐标在第二维度的差值,确定第二距离。可选地,将参考顶点的坐标和参考顶点对应的目标投影点的坐标在第一维度的差值的绝对值作为第一距离,将参考顶点的坐标和参考顶点对应的目标投影点的坐标在第二维度的差值的绝对值作为第二距离。
[0136]
在一种可能的实现方式中,根据各个目标顶点与各个目标顶点对应的目标投影点之间的距离,在多个目标顶点中确定参考顶点的过程包括:将多个目标顶点中,与对应的目标投影点之间的距离最大的目标顶点作为参考顶点。
[0137]
示例性地,目标顶点的个数为两个,分别为目标顶点n和目标顶点p,其中,目标顶点n对应的目标投影点为投影点一,目标顶点p对应的目标投影点为投影点3。响应于目标顶点n和投影点一之间的距离大于目标顶点p和投影点3之间的距离,则将目标顶点n作为参考顶点。将目标顶点n和投影点一的坐标在第一维度的差值的绝对值作为第一距离,将目标顶点n和投影点一的坐标在第二维度的差值的绝对值作为第二距离。
[0138]
在一种可能的实现方式中,根据第一距离和第二距离,对旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片的过程包括:根据第一距离,对旋转后的目标图片的各个顶点的坐标中的第一维度的数值进行调整,根据第二距离,对旋转后的目标图片的各个顶点的坐标中的第二维度的数值进行调整,得到旋转后的目标图片的各个顶点的候选坐标;根据旋转后的目标图片的各个顶点的候选坐标,对旋转后的目标图片进行拉伸,得到调整后的目标图片,调整后的目标图片的各个顶点的坐标为旋转后的目标图片的各个顶点的候选坐标。
[0139]
如图9是本技术实施例提供的一种对旋转后的目标图片进行拉伸,得到调整后的目标图片的示意图。图9中的(1)为旋转后的目标图片,(2)为调整后的目标图片。由图9可以
看出,调整后的目标图片的尺寸大于旋转后的目标图片的尺寸。
[0140]
在步骤203中,根据裁剪框,在调整后的目标图片上确定裁剪区域,根据裁剪区域得到裁剪图片。
[0141]
在一种可能的实现方式中,根据裁剪框,在调整后的目标图片上确定裁剪区域,根据裁剪区域得到裁剪图片的过程包括:将裁剪框与调整后的目标图片之间重叠的区域作为裁剪区域,对裁剪区域进行裁剪,得到裁剪图片。
[0142]
可选地,首页中还显示有确认控件(如图3中的控件306),确认控件用于指示确认对目标图片进行裁剪。响应于接收到针对确认控件的操作指令,根据裁剪框,在调整后的目标图片上确定裁剪区域,得到裁剪图片。裁剪图片为调整后的目标图片的一部分,裁剪图片中不包括除目标图片之外的空白区域。
[0143]
如图10是本技术实施例提供的一种裁剪图片的显示示意图,图10的(1)是为了确定裁剪区域,图10的(2)是得到的裁剪图片。
[0144]
在一种可能的实现方式中,还可以对裁剪框进行拉伸,以使裁剪图片的尺寸更大。可选地,根据裁剪框的各个顶点的坐标和调整后的目标图片的各个顶点的坐标,确定裁剪框的各个边与调整后的目标图片的多个延伸交点;根据多个延伸交点的坐标,确定裁剪框在第一维度的取值范围和在第二维度的取值范围;对裁剪框进行拉伸处理,得到拉伸之后的裁剪框,拉伸之后的裁剪框的尺寸大于拉伸之前的裁剪框的尺寸,拉伸之后的裁剪框的各个顶点在第一维度的数值位于第一取值范围之内,拉伸之后的裁剪框的各个顶点在第二维度的数值位于第二取值范围之内;将拉伸之后的裁剪框与调整后的目标图片之间的重叠的区域作为裁剪区域;对裁剪区域进行裁剪,得到裁剪图片。
[0145]
在一种可能的实现方式中,根据裁剪框的各个顶点的坐标和调整后的目标图片的各个顶点的坐标,确定裁剪框的各个边与调整后的目标图片的多个延伸交点的过程包括:根据裁剪框的各个顶点的坐标,确定裁剪框的各个边分别对应的方程式,得到四个第一方程式;根据调整后的目标图片的各个顶点的坐标,确定调整后的目标图片的四个边分别对应的方程式,得到四个第二方程式,根据四个第一方程式和四个第二方程式,确定裁剪框的各个边与调整后的目标图片的多个延伸交点。
[0146]
可选地,按照下述公式(6)确定裁剪框的各个边与调整后的目标图片的多个延伸交点。
[0147]
解得:
[0148]
在上述公式(6)中,ax by=e是裁剪框的任一条边对应的方程式(或者,ax by=e是调整后的目标图片的任一条边对应的方程式),cx dy=f是调整后的目标图片的任一条边对应的方程式(或者,cx dy=f是裁剪框的任一条边对应的方程式),(x,y)是延伸交点。
[0149]
如图11是本技术实施例提供的一种确定裁剪框的各个边与调整后的目标图片的多个延伸交点的示意图。由图11可知多个延伸交点分别为延伸交点a、延伸交点b、延伸交点c、延伸交点d、延伸交点e、延伸交点f、延伸交点g和延伸交点h。根据各个延伸交点的坐标,确定裁剪框在第一维度的最大值为x4,最小值为x5,则裁剪框在第一维度的第一取值范围为[x5,x4]。确定裁剪框在第二维度的最大值为y6,最小值为y3,则裁剪框在第二维度的第
二取值范围为[y3,y6]。
[0150]
响应于接收到针对裁剪框的拉伸操作,确定拉伸之后的裁剪框的各个顶点的坐标是否位于第一取值范围和第二取值范围之内,如果拉伸之后的裁剪框的各个顶点的坐标位于第一取值范围和第二取值范围之内,则将拉伸之后的裁剪框与调整后的目标图片之间重叠的区域作为裁剪区域,对裁剪区域进行裁剪,得到裁剪图片。
[0151]
如图12是本技术实施例提供的另一种裁剪图片的显示示意图,图12的(1)是为了确定裁剪区域,图12的(2)是得到的裁剪图片。由图12和图10可以看出,图12得到的裁剪图片的尺寸大于图10所得到的裁剪图片的图片尺寸。
[0152]
如果拉伸之后的裁剪框的各个顶点的坐标中存在不位于第一取值范围的坐标,和/或,拉伸之后的裁剪框的各个顶点的坐标中存在不位于第二取值范围之内的坐标,则对裁剪框的尺寸进行限制,以保证裁剪框不超出调整之后的目标图片。限制的方式为针对裁剪框的拉伸操作,裁剪框不发生变化。可选地,限制的方式还可以是显示通知消息,通知消息用于指示无法继续拉伸裁剪框。通知消息中可以包括任意内容,本技术实施例对此不进行限定。
[0153]
在一种可能的实现方式中,得到裁剪图片之后,可以将裁剪图片保存在终端设备的存储空间中,还可以显示裁剪图片,将裁剪图片显示在首页中的图片显示区域内,以便用户看到裁剪图片。
[0154]
上述方法在对目标图片进行裁剪时,当目标图片发生旋转,且裁剪框的多个顶点中存在位于旋转后的目标图片之外的顶点时,通过对旋转后的目标图片的尺寸进行调整,以得到调整后的目标图片,使得裁剪框的多个顶点均位于调整后的目标图片上,在不改变裁剪框的前提下,使得裁剪到的图片中不包含除目标图片之外的空白区域,使得图片裁剪效果较好。
[0155]
而且,当在调整后的目标图片上进行裁剪时,还可以调整裁剪框的尺寸,在裁剪到的图片不包括空白区域的前提下,使得裁剪到的图片的尺寸更大,进一步提高图片裁剪的效果。
[0156]
图13所示为本技术实施例提供的一种图片裁剪装置的结构示意图,如图13所示,该装置包括:
[0157]
显示模块1301,用于显示待裁剪的目标图片和裁剪框;
[0158]
调整模块1302,用于响应于目标图片基于旋转操作发生旋转,且裁剪框的各个顶点中存在位于旋转后的目标图片之外的顶点,对旋转后的目标图片的尺寸进行调整,得到调整后的目标图片,使得裁剪框的各个顶点均位于调整后的目标图片上;
[0159]
确定模块1303,用于根据裁剪框,在调整后的目标图片上确定裁剪区域;
[0160]
裁剪模块1304,用于根据裁剪区域得到裁剪图片。
[0161]
在一种可能的实现方式中,调整模块1302,用于根据裁剪框的各个顶点的坐标,确定裁剪框的外接区域,外接区域的角度为目标图片的旋转角度,裁剪框的各个顶点位于外接区域的边上;确定外接区域的长度和宽度;根据外接区域的长度和宽度,对旋转后的目标图片的尺寸进行调整,得到调整后的目标图片。
[0162]
在一种可能的实现方式中,调整模块1302,用于根据裁剪框的各个顶点的坐标,确定裁剪框的长度和裁剪框的宽度;根据裁剪框的长度、裁剪框的宽度和目标图片的旋转角
度,确定外接区域的长度和宽度。
[0163]
在一种可能的实现方式中,调整模块1302,用于根据裁剪框的长度和目标图片的旋转角度,按照余弦定理确定第一数值;根据裁剪框的宽度和目标图片的旋转角度,按照正弦定理确定第二数值;将第一数值和第二数值的和值作为外接区域的长度;根据裁剪框的长度和目标图片的旋转角度,按照正弦定理确定第三数值;根据裁剪框的宽度和目标图片的旋转角度,按照余弦定理确定第四数值;将第三数值和第四数值的和值作为外接区域的宽度。
[0164]
在一种可能的实现方式中,调整模块1302,用于基于旋转后的目标图片的长度小于外接区域的长度,且旋转后的目标图片的宽度小于外接区域的宽度,将旋转后的目标图片的长度调整为外接区域的长度,将旋转后的目标图片的宽度调整为外接区域的宽度;根据裁剪框的各个顶点的坐标、目标图片的旋转角度、旋转后的目标图片调整后的长度和宽度,确定候选区域;根据候选区域的各个顶点的坐标,对旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片,调整后的目标图片的尺寸大于旋转后的目标图片的尺寸。
[0165]
在一种可能的实现方式中,调整模块1302,用于基于旋转后的目标图片的长度不小于外接区域的长度,和/或,旋转后的目标图片的宽度不小于外接区域的宽度,在裁剪框的各个顶点中确定位于旋转后的目标图片之外的至少一个目标顶点;确定至少一个目标顶点分别对应的目标投影点;根据至少一个目标顶点的坐标和至少一个目标顶点分别对应的目标投影点的坐标,确定第一距离和第二距离,第一距离为在第一维度的距离,第二距离为在第二维度的距离;根据第一距离和第二距离,对旋转后的目标图片的各个顶点的坐标进行调整,得到调整后的目标图片,调整后的目标图片的尺寸大于旋转后的目标图片的尺寸。
[0166]
在一种可能的实现方式中,调整模块1302,用于对于至少一个目标顶点中的任一目标顶点,将任一目标顶点投影在旋转后的目标图片的各个边上,得到任一目标顶点对应的多个投影点;确定任一目标顶点对应的多个投影点分别和任一目标顶点之间的距离;将距离满足距离要求的投影点作为任一目标顶点对应的目标投影点。
[0167]
在一种可能的实现方式中,调整模块1302,用于基于目标顶点的个数为一个,根据目标顶点的坐标和目标顶点对应的目标投影点的坐标在第一维度的差值,确定第一距离,根据目标顶点的坐标和目标顶点对应的目标投影点的坐标在第二维度的差值,确定第二距离;基于目标顶点的个数为多个,根据各个目标顶点与各个目标顶点对应的目标投影点之间的距离,在多个目标顶点中确定参考顶点,根据参考顶点的坐标和参考顶点对应的目标投影点的坐标在第一维度的差值,确定第一距离,根据参考顶点的坐标和参考顶点对应的目标投影点的坐标在第二维度的差值,确定第二距离。
[0168]
在一种可能的实现方式中,调整模块1302,用于根据第一距离,对旋转后的目标图片的各个顶点的坐标中的第一维度的数值进行调整,根据第二距离,对旋转后的目标图片的各个顶点的坐标中的第二维度的数值进行调整,得到旋转后的目标图片的各个顶点的候选坐标;根据旋转后的目标图片的各个顶点的候选坐标,对旋转后的目标图片进行拉伸,得到调整后的目标图片,调整后的目标图片的各个顶点的坐标为旋转后的目标图片的各个顶点的候选坐标。
[0169]
在一种可能的实现方式中,确定模块1303,用于将裁剪框与调整后的目标图片之
间重叠的区域作为裁剪区域。
[0170]
在一种可能的实现方式中,确定模块1303,用于根据裁剪框的各个顶点的坐标和调整后的目标图片的各个顶点的坐标,确定裁剪框的各个边与调整后的目标图片的多个延伸交点;根据多个延伸交点的坐标,确定裁剪框在第一维度的第一取值范围和在第二维度的第二取值范围;对裁剪框进行拉伸处理,得到拉伸之后的裁剪框,拉伸之后的裁剪框的尺寸大于拉伸之前的裁剪框的尺寸,拉伸之后的裁剪框的各个顶点在第一维度的数值位于的第一取值范围之内,拉伸之后的裁剪框的各个顶点在第二维度的数值位于第二取值范围之内;将拉伸之后的裁剪框与调整后的目标图片之间重叠的区域作为裁剪区域。
[0171]
上述装置在对目标图片进行裁剪时,当目标图片发生旋转,且裁剪框的多个顶点中存在位于旋转后的目标图片之外的顶点时,通过对旋转后的目标图片的尺寸进行调整,以得到调整后的目标图片,使得裁剪框的多个顶点均位于调整后的目标图片上,在不改变裁剪框的前提下,使得裁剪到的图片中不包含除目标图片之外的空白区域,使得图片裁剪效果较好。
[0172]
应理解的是,上述提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0173]
图14示出了本技术一个示例性实施例提供的终端设备1400的结构框图。该终端设备1400可以是便携式移动终端,比如:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端设备1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0174]
通常,终端设备1400包括有:处理器1401和存储器1402。
[0175]
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0176]
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申
请中方法实施例提供的图片裁剪方法。
[0177]
在一些实施例中,终端设备1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407、定位组件1408和电源1409中的至少一种。
[0178]
外围设备接口1403可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0179]
射频电路1404用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端设备进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0180]
显示屏1405用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置在终端设备1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在终端设备1400的不同表面或呈折叠设计;在另一些实施例中,显示屏1405可以是柔性显示屏,设置在终端设备1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0181]
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端设备1400的前面板,后置摄像头设置在终端设备1400的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0182]
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并
将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
[0183]
定位组件1408用于定位终端设备1400的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1408可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0184]
电源1409用于为终端设备1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0185]
在一些实施例中,终端设备1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
[0186]
加速度传感器1411可以检测以终端设备1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
[0187]
陀螺仪传感器1412可以检测终端设备1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端设备1400的3d动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0188]
压力传感器1413可以设置在终端设备1400的侧边框和/或显示屏1405的下层。当压力传感器1413设置在终端设备1400的侧边框时,可以检测用户对终端设备1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在显示屏1405的下层时,由处理器1401根据用户对显示屏1405的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0189]
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置在终端设备1400的正面、背面或侧面。当终端设备1400上设置有物理按键或厂商logo时,指纹传感器1414可以与物理按键或厂商logo集成在一起。
[0190]
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制显示屏1405的显示亮度。具体地,当环境光强度较高时,调高显示屏1405的显示亮度;当环境光强度较低时,调低显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
[0191]
接近传感器1416,也称距离传感器,通常设置在终端设备1400的前面板。接近传感器1416用于采集用户与终端设备1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端设备1400的正面之间的距离逐渐变小时,由处理器1401控制显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端设备1400的正面之间的距离逐渐变大时,由处理器1401控制显示屏1405从息屏状态切换为亮屏状态。
[0192]
本领域技术人员可以理解,图14中示出的结构并不构成对终端设备1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0193]
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以使计算机实现上述任一种图片裁剪方法。
[0194]
可选地,上述计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0195]
在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行,以使计算机实现上述任一种图片裁剪方法。
[0196]
需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的目标图片都是在充分授权的情况下获取的。
[0197]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0198]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0199]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献