CN104574403B - 一种智能裁剪方法 - Google Patents
一种智能裁剪方法 Download PDFInfo
- Publication number
- CN104574403B CN104574403B CN201510014616.9A CN201510014616A CN104574403B CN 104574403 B CN104574403 B CN 104574403B CN 201510014616 A CN201510014616 A CN 201510014616A CN 104574403 B CN104574403 B CN 104574403B
- Authority
- CN
- China
- Prior art keywords
- image
- cut
- wire
- quadrangular configuration
- vegetarian refreshments
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种智能裁剪方法,属于图像处理领域。所述方法包括:获取待裁剪图像,对待裁剪图像进行处理得到二值化图像,获取二值化图像中的四边形轮廓,根据四边形轮廓和目标图像的大小计算映射关系,根据映射关系对待裁剪图像进行映射处理得到映射图像,根据目标图像的大小在映射图像上裁剪得到目标图像。本发明的有益效果在于:使用本发明提供的方法,能够在一个图像上识别和裁剪出多个图像区域。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种智能裁剪方法。
背景技术
信息安全产品在生产和管理过程中,需要对产品的一些信息进行检测。现有技术中,为了提高生产管理效率,检测方法包括对产品拍照,运用OCR(Optical CharacterRecognition,光学字符识别)技术实现产品信息的智能识别和检测。但由于现有的方法采用固定坐标(即预先估算好图像的坐标直接进行裁剪)的方法,因此每次只能对一个产品进行检测,效率低,且无法实现多个产品信息关联性的检测。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种智能裁剪方法。
本发明方法是通过下述技术方案实现的:
一种智能裁剪方法,其基本实施过程如下:
所述方法包括:获取待裁剪图像,对待裁剪图像进行如下操作:
步骤S1:对待裁剪图像进行处理,得到待裁剪图像的二值化图像;
步骤S2:获取所述待裁剪图像的二值化图像中的四边形轮廓;
步骤S3:从获取到的四边形轮廓中选择一个未被处理的四边形轮廓,根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系;
步骤S4:根据所述当前映射关系对所述待裁剪图像进行映射处理,得到当前映射图像;
步骤S5:根据所述预设的目标图像的大小对所述当前映射图像进行裁剪,得到当前目标图像;
步骤S6:判断所述获取到的四边形轮廓中是否还有未被处理的四边形轮廓,是则返回步骤S3,否则结束。
所述获取待裁剪图像具体包括:获取需要进行裁剪的图像作为待裁剪图像,或者具体包括:获取需要进行裁剪的图像,根据需要进行裁剪的图像的大小和所述预设的目标图像的大小计算分割点,根据计算得到的分割点对需要进行裁剪的图像进行裁剪,将裁剪得到的各子图像作为待裁剪图像。
所述获取所述待裁剪图像的二值化图像中的四边形轮廓之后,执行所述步骤S3之前,还可以包括:根据所述预设的目标图像的大小对获取到的四边形轮廓进行筛选,得到符合所述预设目标图像的大小的四边形轮廓;此时,所述从获取到的四边形轮廓中选择一个未被处理的四边形轮廓,替换为:从所述符合所述预设目标图像的大小的四边形轮廓中选择一个未被处理的四边形轮廓;所述判断所述获取到的四边形轮廓中是否还有未被处理的四边形轮廓,替换为:判断所述符合所述预设目标图像的大小的四边形轮廓中是否还有未被处理的四边形轮廓。
所述从获取到的四边形轮廓中选择一个未被处理的四边形轮廓之后,所述根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系之前,还可以包括:判断选择的四边形轮廓是否符合所述预设的目标图像的大小,是则执行所述根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系,否则执行步骤S6;
所述判断选择的四边形轮廓是否符合所述预设的目标图像的大小,具体包括:判断选择的四边形轮廓的大小与所述预设的目标图像的大小之间的误差是否在允许的误差范围内,是则确定选择的四边形轮廓符合所述预设的目标图像的大小,否则确定选择的四边形轮廓不符合所述预设的目标图像的大小。
所述获取所述待裁剪图像的二值化图像中的四边形轮廓,具体包括:获取所述待裁剪图像的二值化图像中的所有轮廓像素点,对获取到的轮廓像素点根据位置进行分组,根据分组得到的各组轮廓像素点分别得到一个四边形轮廓;
所述获取所述待裁剪图像的二值化图像中的所有轮廓像素点,具体包括:依次获取所述待裁剪图像的二值化图像中的各像素点,并判断以当前获取的像素点为起点预设范围内的像素点的像素值是否均相同,是则确定当前获取的像素点是轮廓像素点,否则确定当前获取的像素点不是轮廓像素点;
所述对获取到的轮廓像素点根据位置进行分组,具体包括:
步骤a1、创建当前轮廓像素点组,获取一个未分组的轮廓像素点加入当前轮廓像素点组;
步骤a2、判断是否还有未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点,是则执行步骤a3,否则执行步骤a6;
步骤a3、获取一个未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点;
步骤a4、判断当前获取的轮廓像素点与当前轮廓像素点组中的各轮廓像素点间的距离是否均小于预设距离,是则执行步骤a5,否则返回步骤a2;
步骤a5、将当前获取的轮廓像素点加入当前轮廓像素点组,返回步骤a2;
步骤a6、保存当前轮廓像素点组;
步骤a7、判断是否还有未分组的轮廓像素点,是则返回步骤a1,否则分组结束,执行所述根据分组得到的各组轮廓像素点分别得到一个四边形轮廓;
所述根据分组得到的各组轮廓像素点分别得到一个四边形轮廓,具体包括对分组得到的各组轮廓像素点分别执行以下操作:
步骤b1、将轮廓像素点组按照预设条件划分为四个小组;
步骤b2、分别对四个小组中的轮廓像素点根据最小二乘法进行直线拟合,得到四条直线;
步骤b3、计算四条直线中每两条直线的交点,根据计算得到的四个交点得到一个四边形轮廓;
所述预设条件具体为:x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y>(Ymax+Ymin)/2、
x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y<(Ymax+Ymin)/2、
y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x>(Xmax+Xmin)/2、
y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x<(Xmax+Xmin)/2;
所述x表示轮廓像素点在所述二值化图像中与所述二值化图像的左上顶点处的像素点之间的横向距离,所述y表示轮廓像素点在所述二值化图像中与所述二值化图像的左上顶点处的像素点之间的纵向距离,所述Xmax表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最大横向距离,所述Xmin表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最小横向距离,所述Ymax表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最大纵向距离,所述Ymin表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最小纵向距离。
所述根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系,具体包括:计算选择的四边形轮廓的预设顶点的坐标,根据所述预设的目标图像的大小得到目标图像的预设顶点的坐标,根据选择的四边形轮廓的预设顶点的坐标和目标图像的预设顶点的坐标计算得到映射关系;
所述选择的四边形轮廓的预设顶点的坐标为:左上顶点坐标(x1,y1)、左下顶点坐标(x2,y2)、右下顶点坐标(x3,y3),所述目标图像的预设顶点的坐标为:左上顶点坐标(m1,n1)、左下顶点坐标(m2,n2)、右上顶点坐标(m3,n3),所述映射关系为F4(x,y)=(x*m/F3(x3),y*n/F3(y1)),其中, F1(x,y)=(x+(m2-x2),y+(n2-y2))。
所述根据所述当前映射关系对所述待裁剪图像进行映射处理,得到当前映射图像,具体包括:根据所述当前映射关系对所述待裁剪图像中的像素点进行平移,并删除平移到图像边界之外的像素点,得到当前映射图像。
所述根据所述预设的目标图像的大小对所述当前映射图像进行裁剪,得到当前目标图像,具体包括:裁剪所述当前映射图像上预设位置处的大小等于所述预设的目标图像的大小的图像,得到当前目标图像。
本发明方法的有益效果在于,使用本发明提供的方法,能够在一个图像上识别和裁剪出多个图像区域,再运用现有技术对识别出的多个图像区域进行检测,可实现一次对多个产品的信息的检测,更可以实现对同时检测的各产品的信息的关联性的检测,提高了生产和管理效率。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种智能裁剪方法的流程图;
图2为待裁剪图像的示例图;
图3为待裁剪图像的二值化图像的示例图;
图4为映射图像的示例图;
图5为裁剪得到的一个目标图像的示例图;
图6为本发明实施例二提供的一种智能裁剪方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种智能裁剪方法,如图1所示,所述方法具体包括:
步骤101、获取需要进行裁剪的图像,将获取到的图像作为待裁剪图像;
具体地,需要进行裁剪的图像可以是通过相机拍照获得的图像,也可以是视频中的一帧图像,需要进行裁剪的图像的格式可以为BMP、JPG等,本实施例中,对需要进行裁剪的图像的来源和格式不做具体限定。
步骤102、对待裁剪图像进行处理,得到待裁剪图像的二值化图像;
具体地,对待裁剪图像进行的处理包括但不限于二值化处理,具体根据待裁剪图像的格式而定,例如,若待裁剪图像为灰度图像,则对待裁剪图像进行二值化处理,得到待裁剪图像的二值化图像,若待裁剪图像为彩色图像,则对待裁剪图像进行灰度化处理和二值化处理,得到待裁剪图像的二值化图像;
其中,以待裁剪图像为RGB颜色模型为例,灰度化处理包括:根据RGB色对待裁剪图像进行颜色通道分离,得到三幅分别代表R、G和B的图像,根据分离得到的三幅图像得到灰度化图像;其中,根据分离得到的三幅图像得到灰度化图像包括:比较分离得到的三幅图像的清晰度,选取清晰度最高的一幅图像作为灰度化图像,或者包括:根据人体视觉对红绿色敏感度的比例对分离得到的三幅图像进行合并,合并后的图像作为灰度化图像,其中,现在公认的人体视觉对红绿色敏感度有多个比例,优选地,本实施例中使用的比例为R:0.299,G:0.587,B:0.114;
二值化处理包括:将灰度化图像中像素值高于设定值的像素点的像素值更改为255,将图像中像素值低于设定值的像素点的像素值更改为0,其中,设定值为预先确定的,其确定过程可以为:根据预先设定的估计值对灰度化图像进行二值化处理,从处理后的图像中获取所有的四边形轮廓,根据获取到的四边形轮廓生成背景为空白的四边形轮廓图像,根据四边形轮廓的大小、位置、清晰度以及图像的噪点数量在估计值的预设范围内反复调整估计值,直至噪点较少、且四边形轮廓大小、位置、清晰度最优时,确定当前的估计值为设定值,其中,估计值的预设范围为0-255。
步骤103、获取待裁剪图像的二值化图像中的四边形轮廓;
具体地,步骤103包括:
步骤103-1、获取待裁剪图像的二值化图像中的所有轮廓像素点;
步骤103-1具体包括:依次获取待裁剪图像的二值化图像中的各像素点,并判断以当前获取的像素点为起点预设范围内的像素点的像素值是否均相同,是则当前获取的像素点是轮廓像素点,否则当前获取的像素点不是轮廓像素点。
优选地,预设范围为2*2个像素点,以当前获取的像素点为起点预设范围内的像素点包括:当前获取的像素点,位于当前获取的像素点右方的像素点,位于当前获取的像素点下方的像素点,和位于当前获取的像素点右下方的像素点。
步骤103-2、根据轮廓像素点的位置对轮廓像素点进行分组;
本实施例中,将位置相近的轮廓像素点分为一组,步骤103-2具体包括:
步骤a1、创建当前轮廓像素点组,获取一个未分组的轮廓像素点加入当前轮廓像素点组;
步骤a2、判断是否还有未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点,是则执行步骤a3,否则执行步骤a6;
步骤a3、获取一个未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点;
步骤a4、判断当前获取的轮廓像素点与当前轮廓像素点组中的各轮廓像素点间的距离是否均小于预设距离,是则执行步骤a5,否则返回步骤a2;
预设距离可以为间隔1个像素点。
步骤a5、将当前获取的轮廓像素点加入当前轮廓像素点组,返回步骤a2;
步骤a6、保存当前轮廓像素点组;
步骤a7、判断是否还有未分组的轮廓像素点,是则返回步骤a1,否则分组结束。
步骤103-3、根据每组轮廓像素点分别得到一个四边形轮廓;
步骤103-3具体包括,对每组轮廓像素点执行下述步骤b1至步骤b3:
步骤b1、将轮廓像素点组按照四个预设条件划分为四个小组;
四个预设条件分别为:x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y>(Ymax+Ymin)/2、
x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y<(Ymax+Ymin)/2、
y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x>(Xmax+Xmin)/2、
y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x<(Xmax+Xmin)/2
,其中,x代表轮廓像素点在待裁剪图像的二值化图像中与待裁剪图像的二值化图像的左上顶点处的像素点之间的横向距离,y代表轮廓像素点在待裁剪图像的二值化图像中与待裁剪图像的二值化图像的左上顶点处的像素点之间的纵向距离,Xmax代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最大横向距离,Xmin代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最小横向距离,Ymax代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最大纵向距离,Ymin代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最小纵向距离。
步骤b2、分别对四个小组中的轮廓像素点根据最小二乘法进行直线拟合,得到四条直线;
步骤b3、计算四条直线中每两条直线的交点,根据计算得到的四个交点得到一个四边形轮廓。
步骤104、判断四边形轮廓的数量是否为零,是则结束,否则执行步骤105;
步骤105、获取一个四边形轮廓,判断获取的四边形轮廓是否符合预设的目标图像的大小,是则执行步骤106,否则执行步骤109;
具体地,可以按照预设规则获取四边形轮廓,也可以随机获取四边形轮廓,预设规则可以为从上到下,从左到右等;
判断获取的四边形轮廓是否符合预设的目标图像的大小,具体包括:判断获取的四边形轮廓的大小与预设的目标图像的大小之间的误差是否在允许的误差范围内,是则获取的四边形轮廓符合预设的目标图像的大小,否则获取的四边形轮廓不符合预设的目标图像的大小。
步骤106、根据获取的四边形轮廓和预设的目标图像的大小计算映射关系;
本实施例中,步骤106可以具体包括:计算四边形轮廓的预设顶点的坐标,根据预设的目标图像的大小得到目标图像的预设顶点的坐标,根据四边形轮廓的预设顶点的坐标和目标图像的预设顶点的坐标计算得到映射关系;
例如,四边形轮廓的预设顶点的坐标为:左上顶点坐标(x1,y1)、左下顶点坐标(x2,y2)、右下顶点坐标(x3,y3),目标图像的预设顶点的坐标为:左上顶点坐标(m1,n1)、左下顶点坐标(m2,n2)、右上顶点坐标(m3,n3),计算得到的映射关系为F4(x,y)=(x*m/F3(x3),y*n/F3(y1)),其中, F1(x,y)=(x+(m2-x2),y+(n2-y2))。
步骤107、根据计算得到的映射关系对待裁剪图像进行映射处理,得到映射图像;
步骤107具体包括:根据映射关系对待裁剪图像中的像素点进行平移,并删除平移到图像边界之外的像素点,得到映射图像。
步骤108、根据预设的目标图像的大小在映射图像上裁剪得到目标图像;
步骤108具体包括:裁剪映射图像上预设位置处大小等于预设的目标图像的大小的图像,得到目标图像。
步骤109、判断是否还有未处理的四边形轮廓,是则返回步骤105,否则结束。
例如,本实施例中,待裁剪图像为如图2所示的图像,对待裁剪图像进行处理,得到如图3所示的待裁剪图像的二值化图像,根据依待裁剪图像的二值化图像中的一个四边形轮廓计算得到的映射关系对待裁剪图像进行映射处理,得到如图4所示的映射图像,在如图4所示的映射图像上裁剪出如图5所示的目标图像。
实施例二
本发明实施例二提供一种智能裁剪方法,如图6所示,所述方法具体包括:
步骤201、获取需要进行裁剪的图像;
具体地,需要进行裁剪的图像可以是通过相机拍照获得的图像,也可以是视频中的一帧图像,需要进行裁剪的图像的格式可以为BMP、JPG等,本实施例中,对需要进行裁剪的图像的来源和格式不做具体限定。
步骤202、根据获取到的图像的大小和预设的目标图像的大小寻找分割点;
步骤203、根据分割点对获取到的图像进行裁剪,将裁剪得到的各子图像分别作为一个待裁剪图像;
步骤204、获取一个待裁剪图像,对获取的待裁剪图像进行处理,得到待裁剪图像的二值化图像;
具体地,对获取的待裁剪图像进行的处理包括但不限于二值化处理,具体根据待裁剪图像的格式而定,例如,若获取的待裁剪图像为灰度图像,则对获取的待裁剪图像进行二值化处理,得到待裁剪图像的二值化图像,若获取的待裁剪图像为彩色图像,则对获取的待裁剪图像进行灰度化处理和二值化处理,得到待裁剪图像的二值化图像。
步骤205、获取待裁剪图像的二值化图像中的四边形轮廓;
具体地,步骤205包括:
步骤205-1、获取待裁剪图像的二值化图像中的所有轮廓像素点;
步骤205-1具体包括:依次获取待裁剪图像的二值化图像中的各像素点,并判断以当前获取的像素点为起点预设范围内的像素点的像素值是否均相同,是则当前获取的像素点是轮廓像素点,否则当前获取的像素点不是轮廓像素点。
优选地,预设范围为2*2个像素点,以当前获取的像素点为起点预设范围内的像素点包括:当前获取的像素点,位于当前获取的像素点右方的像素点,位于当前获取的像素点下方的像素点,和位于当前获取的像素点右下方的像素点。
步骤205-2、根据轮廓像素点的位置对轮廓像素点进行分组;
本实施例中,将位置相近的轮廓像素点分为一组,步骤205-2具体包括:
步骤a1、创建当前轮廓像素点组,获取一个未分组的轮廓像素点加入当前轮廓像素点组;
步骤a2、判断是否还有未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点,是则执行步骤a3,否则执行步骤a6;
步骤a3、获取一个未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点;
步骤a4、判断当前获取的轮廓像素点与当前轮廓像素点组中的各轮廓像素点间的距离是否均小于预设距离,是则执行步骤a5,否则返回步骤a2;
步骤a5、将当前获取的轮廓像素点加入当前轮廓像素点组,返回步骤a2;
步骤a6、保存当前轮廓像素点组;
步骤a7、判断是否还有未分组的轮廓像素点,是则返回步骤a1,否则分组结束。
步骤205-3、根据每组轮廓像素点分别得到一个四边形轮廓;
步骤205-3具体包括,对每组轮廓像素点执行下述步骤b1至步骤b3:
步骤b1、将轮廓像素点组按照四个预设条件划分为四个小组;
四个预设条件分别为:x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y>(Ymax+Ymin)/2、
x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y<(Ymax+Ymin)/2、
y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x>(Xmax+Xmin)/2、
y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x<(Xmax+Xmin)/2
,其中,x代表轮廓像素点在待裁剪图像的二值化图像中与待裁剪图像的二值化图像的左上顶点处的像素点之间的横向距离,y代表轮廓像素点在待裁剪图像的二值化图像中与待裁剪图像的二值化图像的左上顶点处的像素点之间的纵向距离,Xmax代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最大横向距离,Xmin代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最小横向距离,Ymax代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最大纵向距离,Ymin代表一组轮廓像素点中与待裁剪图像的二值化图像的左上顶点处的像素点间的最小纵向距离。
步骤b2、分别对四个小组中的轮廓像素点根据最小二乘法进行直线拟合,得到四条直线;
步骤b3、计算四条直线中每两条直线的交点,根据计算得到的四个交点得到一个四边形轮廓。
步骤206、删除不符合预设的目标图像的大小的四边形轮廓;
具体地,删除不符合预设的目标图像的大小的四边形轮廓,包括:删除与预设的目标图像的大小之间的误差不在允许的误差范围内的四边形轮廓。
步骤207、判断剩余四边形轮廓的数量是否为零,是则执行步骤212,否则执行步骤208;
步骤208、获取一个四边形轮廓,根据获取的四边形轮廓和预设的目标图像的大小计算映射关系;
本实施例中,步骤208可以具体包括:计算四边形轮廓的预设顶点的坐标,根据预设的目标图像的大小得到目标图像的预设顶点的坐标,根据四边形轮廓的预设顶点的坐标和目标图像的预设顶点的坐标计算得到映射关系;
例如,四边形轮廓的预设顶点的坐标为:左上顶点坐标(x1,y1)、左下顶点坐标(x2,y2)、右下顶点坐标(x3,y3),目标图像的预设顶点的坐标为:左上顶点坐标(m1,n1)、左下顶点坐标(m2,n2)、右上顶点坐标(m3,n3),计算得到的映射关系为F4(x,y)=(x*m/F3(x3),y*n/F3(y1)),其中, F1(x,y)=(x+(m2-x2),y+(n2-y2))。
步骤209、根据计算得到的映射关系对待裁剪图像进行映射处理,得到映射图像;
步骤209具体包括:根据映射关系对待裁剪图像中的像素点进行平移,并删除平移到图像边界之外的像素点,得到映射图像。
步骤210、根据预设的目标图像的大小在映射图像上裁剪得到目标图像;
步骤210具体包括:裁剪映射图像上预设位置处大小等于预设的目标图像的大小的图像,得到目标图像。
步骤211、判断是否还有未处理的四边形轮廓,是则返回步骤208,否则执行步骤212;
步骤212、判断是否还有未处理的待裁剪图像,是则返回步骤204,否则结束。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (13)
1.一种智能裁剪方法,其特征在于,所述方法包括获取待裁剪图像,对待裁剪图像进行如下操作:
步骤S1:对待裁剪图像进行处理,得到待裁剪图像的二值化图像;
步骤S2:获取所述待裁剪图像的二值化图像中的四边形轮廓;
步骤S3:从获取到的四边形轮廓中选择一个未被处理的四边形轮廓,根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系;
步骤S4:根据所述当前映射关系对所述待裁剪图像进行映射处理,得到当前映射图像;
步骤S5:根据所述预设的目标图像的大小对所述当前映射图像进行裁剪,得到当前目标图像;
步骤S6:判断所述获取到的四边形轮廓中是否还有未被处理的四边形轮廓,是则返回步骤S3,否则结束;
所述根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系,具体包括:计算选择的四边形轮廓的预设顶点的坐标,根据所述预设的目标图像的大小得到目标图像的预设顶点的坐标,根据选择的四边形轮廓的预设顶点的坐标和目标图像的预设顶点的坐标计算得到映射关系。
2.如权利要求1所述的方法,其特征在于,所述获取待裁剪图像具体包括:获取需要进行裁剪的图像作为待裁剪图像,或者具体包括:获取需要进行裁剪的图像,根据需要进行裁剪的图像的大小和所述预设的目标图像的大小计算分割点,根据计算得到的分割点对需要进行裁剪的图像进行裁剪,将裁剪得到的各子图像作为待裁剪图像。
3.如权利要求1所述的方法,其特征在于,所述获取所述待裁剪图像的二值化图像中的四边形轮廓之后,执行所述步骤S3之前,还包括:根据所述预设的目标图像的大小对获取到的四边形轮廓进行筛选,得到符合所述预设目标图像的大小的四边形轮廓;
所述从获取到的四边形轮廓中选择一个未被处理的四边形轮廓,替换为:从所述符合所述预设目标图像的大小的四边形轮廓中选择一个未被处理的四边形轮廓;
所述判断所述获取到的四边形轮廓中是否还有未被处理的四边形轮廓,替换为:判断所述符合所述预设目标图像的大小的四边形轮廓中是否还有未被处理的四边形轮廓。
4.如权利要求1所述的方法,其特征在于,所述从获取到的四边形轮廓中选择一个未被处理的四边形轮廓之后,所述根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系之前,还包括:判断选择的四边形轮廓是否符合所述预设的目标图像的大小,是则执行所述根据选择的四边形轮廓和预设的目标图像的大小计算当前映射关系,否则执行步骤S6。
5.如权利要求4所述的方法,其特征在于,所述判断选择的四边形轮廓是否符合所述预设的目标图像的大小,具体包括:判断选择的四边形轮廓的大小与所述预设的目标图像的大小之间的误差是否在允许的误差范围内,是则确定选择的四边形轮廓符合所述预设的目标图像的大小,否则确定选择的四边形轮廓不符合所述预设的目标图像的大小。
6.如权利要求1所述的方法,其特征在于,所述获取所述待裁剪图像的二值化图像中的四边形轮廓,具体包括:获取所述待裁剪图像的二值化图像中的所有轮廓像素点,对获取到的轮廓像素点根据位置进行分组,根据分组得到的各组轮廓像素点分别得到一个四边形轮廓。
7.如权利要求6所述的方法,其特征在于,所述获取所述待裁剪图像的二值化图像中的所有轮廓像素点,具体包括:依次获取所述待裁剪图像的二值化图像中的各像素点,并判断以当前获取的像素点为起点预设范围内的像素点的像素值是否均相同,是则确定当前获取的像素点是轮廓像素点,否则确定当前获取的像素点不是轮廓像素点。
8.如权利要求6所述的方法,其特征在于,所述对获取到的轮廓像素点根据位置进行分组,具体包括:
步骤a1、创建当前轮廓像素点组,获取一个未分组的轮廓像素点加入当前轮廓像素点组;
步骤a2、判断是否还有未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点,是则执行步骤a3,否则执行步骤a6;
步骤a3、获取一个未与当前轮廓像素点组进行相近判断的未分组的轮廓像素点;
步骤a4、判断当前获取的轮廓像素点与当前轮廓像素点组中的各轮廓像素点间的距离是否均小于预设距离,是则执行步骤a5,否则返回步骤a2;
步骤a5、将当前获取的轮廓像素点加入当前轮廓像素点组,返回步骤a2;
步骤a6、保存当前轮廓像素点组;
步骤a7、判断是否还有未分组的轮廓像素点,是则返回步骤a1,否则分组结束,执行所述根据分组得到的各组轮廓像素点分别得到一个四边形轮廓。
9.如权利要求6所述的方法,其特征在于,所述根据分组得到的各组轮廓像素点分别得到一个四边形轮廓,具体包括对分组得到的各组轮廓像素点分别执行以下操作:
步骤b1、将轮廓像素点组按照预设条件划分为四个小组;
步骤b2、分别对四个小组中的轮廓像素点根据最小二乘法进行直线拟合,得到四条直线;
步骤b3、计算四条直线中每两条直线的交点,根据计算得到的四个交点得到一个四边形轮廓。
10.如权利要求9所述的方法,其特征在于,所述预设条件具体为:x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y>(Ymax+Ymin)/2、x>Xmin+(Xmax-Xmin)/4且x<Xmax-(Xmax-Xmin)/4且y<(Ymax+Ymin)/2、y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x>(Xmax+Xmin)/2、y>Ymin+(Ymax-Ymin)/4且Y>Ymax-(Ymax-Ymin)/4且x<(Xmax+Xmin)/2;所述x表示轮廓像素点在所述二值化图像中与所述二值化图像的左上顶点处的像素点之间的横向距离,所述y表示轮廓像素点在所述二值化图像中与所述二值化图像的左上顶点处的像素点之间的纵向距离,所述Xmax表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最大横向距离,所述Xmin表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最小横向距离,所述Xmax表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最大纵向距离,所述Xmin表示一组轮廓像素点中与所述二值化图像的左上顶点处的像素点间的最小纵向距离。
11.如权利要求1所述的方法,其特征在于,所述选择的四边形轮廓的预设顶点的坐标为:左上顶点坐标(x1,y1)、左下顶点坐标(x2,y2)、右下顶点坐标(x3,y3),所述目标图像的预设顶点的坐标为:左上顶点坐标(m1,n1)、左下顶点坐标(m2,n2)、右上顶点坐标(m3,n3),所述映射关系为F4(x,y)=(x*m/F3(x3),y*n/F3(y1)),其中, F1(x,y)=(x+(m2-x2),y+(n2-y2))。
12.如权利要求1所述的方法,其特征在于,所述根据所述当前映射关系对所述待裁剪图像进行映射处理,得到当前映射图像,具体包括:根据所述当前映射关系对所述待裁剪图像中的像素点进行平移,并删除平移到图像边界之外的像素点,得到当前映射图像。
13.如权利要求1所述的方法,其特征在于,所述根据所述预设的目标图像的大小对所述当前映射图像进行裁剪,得到当前目标图像,具体包括:裁剪所述当前映射图像上预设位置处的大小等于所述预设的目标图像的大小的图像,得到当前目标图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510014616.9A CN104574403B (zh) | 2015-01-12 | 2015-01-12 | 一种智能裁剪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510014616.9A CN104574403B (zh) | 2015-01-12 | 2015-01-12 | 一种智能裁剪方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104574403A CN104574403A (zh) | 2015-04-29 |
CN104574403B true CN104574403B (zh) | 2017-09-22 |
Family
ID=53090375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510014616.9A Active CN104574403B (zh) | 2015-01-12 | 2015-01-12 | 一种智能裁剪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104574403B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105654531B (zh) * | 2015-12-30 | 2019-01-08 | 北京金山安全软件有限公司 | 一种图像轮廓的绘制方法及装置 |
CN105976396A (zh) * | 2016-04-27 | 2016-09-28 | 梧州市自动化技术研究开发院 | 用于视频图像识别在传送带上运动物体的方法 |
CN108111914B (zh) * | 2016-11-24 | 2020-11-03 | 阿里巴巴(中国)有限公司 | 视频播放区域识别方法、装置及媒体播放设备 |
CN109145751A (zh) * | 2018-07-23 | 2019-01-04 | 安徽淘云科技有限公司 | 翻页检测方法及装置 |
CN110830846B (zh) * | 2018-08-07 | 2022-02-22 | 阿里巴巴(中国)有限公司 | 一种视频裁剪方法及服务器 |
CN110449658B (zh) * | 2019-08-09 | 2020-12-22 | 广东三维家信息科技有限公司 | 板材开料方法及装置 |
CN114549551A (zh) * | 2022-02-15 | 2022-05-27 | Oppo广东移动通信有限公司 | 图像的裁剪方法与装置、终端及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794267A (zh) * | 2005-12-29 | 2006-06-28 | 兆日科技(深圳)有限公司 | 用于防伪信息识别过程中矩形框定位的方法 |
CN104217444A (zh) * | 2013-06-03 | 2014-12-17 | 支付宝(中国)网络技术有限公司 | 定位卡片区域的方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898316B2 (en) * | 2001-11-09 | 2005-05-24 | Arcsoft, Inc. | Multiple image area detection in a digital image |
JP5510341B2 (ja) * | 2011-01-13 | 2014-06-04 | 富士通株式会社 | 領域発見装置、領域発見プログラム及び領域発見方法 |
-
2015
- 2015-01-12 CN CN201510014616.9A patent/CN104574403B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794267A (zh) * | 2005-12-29 | 2006-06-28 | 兆日科技(深圳)有限公司 | 用于防伪信息识别过程中矩形框定位的方法 |
CN104217444A (zh) * | 2013-06-03 | 2014-12-17 | 支付宝(中国)网络技术有限公司 | 定位卡片区域的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104574403A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104574403B (zh) | 一种智能裁剪方法 | |
CN107704801B (zh) | 基于分段直线加分段贝塞尔曲线的曲线车道线检测方法 | |
CN105354806B (zh) | 基于暗通道的快速去雾方法及系统 | |
US10082491B2 (en) | Pearl grading method | |
CN105678749B (zh) | 一种基于视觉的鲜鱼方向判别方法 | |
CN103699900B (zh) | 卫星影像中建筑物水平矢量轮廓自动批量提取方法 | |
CN102096802B (zh) | 人脸检测方法及装置 | |
CN109800619A (zh) | 成熟期柑橘果实图像识别方法 | |
CN107403435A (zh) | 一种基于rgb颜色空间的彩色图像边缘提取方法 | |
CN105654097A (zh) | 图像中四边形标记物的检测方法 | |
CN106327448A (zh) | 一种基于深度学习的图片风格化处理方法 | |
CN108182671A (zh) | 一种基于天空区域识别的单幅图像去雾方法 | |
CN103065287B (zh) | 基于hsl空间和自适应反双曲正切函数的图像增强方法 | |
CN101464953A (zh) | 轮廓提取装置和轮廓提取方法 | |
CN106501271A (zh) | 产品外观检测方法 | |
CN109035377A (zh) | 用于获得适用于激光雕刻的浮雕素描效果图像处理方法 | |
CN106897989B (zh) | 一种基于线密度计算的指纹图像分割方法 | |
CN106346137B (zh) | 竹筷全自动激光雕刻方法 | |
CN104091166A (zh) | 一种车道线边缘提取的动态阈值方法 | |
CN105719304B (zh) | 一种基于Otsu的花朵图像分割方法 | |
CN110705568B (zh) | 一种图像特征点提取的优化方法 | |
CN105740864B (zh) | 一种基于lbp的图像特征提取方法 | |
CN109977946B (zh) | 一种基于机器视觉的榛子轴向识别方法 | |
CN106251311A (zh) | 一种十字架的特征提取算法 | |
CN106504200A (zh) | 基于色调偏移估计及逐点色调映射的图像光照补偿方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |