CN104881888A - 一种图片裁剪方法及装置 - Google Patents

一种图片裁剪方法及装置 Download PDF

Info

Publication number
CN104881888A
CN104881888A CN201510338319.XA CN201510338319A CN104881888A CN 104881888 A CN104881888 A CN 104881888A CN 201510338319 A CN201510338319 A CN 201510338319A CN 104881888 A CN104881888 A CN 104881888A
Authority
CN
China
Prior art keywords
picture
cutting
crop box
treat
straight
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.)
Granted
Application number
CN201510338319.XA
Other languages
English (en)
Other versions
CN104881888B (zh
Inventor
王文思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jupiter Technology Co ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201510338319.XA priority Critical patent/CN104881888B/zh
Publication of CN104881888A publication Critical patent/CN104881888A/zh
Application granted granted Critical
Publication of CN104881888B publication Critical patent/CN104881888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Editing Of Facsimile Originals (AREA)
  • Harvester Elements (AREA)

Abstract

本发明实施例公开了一种图片裁剪方法及装置。一种图片裁剪方法,该方法用于对发生角度旋转的图片进行裁剪,包括:接收用户输入的图片裁剪指令;所述图片裁剪指令中携带有裁剪框的位置信息;根据裁剪框的位置信息,判断裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,如果是,使用所述裁剪框对待裁剪的图片进行裁剪;否则,将所述裁剪框的覆盖区域调整至待裁剪的图片区域内,使用调整后的裁剪框对待裁剪的图片进行裁剪。本发明可以针对发生角度旋转的图片,通过比较裁剪框的覆盖区域是否落入待裁剪图片的图片区域内的方式,决定具体采用何种裁剪方式,从而保证在用户对发生角度旋转的图片进行裁剪时,裁剪框不超出待裁剪图片的图片区域。

Description

一种图片裁剪方法及装置
技术领域
本发明涉及图像处理技术领域,特别涉及一种图片裁剪方法及装置。
背景技术
随着图像处理技术的快速发展,图像处理软件开发者提供的图像处理软件的种类越来越多、功能越来越丰富。目前主流的图像处理软件均具有图像裁剪功能。图像处理软件在对图片进行裁剪时,是借助裁剪框实现的,用户可以通过调整裁剪框尺寸、位置等方式来获取期望内容的图像区域。
然而,由于在使用裁剪框对发生角度旋转的图片进行裁剪使时,很难保证裁剪框完全落入待裁剪图片的图片区域,因此亟需提出一种图片裁剪方法来解决上述问题。
发明内容
为了解决上述问题,本发明实施例公开了一种图片裁剪方法及装置,具体技术方案如下:
本发明提供的一种图片裁剪方法,该方法用于对发生角度旋转的图片进行裁剪,包括:
接收用户输入的图片裁剪指令;其中,所述图片裁剪指令中携带有裁剪框的位置信息;
根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,如果是,使用所述裁剪框对所述待裁剪的图片进行裁剪;
否则,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
根据本发明提供的一种具体实施方式中,所述根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,包括:
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,计算所述待裁剪图片的四条边的直线方程;
根据裁剪框的位置信息,确定在同一二维直角坐标系下所述裁剪框的四个端点的坐标值;
根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,如果是,则所述裁剪框的覆盖区域完全位于待裁剪图片的图片区域内,否则不完全位于。
根据本发明提供的一种具体实施方式中,所述待裁剪图片的图片区域内的一个点为所述待裁剪图片的端点。
根据本发明提供的一种具体实施方式中,所述计算所述待裁剪图片的四条边的直线方程,包括:
根据所述待裁剪图片的图片长度、宽度及图片的旋转角度,计算所述待裁剪图片的四条边的直线方程;
根据所述待裁剪图片的四个端点坐标值,计算所述待裁剪图片的四条边的直线方程。
根据本发明提供的一种具体实施方式中,所述根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,包括:
根据所述直线方程,生成对应于所述待裁剪的图片的四条边的四个函数;
将所述裁剪框的四个端点分别代入所述待裁剪的图片的四条边所对应的四个函数中;
针对每个函数,判断所述裁剪框的四个端点代入该函数的结果是否同号;
如果均同号,进一步针对每组互为对边的边所对应的两个函数,判断所述裁剪框的四个端点代入该两个函数的结果是否异号,如果均异号,则所述裁剪框的四个端点位于所述直线方程构成的区域内。
根据本发明提供的一种具体实施方式中,在所述将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内之前,还包括:
向用户展示用于提示裁剪框已超出待裁剪图片的图片区域的第一消息提示。
根据本发明提供的一种具体实施方式中,在所述将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内之前,还包括:
向用户展示用于询问是否接受系统自动将覆盖区域调整至图片区域内的第二消息提示;
在接收到用户针对所述第二消息提示做出的肯定操作后,执行所述将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内的步骤。
本发明提供的一种图片裁剪装置,该装置用于对发生角度旋转的图片进行裁剪,包括:
指令接收模块,用于接收用户输入的图片裁剪指令;其中,所述图片裁剪指令中携带有裁剪框的位置信息;
判断模块,根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内;
第一裁剪模块,用于在所述判断模块的判断结果为是的情况下,使用所述裁剪框对所述待裁剪的图片进行裁剪;
第二裁剪模块,用于在所述判断模块的判断结果为否的情况下,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
根据本发明提供的一种具体实施方式中,所述判断模块,包括:
直线方程计算子模块,用于以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,计算所述待裁剪图片的四条边的直线方程;
坐标值确定子模块,用于根据裁剪框的位置信息,确定在同一二维直角坐标系下所述裁剪框的四个端点的坐标值;
判断子模块,用于根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,如果是,则所述裁剪框的覆盖区域完全位于待裁剪图片的图片区域内,否则不完全位于。
根据本发明提供的一种具体实施方式中,所述待裁剪图片的图片区域内的一个点为所述待裁剪图片的端点。
根据本发明提供的一种具体实施方式中,所述直线方程计算子模块,具体用于:
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,根据所述待裁剪图片的图片长度、宽度及图片的旋转角度,计算所述待裁剪图片的四条边的直线方程;
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,根据所述待裁剪图片的四个端点坐标值,计算所述待裁剪图片的四条边的直线方程。
根据本发明提供的一种具体实施方式中,所述判断子模块,具体用于:
根据所述直线方程,生成对应于所述待裁剪的图片的四条边的四个函数;
将所述裁剪框的四个端点分别代入所述待裁剪的图片的四条边所对应的四个函数中;
针对每个函数,判断所述裁剪框的四个端点代入该函数的结果是否同号;
如果均同号,进一步针对每组互为对边的边所对应的两个函数,判断所述裁剪框的四个端点代入该两个函数的结果是否异号,如果均异号,则所述裁剪框的四个端点位于所述直线方程构成的区域内。
根据本发明提供的一种具体实施方式中,所述装置还包括:
第一消息提示展示模块,用于向用户展示用于提示裁剪框已超出待裁剪图片的图片区域的第一消息提示。
根据本发明提供的一种具体实施方式中,所述装置还包括:
第二消息提示展示模块,用于向用户展示用于询问是否接受系统自动将覆盖区域调整至图片区域内的第二消息提示;
触发执行模块,用于在接收到用户针对所述第二消息提示做出的肯定操作后,触发所述第二裁剪模块执行将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内的操作。
应用上述技术方案,本发明实施例提供的图片裁剪方法及装置,可以在接收到用户输入的图片裁剪指令后,根据所述图片裁剪指令中携带的裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,如果是,使用所述裁剪框对所述待裁剪的图片进行裁剪;否则,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
与现有技术相比,本发明可以针对发生角度旋转的图片,通过比较裁剪框的覆盖区域是否落入待裁剪图片的图片区域内的方式,决定具体采用何种裁剪方式,从而保证在用户对发生角度旋转的图片进行裁剪时,裁剪框不超出待裁剪图片的图片区域。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种图片裁剪方法的流程图;
图1(a)为本发明实施例提供的S102的一种具体实施方式的流程图;
图1(b)为本发明实施例提供的未发生角度旋转的图片的示例图;
图1(c)为本发明实施例提供的发生角度旋转的图片的示例图;
图2为本发明实施例提供的一种图片裁剪装置的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着图像处理技术的快速发展,图像处理软件开发者提供的图像处理软件的种类越来越多、功能越来越丰富。目前主流的图像处理软件均具有图像裁剪功能。图像处理软件在对图片进行裁剪时,是借助裁剪框实现的,用户可以通过调整裁剪框尺寸、位置等方式来获取期望内容的图像区域。
然而,由于在使用裁剪框对发生角度旋转的图片进行裁剪使时,很难保证裁剪框完全落入待裁剪图片的图片区域,因此亟需提出一种图片裁剪方法来解决上述问题。为了解决上述问题,本发明实施例提供了一种图片裁剪方法及装置。
下面首先对本发明实施例提供的一种图片裁剪方法进行介绍。
需要说明的是,本发明实施例提供的方法适用于电子设备,在实际应用中,该电子设备可以包括:智能手机、平板电脑、笔记本/台式电脑等电子设备。
如图1所示,本发明实施例提供的一种图片裁剪方法,该方法用于对发生角度旋转的图片进行裁剪,可以包括:
S101,接收用户输入的图片裁剪指令;其中,所述图片裁剪指令中携带有裁剪框的位置信息。
本发明可以为用户提供输入图片裁剪指令的接口,在实际应用中,该接口的形式可以包括:裁剪框的尺寸值输入接口、可以接收触屏或操作设备例如鼠标对裁剪框的尺寸或位置进行调整接口。本发明实施例对此不做限定。
S102,根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内。
可选的,如图1(a)所示,上述S102,可以包括:
S102a,以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,计算所述待裁剪图片的四条边的直线方程。
优选的,所述待裁剪图片的图片区域内的一个点为所述待裁剪图片的端点例如待裁剪图片的左上端点。
具体的,在本发明的一个具体实施方式中,所述计算所述待裁剪图片的四条边的直线方程,可以包括:
根据所述待裁剪图片的图片长度、宽度及图片的旋转角度,计算所述待裁剪图片的四条边的直线方程。
例如图1(b)所示为未发生角度旋转时的待裁剪图片,图1(c)所示为发生角度旋转时的待裁剪图片,其中A、B、C、D为图片的四个端点,以图1(b)中的A点为原点建立坐标系,X轴向右为正,Y轴向下为正,建立坐标系,针对发生角度旋转的图片,可以获得以下信息:
1.发生角度旋转的图片的宽度W、高度V;
2.图片的旋转角度用字母α表示;
首先,根据条件1可以求得角度旋转前的图片的AB,BC,CD,DA四条边的直线方程分别为x=0,y=0,x=W,y=V;
之后,根据图片旋转角度α可以求得角度旋转后的图片的AB,BC,CD,DA四条边的直线方程。
可以理解,在二维直角坐标系中已知两个点的坐标,可以求得一条经过前述两点的直线方程,在本发明的另一个具体实施方式中,所述计算所述待裁剪图片的四条边的直线方程,可以包括:
根据所述待裁剪图片的四个端点坐标值,计算所述待裁剪图片的四条边的直线方程。
S102b,根据裁剪框的位置信息,确定在同一二维直角坐标系下所述裁剪框的四个端点的坐标值。
如图1(c)所示的裁剪框的四个端点及坐标值:A1点(ax1,ay1),B1点(bx1,by1),C1点(cx1,cy1),和D1点(dx1,dy1)。
S102c,根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,如果是,则所述裁剪框的覆盖区域完全位于待裁剪图片的图片区域内,否则不完全位于。
具体的,上述S102c,可以包括:
根据所述直线方程,生成对应于所述待裁剪的图片的四条边的四个函数;
示例性的,假设AB对应的直线方程为:Ex+Fy+G=0(E,F,G为某一常量),则AB对应的函数为f(x,y)=Ex+Fy+G,同理可以求得其他三个边对应的函数。
将所述裁剪框的四个端点分别代入所述待裁剪的图片的四条边所对应的四个函数中;
针对每个函数,判断所述裁剪框的四个端点代入该函数的结果是否同号;
如果均同号,进一步针对每组互为对边的边所对应的两个函数,判断所述裁剪框的四个端点代入该两个函数的结果是否异号,如果均异号,则所述裁剪框的四个端点位于所述直线方程构成的区域内。
示例性的接上实例,把上述裁剪框四个端点的坐标值A1点(ax1,ay1),B1点(bx1,by1),C1点(cx1,cy1),和D1点(dx1,dy1)带入AB对应的函数中,得:
E*ax1+F*ay1+G<=0并且E*bx1+F*by1+G<=0并且E*cx1+F*cy1+G<=0并且E*dx1+F*dy1+G<=0同时成立————条件1
E*ax1+F*ay1+G>=0并且E*bx1+F*by1+G>=0并且E*cx1+F*cy1+G>=0并且E*dx1+F*dy1+G>=0同时成立————条件2
注意:条件1成立代表裁剪框的四个端点A1、B1、C1和D1在直线AB的同侧,条件2成立代表裁剪框的四个端点A1、B1、C1和D1在直线AB的同侧。
假设CD对应的直线方程为:Hx+Jy+K=0(H,J,K为某一常量),则CD对应的函数为f(x,y)=Hx+Jy+K;把上述裁剪框四个端点的坐标值A1点(ax1,ay1),B1点(bx1,by1),C1点(cx1,cy1),和D1点(dx1,dy1)带入CD对应的函数中,得:
H*ax1+J*ay1+K>=0并且H*bx1+J*by1+K>=0并且H*cx1+J*cy1+K>=0并且H*dx1+J*dy1+K>=0同时成立————条件3
H*ax1+J*ay1+K<=0并且H*bx1+J*by1+K<=0并且H*cx1+J*cy1+K<=0并且H*dx1+J*dy1+K<=0同时成立————条件4
注意:条件3成立代表裁剪框的四个端点A1、B1、C1和D1在直线CD的同侧,条件4成立代表裁剪框的四个端点A1、B1、C1和D1在直线CD的同侧。
确保裁剪框的四个端点A1、B1、C1和D1位于图片区域内的边缘检测的条件是:条件1和条件3需要同时成立,或者条件2和条件4同时成立(这里保证的是剪裁框在AB和CD之间)。同理可以得到BC和DA这组对边需要满足得的缘检测条件。
S103,使用所述裁剪框对所述待裁剪的图片进行裁剪。
S104,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
在本发明步骤中的对裁剪框的覆盖区域的调整,可以包括:对裁剪框的覆盖区域的位置的调整,或者对裁剪框的覆盖区域的尺寸大小的调整。
由此可见,本发明实施例提供的图片裁剪方法,可以在接收到用户输入的图片裁剪指令后,根据所述图片裁剪指令中携带的裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,如果是,使用所述裁剪框对所述待裁剪的图片进行裁剪;否则,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
与现有技术相比,本发明可以针对发生角度旋转的图片,通过比较裁剪框的覆盖区域是否落入待裁剪图片的图片区域内的方式,决定具体采用何种裁剪方式,从而保证在用户对发生角度旋转的图片进行裁剪时,裁剪框不超出待裁剪图片的图片区域。
可选的,在本发明的另一个实施例中,本发明实施例提供的图片裁剪方法,在判断出所述裁剪框的覆盖区域不完全位于待裁剪图片的图片区域内的情况下,还可以在将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内之前,包括以下步骤:
向用户展示用于提示裁剪框已超出待裁剪图片的图片区域的第一消息提示。
可选的,在本发明的另一个实施例中,本发明实施例提供的图片裁剪方法,在判断出所述裁剪框的覆盖区域不完全位于待裁剪图片的图片区域内的情况下,还可以在将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内之前,包括以下步骤:
向用户展示用于询问是否接受系统自动将覆盖区域调整至图片区域内的第二消息提示;
在接收到用户针对所述第二消息提示做出的肯定操作后,执行所述将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内的步骤。
本实施例步骤,可以在征得用户同意后对裁剪框的覆盖区域进行调整,以使裁剪出来的图像充满裁剪框且带有旋转角度。
相应于上面介绍的方法实施例,本发明实施例还提供了一种图片裁剪装置。
如图2所示,本发明实施例提供的一种图片裁剪装置,该装置用于对发生角度旋转的图片进行裁剪,可以包括:
指令接收模块201,用于接收用户输入的图片裁剪指令;其中,所述图片裁剪指令中携带有裁剪框的位置信息;
判断模块202,根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内;
第一裁剪模块203,用于在所述判断模块202的判断结果为是的情况下,使用所述裁剪框对所述待裁剪的图片进行裁剪;
第二裁剪模块204,用于在所述判断模块202的判断结果为否的情况下,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
由此可见,本发明实施例提供的图片裁剪装置,可以在接收到用户输入的图片裁剪指令后,根据所述图片裁剪指令中携带的裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,如果是,使用所述裁剪框对所述待裁剪的图片进行裁剪;否则,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
与现有技术相比,本发明可以针对发生角度旋转的图片,通过比较裁剪框的覆盖区域是否落入待裁剪图片的图片区域内的方式,决定具体采用何种裁剪方式,从而保证在用户对发生角度旋转的图片进行裁剪时,裁剪框不超出待裁剪图片的图片区域。
可选的,在本发明的一个实施例中,所述判断模块202,可以包括:
直线方程计算子模块,用于以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,计算所述待裁剪图片的四条边的直线方程;
坐标值确定子模块,用于根据裁剪框的位置信息,确定在同一二维直角坐标系下所述裁剪框的四个端点的坐标值;
判断子模块,用于根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,如果是,则所述裁剪框的覆盖区域完全位于待裁剪图片的图片区域内,否则不完全位于。
可选的,在本发明的一个实施例中,所述待裁剪图片的图片区域内的一个点可以为所述待裁剪图片的端点。
可选的,在本发明的一个实施例中,所述直线方程计算子模块,具体可以用于:
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,根据所述待裁剪图片的图片长度、宽度及图片的旋转角度,计算所述待裁剪图片的四条边的直线方程;
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,根据所述待裁剪图片的四个端点坐标值,计算所述待裁剪图片的四条边的直线方程。
可选的,在本发明的一个实施例中,所述判断子模块202,具体可以用于:
根据所述直线方程,生成对应于所述待裁剪的图片的四条边的四个函数;
将所述裁剪框的四个端点分别代入所述待裁剪的图片的四条边所对应的四个函数中;
针对每个函数,判断所述裁剪框的四个端点代入该函数的结果是否同号;
如果均同号,进一步针对每组互为对边的边所对应的两个函数,判断所述裁剪框的四个端点代入该两个函数的结果是否异号,如果均异号,则所述裁剪框的四个端点位于所述直线方程构成的区域内。
可选的,在本发明的一个实施例中,所述装置还可以包括:
第一消息提示展示模块,用于向用户展示用于提示裁剪框已超出待裁剪图片的图片区域的第一消息提示。
可选的,在本发明的一个实施例中,所述装置还可以包括:
第二消息提示展示模块,用于向用户展示用于询问是否接受系统自动将覆盖区域调整至图片区域内的第二消息提示;
触发执行模块,用于在接收到用户针对所述第二消息提示做出的肯定操作后,触发所述第二裁剪模块执行将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内的操作。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种图片裁剪方法,其特征在于,该方法用于对发生角度旋转的图片进行裁剪,包括:
接收用户输入的图片裁剪指令;其中,所述图片裁剪指令中携带有裁剪框的位置信息;
根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,如果是,使用所述裁剪框对所述待裁剪的图片进行裁剪;
否则,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
2.根据权利要求1所述的方法,其特征在于,所述根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内,包括:
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,计算所述待裁剪图片的四条边的直线方程;
根据裁剪框的位置信息,确定在同一二维直角坐标系下所述裁剪框的四个端点的坐标值;
根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,如果是,则所述裁剪框的覆盖区域完全位于待裁剪图片的图片区域内,否则不完全位于。
3.根据权利要求2所述的方法,其特征在于,所述待裁剪图片的图片区域内的一个点为所述待裁剪图片的端点。
4.根据权利要求2或3所述的方法,其特征在于,所述计算所述待裁剪图片的四条边的直线方程,包括:
根据所述待裁剪图片的图片长度、宽度及图片的旋转角度,计算所述待裁剪图片的四条边的直线方程;
根据所述待裁剪图片的四个端点坐标值,计算所述待裁剪图片的四条边的直线方程。
5.根据权利要求4所述的方法,其特征在于,所述根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,包括:
根据所述直线方程,生成对应于所述待裁剪的图片的四条边的四个函数;
将所述裁剪框的四个端点分别代入所述待裁剪的图片的四条边所对应的四个函数中;
针对每个函数,判断所述裁剪框的四个端点代入该函数的结果是否同号;
如果均同号,进一步针对每组互为对边的边所对应的两个函数,判断所述裁剪框的四个端点代入该两个函数的结果是否异号,如果均异号,则所述裁剪框的四个端点位于所述直线方程构成的区域内。
6.根据权利要求1所述的方法,其特征在于,在所述将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内之前,还包括:
向用户展示用于提示裁剪框已超出待裁剪图片的图片区域的第一消息提示。
7.根据权利要求1所述的方法,其特征在于,在所述将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内之前,还包括:
向用户展示用于询问是否接受系统自动将覆盖区域调整至图片区域内的第二消息提示;
在接收到用户针对所述第二消息提示做出的肯定操作后,执行所述将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内的步骤。
8.一种图片裁剪装置,其特征在于,该装置用于对发生角度旋转的图片进行裁剪,包括:
指令接收模块,用于接收用户输入的图片裁剪指令;其中,所述图片裁剪指令中携带有裁剪框的位置信息;
判断模块,根据裁剪框的位置信息,判断所述裁剪框的覆盖区域是否完全位于待裁剪图片的图片区域内;
第一裁剪模块,用于在所述判断模块的判断结果为是的情况下,使用所述裁剪框对所述待裁剪的图片进行裁剪;
第二裁剪模块,用于在所述判断模块的判断结果为否的情况下,将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内,使用调整后的裁剪框对所述待裁剪的图片进行裁剪。
9.根据权利要求8所述的装置,其特征在于,所述判断模块,包括:
直线方程计算子模块,用于以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,计算所述待裁剪图片的四条边的直线方程;
坐标值确定子模块,用于根据裁剪框的位置信息,确定在同一二维直角坐标系下所述裁剪框的四个端点的坐标值;
判断子模块,用于根据所述直线方程及坐标值,判断所述裁剪框的四个端点是否位于所述直线方程构成的区域内,如果是,则所述裁剪框的覆盖区域完全位于待裁剪图片的图片区域内,否则不完全位于。
10.根据权利要求9所述的装置,其特征在于,所述待裁剪图片的图片区域内的一个点为所述待裁剪图片的端点。
11.根据权利要求9或10所述的装置,其特征在于,所述直线方程计算子模块,具体用于:
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,根据所述待裁剪图片的图片长度、宽度及图片的旋转角度,计算所述待裁剪图片的四条边的直线方程;
以所述待裁剪图片的图片区域内的一个点为原点建立二维直角坐标系,根据所述待裁剪图片的四个端点坐标值,计算所述待裁剪图片的四条边的直线方程。
12.根据权利要求11所述的装置,其特征在于,所述判断子模块,具体用于:
根据所述直线方程,生成对应于所述待裁剪的图片的四条边的四个函数;
将所述裁剪框的四个端点分别代入所述待裁剪的图片的四条边所对应的四个函数中;
针对每个函数,判断所述裁剪框的四个端点代入该函数的结果是否同号;
如果均同号,进一步针对每组互为对边的边所对应的两个函数,判断所述裁剪框的四个端点代入该两个函数的结果是否异号,如果均异号,则所述裁剪框的四个端点位于所述直线方程构成的区域内。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一消息提示展示模块,用于向用户展示用于提示裁剪框已超出待裁剪图片的图片区域的第一消息提示。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二消息提示展示模块,用于向用户展示用于询问是否接受系统自动将覆盖区域调整至图片区域内的第二消息提示;
触发执行模块,用于在接收到用户针对所述第二消息提示做出的肯定操作后,触发所述第二裁剪模块执行将所述裁剪框的覆盖区域调整至所述待裁剪的图片区域内的操作。
CN201510338319.XA 2015-06-17 2015-06-17 一种图片裁剪方法及装置 Active CN104881888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510338319.XA CN104881888B (zh) 2015-06-17 2015-06-17 一种图片裁剪方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510338319.XA CN104881888B (zh) 2015-06-17 2015-06-17 一种图片裁剪方法及装置

Publications (2)

Publication Number Publication Date
CN104881888A true CN104881888A (zh) 2015-09-02
CN104881888B CN104881888B (zh) 2018-07-10

Family

ID=53949371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510338319.XA Active CN104881888B (zh) 2015-06-17 2015-06-17 一种图片裁剪方法及装置

Country Status (1)

Country Link
CN (1) CN104881888B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205780A (zh) * 2015-10-19 2015-12-30 新华瑞德(北京)网络科技有限公司 图片裁剪方法和装置
CN108154464A (zh) * 2017-12-06 2018-06-12 中国科学院自动化研究所 基于强化学习的图片自动裁剪的方法及装置
CN109447072A (zh) * 2018-11-08 2019-03-08 北京金山安全软件有限公司 一种缩略图裁剪方法、装置、电子设备及可读存储介质
CN109785402A (zh) * 2018-12-12 2019-05-21 四川商通实业有限公司 一种h5图片裁剪方法
CN110334653A (zh) * 2019-07-08 2019-10-15 聚好看科技股份有限公司 视频通信中的图像处理方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517951A (zh) * 2003-01-23 2004-08-04 精工爱普生株式会社 图像编辑装置、图像的裁剪方法及程序
CN102336069A (zh) * 2010-07-16 2012-02-01 鸿富锦精密工业(深圳)有限公司 具有图片裁剪功能的打印机及其图片裁剪的方法
CN102520865A (zh) * 2011-12-19 2012-06-27 深圳桑菲消费通信有限公司 一种手机自适应图片剪裁的实现方法
CN102551748A (zh) * 2010-09-29 2012-07-11 富士胶片株式会社 图像处理装置、放射线照像图像系统及图像处理方法和程序
CN102646258A (zh) * 2011-02-21 2012-08-22 腾讯科技(深圳)有限公司 图像裁剪方法及系统
CN103268590A (zh) * 2013-05-06 2013-08-28 西南大学 一种可旋转取景框的拍照处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1517951A (zh) * 2003-01-23 2004-08-04 精工爱普生株式会社 图像编辑装置、图像的裁剪方法及程序
CN102336069A (zh) * 2010-07-16 2012-02-01 鸿富锦精密工业(深圳)有限公司 具有图片裁剪功能的打印机及其图片裁剪的方法
CN102551748A (zh) * 2010-09-29 2012-07-11 富士胶片株式会社 图像处理装置、放射线照像图像系统及图像处理方法和程序
CN102646258A (zh) * 2011-02-21 2012-08-22 腾讯科技(深圳)有限公司 图像裁剪方法及系统
CN102520865A (zh) * 2011-12-19 2012-06-27 深圳桑菲消费通信有限公司 一种手机自适应图片剪裁的实现方法
CN103268590A (zh) * 2013-05-06 2013-08-28 西南大学 一种可旋转取景框的拍照处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹升赓: "Photoshop CS6全新的裁剪工具", 《数码暗房》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205780A (zh) * 2015-10-19 2015-12-30 新华瑞德(北京)网络科技有限公司 图片裁剪方法和装置
CN105205780B (zh) * 2015-10-19 2018-09-07 大唐网络有限公司 图片裁剪方法和装置
CN108154464A (zh) * 2017-12-06 2018-06-12 中国科学院自动化研究所 基于强化学习的图片自动裁剪的方法及装置
CN108154464B (zh) * 2017-12-06 2020-09-22 中国科学院自动化研究所 基于强化学习的图片自动裁剪的方法及装置
CN109447072A (zh) * 2018-11-08 2019-03-08 北京金山安全软件有限公司 一种缩略图裁剪方法、装置、电子设备及可读存储介质
CN109785402A (zh) * 2018-12-12 2019-05-21 四川商通实业有限公司 一种h5图片裁剪方法
CN110334653A (zh) * 2019-07-08 2019-10-15 聚好看科技股份有限公司 视频通信中的图像处理方法、装置及设备

Also Published As

Publication number Publication date
CN104881888B (zh) 2018-07-10

Similar Documents

Publication Publication Date Title
CN104881888A (zh) 一种图片裁剪方法及装置
US20160154564A1 (en) Electronic device and method for providing desktop user interface
CN106648581B (zh) 页面显示方法及装置
CN104898981A (zh) 用于识别手势的方法、装置及终端
US9983764B2 (en) Method, electronic device, and non-transitory storage medium for adjusting icons
US9323436B2 (en) Utilizing drawing guides in determining the display of smart guides in a drawing program
CN105426223A (zh) 应用加载方法和装置
CN104375933A (zh) 一种单元测试方法和装置
CN103777866A (zh) 用于放大镜的数据编辑方法及装置
CN104484856A (zh) 一种图片标注显示控制方法及处理器
CN103605476A (zh) 在显示界面中选中对象的方法及装置
WO2014002518A1 (ja) 情報処理装置、認証装置、情報処理方法及び情報処理プログラム
CN104702703A (zh) 一种数据更新方法及装置
CN104679391A (zh) 智能手表的图标显示方法及装置
CN103135911B (zh) 一种信息处理方法及电子终端
CN104978114A (zh) 一种图表的显示方法、装置
CN104932774A (zh) 一种信息处理方法及电子设备
CN105630595A (zh) 一种信息处理方法及电子设备
EP3149558A1 (en) User account switching interface
CN103236042A (zh) 图片自适应处理方法及装置
CN105159682A (zh) 一种桌面对象的隐藏处理方法及电子设备
CN109407955B (zh) 用户界面交互方法、计算机装置、计算机可读存储介质
KR20150087742A (ko) 복수 객체 정렬 방법 및 장치
CN103559216A (zh) 一种输入个人信息的方法、设备
CN105353939A (zh) 一种桌面数据加载方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201123

Address after: Room 115, area C, 1 / F, building 8, yard 1, yaojiayuan South Road, Chaoyang District, Beijing 100123

Patentee after: Beijing LEMI Technology Co.,Ltd.

Address before: 100085 Beijing City, Haidian District Road 33, two floor East Xiaoying

Patentee before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230811

Address after: 3870A, 3rd Floor, Building 4, Courtyard 49, Badachu Road, Shijingshan District, Beijing, 100144

Patentee after: Beijing Jupiter Technology Co.,Ltd.

Address before: 100123 room 115, area C, 1st floor, building 8, yard 1, yaojiayuan South Road, Chaoyang District, Beijing

Patentee before: Beijing LEMI Technology Co.,Ltd.