CN116703701B - 一种图片裁剪方法及电子设备 - Google Patents
一种图片裁剪方法及电子设备 Download PDFInfo
- Publication number
- CN116703701B CN116703701B CN202211620168.3A CN202211620168A CN116703701B CN 116703701 B CN116703701 B CN 116703701B CN 202211620168 A CN202211620168 A CN 202211620168A CN 116703701 B CN116703701 B CN 116703701B
- Authority
- CN
- China
- Prior art keywords
- boundary
- region
- original picture
- face
- clipping
- 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
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000001514 detection method Methods 0.000 claims abstract description 19
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种图片裁剪方法及电子设备,涉及图像处理技术领域,可使得被裁剪后的图片以人脸为中心,且人脸不存在变形的问题。该方法包括:获取原始图片;对原始图片进行人脸检测,得到人脸区域,人脸区域为覆盖原始图片中所有人脸的最小区域,人脸区域小于等于原始图片所在区域;以人脸区域为中心,根据人脸区域和原始图片的比例确定第一裁剪区域,第一裁剪区域为原始图片中覆盖人脸区域的区域,且第一裁剪区域的比例与原始图片的比例一致,第一裁剪区域大于或等于人脸区域;按照第一裁剪区域对原始图片进行裁剪,生成第一裁剪图片。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图片裁剪方法及电子设备。
背景技术
随着互联网技术的发展,手机、平板电脑等电子设备一般都安装有很多应用程序(application,APP),如相机应用、聊天应用等。人们可以利用相机应用进行拍照或摄像,或者利用聊天应用进行视频聊天等。相机应用、聊天应用等大多具备人脸自动对焦功能,该人脸自动对焦功能是指电子设备采集原始图片后,对该原始图片进行裁剪,然后将裁剪后的图片放大至原始图片的大小并进行显示,使得人物处于画面中心,可避免用户手动调节摄像头角度。
现有技术提供的裁剪方法主要是采用人脸居中裁剪的方式,该方式需要先识别出原始图片中的人脸区域,再以人脸区域对原始图片进行裁剪。但由于人脸区域尺寸的不可控,容易导致裁剪后得到的裁剪图片比例不可控,进一步导致放大后的裁剪图片存在人脸变形的问题,裁剪效果较差。
发明内容
本申请实施例提供一种图片裁剪方法及电子设备,用于解决对图片进行裁剪后人脸变形的问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请提供一种图片裁剪方法,方法包括:获取原始图片;对原始图片进行人脸检测,得到人脸区域,人脸区域为覆盖原始图片中所有人脸的最小区域,人脸区域小于等于原始图片所在区域;以人脸区域为中心,根据人脸区域和原始图片的比例确定第一裁剪区域,第一裁剪区域为原始图片中覆盖人脸区域的区域,且第一裁剪区域的比例与原始图片的比例一致,第一裁剪区域大于或等于人脸区域;按照第一裁剪区域对原始图片进行裁剪,生成第一裁剪图片。
可以理解地,由于第一裁剪区域的比例与原始图片的比例一致,可以确保最终得到的第一裁剪图片的比例与原始图片的比例一致,从而避免由于裁剪比例不合适导致图像在不同方向上拉伸不一致导致的人脸变形问题,确保裁剪图片的质量。
在第一方面提供的一种实施方式中,对原始图片进行人脸检测,得到人脸区域,包括:对原始图片进行人脸检测,得到至少一个人脸子区域的位置信息,每个人脸子区域是覆盖原始图片中一个人脸的最小区域;根据至少一个人脸子区域的位置信息,确定人脸区域的位置信息。
在第一方面提供的一种实施方式中,一个区域的位置信息包括该区域的第一距离、第二距离、第三距离以及第四距离,第一距离为区域的左边界到原始图片的左边界的像素距离,第二距离为区域的右边界到原始图片的右边界的像素距离,第三距离为区域的上边界到原始图片的上边界的像素距离,第四距离为区域的下边界到原始图片的下边界的像素距离;根据至少一个人脸子区域的位置信息,确定人脸区域的位置信息,包括:将至少一个人脸子区域的位置信息中最小的第一距离、最小的第二距离、最小的第三距离以及最小的第四距离分别作为人脸区域的第一距离、第二距离、第三距离以及第四距离,以得到人脸区域的位置信息。这样一来,可使得人脸区域刚好覆盖所有人脸。
在第一方面提供的一种实施方式中,一个区域的位置信息包括该区域对角线上的两个顶点的坐标;根据至少一个人脸子区域的位置信息,确定人脸区域的位置信息,包括:根据至少一个人脸子区域的位置信息中最小的横坐标值、最小的纵坐标值、最大的横坐标值以及最大的纵坐标值确定的坐标作为人脸区域的位置信息。这样一来,可使得人脸区域刚好覆盖所有人脸。
在第一方面提供的一种实施方式中,第一裁剪区域为原始图片中覆盖人脸区域的最小区域,且第一裁剪区域的比例与原始图片的比例一致。可以理解地,本实施方式提供的第一裁剪区域中,人脸图像的占比最大,可使根据该第一裁剪区域进行裁剪的图片更加清晰。
在第一方面提供的一种实施方式中,以人脸区域为中心,根据人脸区域和原始图片的比例确定第一裁剪区域,包括:获取n个区域;其中,n个区域的尺寸依次增大,一个区域的尺寸包括该区域的宽度和高度,n个区域的比例与原始图片的比例相同,且第i个区域的宽度为第1个区域的宽度的i倍,i≤n;若第i个区域的尺寸不足以覆盖人脸区域,且第i+1个区域的尺寸足以覆盖人脸区域,将第i+1个区域的尺寸确定为第一裁剪区域的尺寸;根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一裁剪区域的位置。这样一来,可使得第一裁剪区域是所有覆盖人脸区域中最小的且比例与原始图片的比例一致的区域。
在第一方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一裁剪区域的位置,包括:根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距;其中,第一间距与第二间距的和为第一数值,第三间距与第四间距的和为第二数值,第一间距、第二间距、第三间距及第四间距为正整数;以人脸区域的上边界向上移动第三间距后的边界作为第一裁剪区域的上边界,以人脸区域的下边界向下移动第四间距后的边界作为第一裁剪区域的下边界;根据人脸区域的左边界、人脸区域的右边界、第一间距及第二间距确定第一裁剪区域的左边界和右边界;根据第一裁剪区域的左边界、右边界、上边界以及下边界确定第一裁剪区域的位置。
在第一方面提供的一种实施方式中,原始图片为YUYV格式或UYVY格式,第一裁剪区域的左边界到原始图片的左边界的像素距离为偶数,第一裁剪区域的右边界到原始图片的右边界的像素距离为偶数。这样一来,可避免裁剪过程中将共用同一U、V分量的两个像素分开,使得第一裁剪图片中每个像素的Y、U、V分量都是完整的,进而减少第一裁剪图片出现色彩偏差的概率。
在第一方面提供的一种实施方式中,根据人脸区域的左边界、人脸区域的右边界、第一间距及第二间距确定第一裁剪区域的左边界和右边界,包括:以人脸区域的左边界向左移动第一间距后得到第一边界;若第一边界到原始图片的左边界的像素距离为奇数,将第一边界左移或右移一个像素后的边界作为第一裁剪区域的左边界,以第一裁剪区域的左边界向右移动i+1个区域的宽度后的边界作为第一裁剪区域的右边界;若第一边界到原始图片的左边界的像素距离为偶数,将第一边界作为第一裁剪区域的左边界,以人脸区域的右边界向右移动第二间距后的边界作为第一裁剪区域的右边界。这样可确保第一裁剪区域的左边界到原始图片的左边界的像素距离为偶数,第一裁剪区域的右边界到原始图片的右边界的像素距离为偶数。
在第一方面提供的一种实施方式中,原始图片不为YUYV格式及UYVY格式,根据人脸区域的左边界、人脸区域的右边界、第一间距及第二间距确定第一裁剪区域的左边界和右边界,包括:以人脸区域的左边界向左移动第一间距后的边界作为第一裁剪区域的左边界,以人脸区域的右边界向右移动第二间距后的边界作为第一裁剪区域的右边界。
在第一方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的左边界与原始图片的左边界重合或人脸区域的左边界到原始图片的左边界的像素距离小于第三数值,确定第一间距为0,确定第二间距为第一数值。可以理解地,在人脸区域的左边界与原始图片的左边界重合的情况下,人脸区域的左边界继续向左移动会超出原始图片的左边界。在人脸区域的左边界到原始图片的左边界的像素距离小于第三数值的情况下,人脸区域的左边界向左移动第一数值的一半后也会超出原始图片的左边界。因此可确定第一间距为0,进而确定第二间距为第一数值减去0,即为第一数值。
在第一方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的右边界与原始图片的右边界重合或人脸区域的右边界到原始图片的右边界的像素距离小于第三数值,确定第二间距为0。可以理解地,在人脸区域的右边界与原始图片的右边界重合的情况下,人脸区域的右边界继续向右移动会超出原始图片的右边界。在人脸区域的右边界到原始图片的右边界的像素距离小于第三数值的情况下,人脸区域的右边界向右移动第一数值的一半后也会超出原始图片的右边界。因此可确定第二间距为0,进而确定第一间距为第一数值减去0,即为第一数值。
在第一方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的上边界与原始图片的上边界重合或人脸区域的上边界到原始图片的上边界的像素距离小于第四数值,确定第三间距为0,确定第四间距为第二数值。
在第一方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的下边界与原始图片的下边界重合或人脸区域的下边界到原始图片的下边界的像素距离小于第四数值,确定第四间距为0,确定第三间距为第二数值。
在第一方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的边界与原始图片的边界不重合且人脸区域的左边界到原始图片的左边界的像素距离大于等于第三数值、人脸区域的右边界到原始图片的右边界的像素距离大于等于第三数值、人脸区域的上边界到原始图片的上边界的像素距离大于等于第四数值、人脸区域的下边界到原始图片的下边界的像素距离大于等于第四数值,确定第一间距及第二间距为第一数值的一半,以及确定第三间距和第四间距为第二数值的一半。
在第一方面提供的一种实施方式中,方法还包括:将第一裁剪图片放大至原始图片的尺寸;显示放大后的第一裁剪图片。这样一来,电子设备所显示的画面可以用户的人脸为中心,无需用户自行调节镜头的角度和远近,使用户更加方便、舒适。
在第一方面提供的一种实施方式中,在按照第一裁剪区域对原始图片进行裁剪,生成第一裁剪图片之前,方法还包括:根据第一裁剪区域的位置信息和原始图片的尺寸确定步长;按照步长缩小原始图片,得到多个第二裁剪区域;按照多个第二裁剪区域分别对原始图片进行裁剪,得到多个第二裁剪图片;将多个第二裁剪图片放大至原始图片的尺寸,并依次显示放大后的多个第二裁剪图片。这样可以增加电子设备在一段时间内显示的图像帧数,减少算法处理过程的时延带来画面上的迟滞感。
在第一方面提供的一种实施方式中,步长包括第一步长、第二步长、第三步长以及第四步长,其中,第一步长与第二步长的和为预设的水平步长,第三步长与第四步长的和为预设的竖直步长,水平步长与竖直步长的比值与原始图片的比例相同,第一步长、第二步长、第三步长及第四步长为正整数;按照步长缩小原始图片,得到多个第二裁剪区域,包括:按照第一步长将原始图片的左边界向右移动,按照第二步长将原始图片的右边界向左移动,按照第三步长将原始图片的上边界向下移动,以及按照第四步长将原始图片的下边界向上移动,得到多个第二裁剪区域。
在第一方面提供的一种实施方式中,根据第一裁剪区域的位置信息和原始图片的尺寸确定步长,包括:根据第一裁剪区域的位置信息和原始图片的尺寸确定第一像素距离、第二像素距离、第三像素距离以及第四像素距离,第一像素距离为第一裁剪区域的左边界到原始图片的左边界的像素距离,第二像素距离为第一裁剪区域的右边界到原始图片的右边界的像素距离,第三像素距离为第一裁剪区域的上边界到原始图片的上边界的像素距离,第四像素距离为第一裁剪区域的下边界到原始图片的下边界的像素距离;根据第一像素距离、第二像素距离及预设的水平步长确定第一步长和第二步长;根据第三像素距离、第四像素距离及预设的竖直步长确定第三步长和第四步长。
在第一方面提供的一种实施方式中,第三像素距离、第四像素距离、预设的竖直步长、第三步长和第四步长满足算式:
speed_top=[top_gap/(top_gap+bottom_gap)*speed_y]
speed_bottom=speed_y-speed_top
其中,speed_top为第三步长,speed_bottom为第四步长,speed_y为预设的竖直步长,top_gap为第三像素距离,bottom_gap为第四像素距离,[top_gap/(top_gap+bottom_gap)*speed_y]用于对top_gap/(top_gap+bottom_gap)*speed_y进行取整。
在第一方面提供的一种实施方式中,原始图片为YUYV格式或UYVY格式,第一步长和第二步长为偶数。
在第一方面提供的一种实施方式中,第一像素距离、第二像素距离、预设的水平步长、第一步长和第二步长满足算式:
tmp=[left_gap/(left_gap+right_gap)*speed_x]
speed_right=speed_x-speed_left
其中,speed_left为第一步长,speed_right为第二步长,speed_x为预设的水平步长,left_gap为第一像素距离,right_gap为第二像素距离,[left_gap/(left_gap+right_gap)*speed_x]用于对left_gap/(left_gap+right_gap)*speed_x进行取整。
第二方面,本申请提供一种图片裁剪方法,应用于电子设备,方法包括:接收到用于触发电子设备进行人脸对焦的第一事件;其中,第一事件包括以下各项之一:接收到用户接通视频通话的操作、或者接收到用户打开相机应用的操作;响应于第一事件,电子设备通过摄像头采集原始图片,并显示第一界面;其中,第一界面包括放大后的第一裁剪图片,第一裁剪图片是对原始图片进行裁剪得到的,放大后的第一裁剪图片的尺寸和原始图片的尺寸相同,第一裁剪图片的比例与原始图片的比例一致,且以覆盖原始图片中所有人脸的最小区域为中心。这样一来,电子设备所显示的画面可以用户人脸为中心,无需用户自行调节镜头的角度和远近,简化用户操作,使用户更加方便、舒适。
在第二方面提供的一种实施方式中,在显示第一界面前,方法还包括:依次显示多个第二界面,每个第二界面均包括放大后的第二裁剪图片;其中,每个第二裁剪图片是对原始图片进行裁剪得到的,每个放大后的第二裁剪图片的尺寸和原始图片的尺寸相同,每个第二裁剪图片的尺寸大于第一裁剪图片的尺寸,且按照多个第二界面的显示顺序,每个放大后的第二裁剪图片中覆盖所有人脸的最小区域依次增大。这样可以增加电子设备所显示的图像帧数,减少裁剪处理过程的时延带来画面上的迟滞感。
在第二方面提供的一种实施方式中,方法还包括:获取原始图片;对原始图片进行人脸检测,得到人脸区域,人脸区域为覆盖原始图片中所有人脸的最小区域,人脸区域小于等于原始图片所在区域;以人脸区域为中心,根据人脸区域和原始图片的比例确定第一裁剪区域,第一裁剪区域为原始图片中覆盖人脸区域的区域,且第一裁剪区域的比例与原始图片的比例一致,第一裁剪区域大于或等于人脸区域;对原始图片进行裁剪得到第一裁剪图片,包括:按照第一裁剪区域对原始图片进行裁剪,生成第一裁剪图片。
在第二方面提供的一种实施方式中,方法还包括:根据第一裁剪区域的位置信息和原始图片的尺寸确定步长;按照步长缩小原始图片,得到多个第二裁剪区域;按照多个第二裁剪区域分别对原始图片进行裁剪,得到多个第二裁剪图片。
在第二方面提供的一种实施方式中,摄像头为通用串行总线摄像头,原始图片的格式为YUYV格式,第一裁剪区域的左边界到原始图片的左边界的像素距离为偶数,第一裁剪区域的右边界到原始图片的右边界的像素距离为偶数。
在第二方面提供的一种实施方式中,对原始图片进行人脸检测,得到人脸区域,包括:对原始图片进行人脸检测,得到至少一个人脸子区域的位置信息;根据至少一个人脸子区域的位置信息,确定人脸区域的位置信息。
在第二方面提供的一种实施方式中,一个区域的位置信息包括该区域的第一距离、第二距离、第三距离以及第四距离,第一距离为区域的左边界到原始图片的左边界的像素距离,第二距离为区域的右边界到原始图片的右边界的像素距离,第三距离为区域的上边界到原始图片的上边界的像素距离,第四距离为区域的下边界到原始图片的下边界的像素距离;根据至少一个人脸子区域的位置信息,确定人脸区域的位置信息,包括:将至少一个人脸子区域的位置信息中最小的第一距离、最小的第二距离、最小的第三距离以及最小的第四距离分别作为人脸区域的第一距离、第二距离、第三距离以及第四距离,以得到人脸区域的位置信息。这样一来,可使得人脸区域刚好覆盖所有人脸。
在第二方面提供的一种实施方式中,一个区域的位置信息包括该区域对角线上的两个顶点的坐标;根据至少一个人脸子区域的位置信息,确定人脸区域的位置信息,包括:根据至少一个人脸子区域的位置信息中最小的横坐标值、最小的纵坐标值、最大的横坐标值以及最大的纵坐标值确定的坐标作为人脸区域的位置信息。
在第二方面提供的一种实施方式中,第一裁剪区域为原始图片中覆盖人脸区域的最小区域,且第一裁剪区域的比例与原始图片的比例一致。
在第二方面提供的一种实施方式中,以人脸区域为中心,根据人脸区域和原始图片的比例确定第一裁剪区域,包括:获取n个区域;其中,n个区域的尺寸依次增大,一个区域的尺寸包括该区域的宽度和高度,n个区域的比例与原始图片的比例相同,且第i个区域的宽度为第1个区域的宽度的i倍,i≤n;若第i个区域的尺寸不足以覆盖人脸区域,且第i+1个区域的尺寸足以覆盖人脸区域,将第i+1个区域的尺寸确定为第一裁剪区域的尺寸;根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一裁剪区域的位置。
在第二方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一裁剪区域的位置,包括:根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距;其中,第一间距与第二间距的和为第一数值,第三间距与第四间距的和为第二数值,第一间距、第二间距、第三间距及第四间距为正整数;以人脸区域的上边界向上移动第三间距后的边界作为第一裁剪区域的上边界,以人脸区域的下边界向下移动第四间距后的边界作为第一裁剪区域的下边界;根据人脸区域的左边界、人脸区域的右边界、第一间距及第二间距确定第一裁剪区域的左边界和右边界;根据第一裁剪区域的左边界、右边界、上边界以及下边界确定第一裁剪区域的位置。
在第二方面提供的一种实施方式中,根据人脸区域的左边界、人脸区域的右边界、第一间距及第二间距确定第一裁剪区域的左边界和右边界,包括:以人脸区域的左边界向左移动第一间距后得到第一边界;若第一边界到原始图片的左边界的像素距离为奇数,将第一边界左移或右移一个像素后的边界作为第一裁剪区域的左边界,以第一裁剪区域的左边界向右移动i+1个区域的宽度后的边界作为第一裁剪区域的右边界;若第一边界到原始图片的左边界的像素距离为偶数,将第一边界作为第一裁剪区域的左边界,以人脸区域的右边界向右移动第二间距后的边界作为第一裁剪区域的右边界。
在第二方面提供的一种实施方式中,原始图片不为YUYV格式及UYVY格式,根据人脸区域的左边界、人脸区域的右边界、第一间距及第二间距确定第一裁剪区域的左边界和右边界,包括:以人脸区域的左边界向左移动第一间距后的边界作为第一裁剪区域的左边界,以人脸区域的右边界向右移动第二间距后的边界作为第一裁剪区域的右边界。
在第二方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的左边界与原始图片的左边界重合或人脸区域的左边界到原始图片的左边界的像素距离小于第三数值,确定第一间距为0,确定第二间距为第一数值。
在第二方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的右边界与原始图片的右边界重合或人脸区域的右边界到原始图片的右边界的像素距离小于第三数值,确定第二间距为0。
在第二方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的上边界与原始图片的上边界重合或人脸区域的上边界到原始图片的上边界的像素距离小于第四数值,确定第三间距为0,确定第四间距为第二数值。
在第二方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的下边界与原始图片的下边界重合或人脸区域的下边界到原始图片的下边界的像素距离小于第四数值,确定第四间距为0,确定第三间距为第二数值。
在第二方面提供的一种实施方式中,根据第一裁剪区域的尺寸和人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:若人脸区域的边界与原始图片的边界不重合且人脸区域的左边界到原始图片的左边界的像素距离大于等于第三数值、人脸区域的右边界到原始图片的右边界的像素距离大于等于第三数值、人脸区域的上边界到原始图片的上边界的像素距离大于等于第四数值、人脸区域的下边界到原始图片的下边界的像素距离大于等于第四数值,确定第一间距及第二间距为第一数值的一半,以及确定第三间距和第四间距为第二数值的一半。
在第二方面提供的一种实施方式中,步长包括第一步长、第二步长、第三步长以及第四步长,其中,第一步长与第二步长的和为预设的水平步长,第三步长与第四步长的和为预设的竖直步长,水平步长与竖直步长的比值与原始图片的比例相同,第一步长、第二步长、第三步长及第四步长为正整数;按照步长缩小原始图片,得到多个第二裁剪区域,包括:按照第一步长将原始图片的左边界向右移动,按照第二步长将原始图片的右边界向左移动,按照第三步长将原始图片的上边界向下移动,以及按照第四步长将原始图片的下边界向上移动,得到多个第二裁剪区域。
在第二方面提供的一种实施方式中,根据第一裁剪区域的位置信息和原始图片的尺寸确定步长,包括:根据第一裁剪区域的位置信息和原始图片的尺寸确定第一像素距离、第二像素距离、第三像素距离以及第四像素距离,第一像素距离为第一裁剪区域的左边界到原始图片的左边界的像素距离,第二像素距离为第一裁剪区域的右边界到原始图片的右边界的像素距离,第三像素距离为第一裁剪区域的上边界到原始图片的上边界的像素距离,第四像素距离为第一裁剪区域的下边界到原始图片的下边界的像素距离;根据第一像素距离、第二像素距离及预设的水平步长确定第一步长和第二步长;根据第三像素距离、第四像素距离及预设的竖直步长确定第三步长和第四步长。
在第二方面提供的一种实施方式中,第三像素距离、第四像素距离、预设的竖直步长、第三步长和第四步长满足算式:
speed_top=[top_gap/(top_gap+bottom_gap)*speed_y]
speed_bottom=speed_y-speed_top
其中,speed_top为第三步长,speed_bottom为第四步长,speed_y为预设的竖直步长,top_gap为第三像素距离,bottom_gap为第四像素距离,[top_gap/(top_gap+bottom_gap)*speed_y]用于对top_gap/(top_gap+bottom_gap)*speed_y进行取整。
在第二方面提供的一种实施方式中,原始图片为YUYV格式或UYVY格式,第一步长和第二步长为偶数。
在第二方面提供的一种实施方式中,第一像素距离、第二像素距离、预设的水平步长、第一步长和第二步长满足算式:
tmp=[left_gap/(left_gap+right_gap)*speed_x]
speed_right=speed_x-speed_left
其中,speed_left为第一步长,speed_right为第二步长,speed_x为预设的水平步长,left_gap为第一像素距离,right_gap为第二像素距离,[left_gap/(left_gap+right_gap)*speed_x]用于对left_gap/(left_gap+right_gap)*speed_x进行取整。
第三方面,本申请提供一种电子设备,电子设备包括:存储器和一个或多个处理器;存储器与处理器耦合;其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行如第一方面、第二方面中任一项的方法。
第四方面,本申请提供一种计算机可读存储介质,包括计算机指令;当计算机指令在电子设备上运行时,使得电子设备执行如第一方面、第二方面任一项的方法。
第五方面,本申请提供一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行如第一方面及其任一种可能的设计方式所述的方法。
其中,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种图片的数据格式示意图;
图2A为本申请实施例提供的一种电子设备的结构示意图;
图2B为本申请实施例提供的一种电子设备的界面图;
图2C为本申请实施例提供的一种应用场景示意图;
图2D为本申请实施例提供的一种电子设备的界面图;
图2E为本申请实施例提供的一种电子设备的界面图;
图3为本申请实施例提供的一种图片裁剪方法的流程示意图一;
图4为本申请实施例提供的一种图片裁剪方法的流程示意图二;
图5为本申请实施例提供的一种位置信息的表示示意图;
图6为本申请实施例提供的另一种位置信息的表示示意图;
图7为本申请实施例提供的一种确定区域的位置信息的示意图;
图8为本申请实施例提供的另一种确定区域的位置信息的示意图;
图9为本申请实施例提供的一种图片裁剪方法的流程示意图三;
图10为本申请实施例提供的一种图片裁剪方法的流程示意图四;
图11为本申请实施例提供的一种图片裁剪方法的流程示意图五;
图12为本申请实施例提供的一种芯片***的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
RGB,指的是红色(red,R)、绿色(green,G)、蓝色(blue,B)。这三种颜色以不同的量进行叠加,可以得到五彩缤纷的色彩。
YUV,指亮度参量和色度参量分开标识的像素格式,其中Y表示明亮度,也就是灰度值;U和V表示色度,用于描述色彩及饱和度,用于指定像素的颜色。
YUV格式可分为两类,分别为平面格式(planar)和打包格式(packed)。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,然后是所有像素点的V。对于packed的YUV格式,每个像素点的Y、U、V是连续交错存储的。
例如,YUV格式具体可以包括YUV422格式、YUYV格式、UYVY格式等。
其中,YUV422格式是采用平面格式进行存储,其先存储所有Y分量,再存储所有的U分量,再存储所有的V分量。
YUYV格式是采用打包格式进行存储的,指每个像素点都采样Y分量,但是每隔一个像素采样它的UV分量,排列顺序如图1中的(a)所示,其中Y0和Y1公用U0、V0分量,Y2和Y3公用U2、V2分量。
UYVY格式也是采用打包格式进行存储,它的顺序和YUYV相反,先采样U分量再采样Y分量,排列顺序如图1中的(b)所示,其中Y0和Y1公用U0、V0分量,Y2和Y3公用U2、V2分量。
缩放,是指对图片的长和宽进行同比例缩小或放大。
拉伸,是指图片在某一个方向上(例如长的方向,或宽的方向)上被拉长。
目前,一些相机应用、聊天应用具备人脸自动对焦功能。该人脸自动对焦功能是指电子设备采集原始图片后,对该原始图片进行裁剪,然后将裁剪后的图片放大至原始图片的大小进行显示,使得人物处于画面中心,可避免用户手动调节摄像头角度。
现有技术提供的裁剪方法主要是采用人脸居中裁剪的方式,该方式需要先识别出原始图片中的人脸区域,再按照人脸区域对原始图片进行裁剪。这会导致裁剪得到的图片进行放大后存在图像拉伸的问题。
进一步的,对于使用通用串行总线(universal serial bus,USB)摄像头的电子设备,其采集的图片的数据格式为YUYV格式。根据图1可知,YUYV格式中两个像素共用一组U、V分量,若在裁剪过程中将共用一组U、V分量的两个像素切分开,使得被保留的像素可能缺失自己的U分量或V分量,可能会使裁剪后的图片的色彩出现偏差,例如出现人脸偏绿的问题。
本申请提供一种图片裁剪方法,包括:对获取的原始图片进行人脸检测得到人脸区域,然后获得以该人脸区域为中心且比例与原始图片的比例一致的第一裁剪区域,并按照第一裁剪区域对原始图片进行裁剪得到第一裁剪图片。由于第一裁剪区域的比例与原始图片的比例一致,可以确保最终得到的第一裁剪图片的比例与原始图片的比例一致,从而避免由于裁剪比例不合适导致图像拉伸的问题。
本申请各实施例提供的图片裁剪方法可以运行在电子设备(例如,手机)的目标应用中。目标应用可以是调用摄像头进行拍摄的任一应用,例如相机应用、图库应用、即时通讯应用、博客应用或游戏应用等。需要说明的是,本申请各实施例提供的人脸图像处理方法可以由电子设备执行。也就是说,电子设备上可以集成实现多种功能模块,以便为电子设备通过摄像头拍摄的原始图片或者用户选择的原始图片进行裁剪。
其中,电子设备可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该电子设备的具体类型不作特殊限制。
图2A为本申请实施例提供的一种电子设备的结构示意图。如图2A所示,电子设备可以包括:处理器210,外部存储器接口220,内部存储器221,USB接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块250,无线通信模块260,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及用户标识模块(subscriberidentification module,SIM)卡接口295等。
其中,处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器210可以是电子设备的神经中枢和指挥中心。处理器210可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了***的效率。
在一些实施例中,处理器210可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
外部存储器接口220可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备的存储能力。外部存储卡通过外部存储器接口220与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行电子设备的各种功能应用以及数据处理。例如,在本申请实施例中,处理器210可以通过执行存储在内部存储器221中的指令,内部存储器221可以包括存储程序区和存储数据区。
其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)、马达291的配置文件等。存储数据区可存储电子设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
充电管理模块240用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。充电管理模块240为电池242充电的同时,还可以通过电源管理模块241为电子设备供电。
电源管理模块241用于连接电池242,充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210,内部存储器221,外部存储器,显示屏294,摄像头293,和无线通信模块260等供电。在一些实施例中,电源管理模块241和充电管理模块240也可以设置于同一个器件中。
电子设备的无线通信功能可以通过天线1,天线2,移动通信模块250,无线通信模块260,调制解调处理器以及基带处理器等实现。在一些实施例中,电子设备的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得电子设备可以通过无线通信技术与网络以及其他设备通信。
天线1和天线2用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块250可以提供应用在电子设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块250可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块250可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
移动通信模块250还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块250的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块250的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
无线通信模块260可以提供应用在电子设备上的包括WLAN(如(wirelessfidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigationsatellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(nearfield communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
无线通信模块260可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块260经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块260还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
传感器模块280可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。电子设备可通过传感器模块280采集各种数据。
电子设备通过GPU,显示屏294,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏294和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏294用于显示图像,视频等。该显示屏294包括显示面板。
电子设备可以通过ISP,摄像头293,视频编解码器,GPU,显示屏294以及应用处理器等实现拍摄功能。ISP用于处理摄像头293反馈的数据。摄像头293用于捕获静态图像或视频。在一些实施例中,电子设备可以包括1个或N个摄像头293,N为大于1的正整数。
按键290包括开机键,音量键等。按键290可以是机械按键。也可以是触摸式按键。马达291可以产生振动提示。马达291可以用于来电振动提示,也可以用于触摸振动反馈。指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口295用于连接SIM卡。SIM卡可以通过***SIM卡接口295,或从SIM卡接口295拔出,实现和电子设备的接触和分离。电子设备可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口295可以支持Nano SIM卡,Micro SIM卡,SIM卡等。
可以理解的是,本实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备的结构限定。在另一些实施例中,电子设备也可以包括比上述实施例提供的更多或者更少的模块,各个模块之间也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
为了便于理解,以下结合附图对本申请实施例提供的图片裁剪方法的应用场景进行具体介绍。
如图2B中的(a)所示,电子设备(例如手机)的主界面(即桌面)301中包括相机应用的图标301a,手机可以接收用户对相机应用的图标301a的点击操作,响应于该点击操作,如图2B中的(b)所示,手机可以显示界面302。该界面302中包括前后摄切换控件302a,以及摄像头采集的图像等。若用户希望进行自拍,可点击该控件302a。响应于接收到用户点击该控件302a的操作,手机可通过摄像头采集原始图片,并显示放大后的第一裁剪图片,第一裁剪图片是对原始图片进行裁剪得到的,放大后的第一裁剪图片的尺寸和原始图片的尺寸相同,第一裁剪图片的比例与原始图片的比例一致,且以覆盖原始图片中所有人脸的最小区域为中心。
示例性的,在图2C所示的拍摄场景中,响应于接收到用户点击该控件302a的操作,手机可通过摄像头采集原始图片,并显示如图2D所示的界面303(也可称为第一界面)。该界面303中包括图像303a。其中,该图像303a即为放大后的第一裁剪图片。
可选的,如图2E所示,在手机显示界面303前,还可以显示界面304和界面305(也可称为第二界面)。其中,界面304中包括图像304a,界面305中包括图像305a。其中,图像304a和图像305a均为放大后的第二裁剪图片,每个放大后的第二裁剪图片的尺寸和原始图片的尺寸相同,每个第二裁剪图片的尺寸都大于第一裁剪图片的尺寸。另外,根据图2E可知,图像304a、图像305a以及图像303a依次增大,即预览区域中的人脸越来越清晰。需要说明的是,其中显示界面304和界面305仅为示例,实际上在显示界面303之前手机还可以显示多个包括放大后的第二裁剪图片的画面,保证按照多个界面的显示顺序,每个放大后的第二裁剪图片中覆盖所有人脸的最小区域依次增大即可。
可以理解地,电子设备在显示最终的裁剪图片(即图像303a之前),还会显示多帧其他图片,达到使人脸逐渐增大的效果,过渡更加自然,减少裁剪处理过程的时延带来画面上的迟滞感,给用户带来更好的视觉体验。
可选的,本实施例提供的图片裁剪方法还可应用于视频通话场景,其过程与图2B-图2C所示的场景同理,在此不再赘述。
可选的,电子设备还可以接收用户在图库应用中对其选择的原始图片的编辑操作,响应于该操作,电子设备可利用本实施例所提供的图片裁剪方法对原始图片进行裁剪以得到第一裁剪图片,并显示该第一裁剪图片。
可选的,电子设备还可以接收用户在通讯应用中对接收到原始图片的编辑操作,响应于该操作,电子设备可利用本实施例所提供的图片裁剪方法对原始图片进行裁剪以得到第一裁剪图片,并显示该第一裁剪图片。
下面将结合附图具体描述上述各个场景中所使用的图片裁剪方法。
如图3所示,图3为本申请提供的一种图片裁剪方法的流程示意图一,应用于图2A所示的电子设备。该图片裁剪方法包括以下步骤:
S310,获取原始图片。
在本实施例中,该原始图片指待裁剪的图片。原始图片可以为电子设备实时采集的图片,或者为电子设备响应于用户在图库中的选择操作而获取的图片,或者为电子设备接收到的图片,在此不做具体限制。需要说明的是,电子设备获取原始图片时,可以同时获取原始图片的比例。比例指该原始图片的宽与高的比例,例如1:1、2:3、4:3、16:9等。例如原始图片的尺寸为1280*720,即原始图片的宽为1280像素,高为720像素,则该原始图片的比例是16:9。可选的,原始图片的比例不限于前文列举的比例,也可以为其他,在此不做具体限制。
其中,原始图片的数据格式可以为RGB格式、YUYV格式、UYVY格式、YUV422格式等,在此不做具体限制。
S320,对原始图片进行人脸检测,确定人脸区域。
电子设备可利用人脸识别算法对原始图片进行人脸检测,识别出原始图片中的所有人脸,进而确定人脸区域。其中,人脸识别算法可以为基于人脸特征点的识别算法、基于整幅人脸图像的识别算法、基于模板的识别算法、利用神经网络进行识别的算法等,在此不做具体限制。
人脸区域为覆盖原始图片中所有人脸的区域,且人脸区域小于或等于原始图片所在区域。在一种可选的实施方式中,该人脸区域为能覆盖原始图片中所有人脸的区域中的最小区域。示例性的,如图3所示,电子设备对原始图片a进行人脸检测可确定该原始图片a中包括2个人脸,进而确定刚好能够覆盖该2个人脸的人脸区域b。其中,关于电子设备确定人脸区域的具体流程参见图4及相关内容,在此暂不描述。
S330,以人脸区域为中心,根据人脸区域和原始图片的比例确定第一裁剪区域。
其中,第一裁剪区域大于等于人脸区域,且第一裁剪区域的比例与原始图片的比例一致。可以理解地,第一裁剪区域大于或等于人脸区域,可使得电子设备基于该第一裁剪区域进行裁剪得到的图片包括人脸区域中的内容,避免裁剪过程中造成人脸缺失、不完整的问题。另外,第一裁剪区域的比例与原始图片的比例一致,可避免缩放裁剪图片后出现人脸在不同方向上拉伸程度不一致导致的变形问题。
在一种可选的实施方式中,第一裁剪区域为原始图片中覆盖人脸区域的最小区域,且该第一裁剪区域的比例与原始图片的比例一致。如此,可使第一裁剪区域中人脸的占比更大,其他背景的占比更小。示例性的,如图3所示,电子设备根据人脸区域b确定刚好能覆盖该人脸区域b的第一裁剪区域c。
在一种可选的实施方式中,若原始图片的数据格式为YUYV格式或UYVY格式,则第一裁剪区域的左边界到原始图片的左边界的像素距离为偶数,以及第一裁剪区域的右边界到原始图片的右边界的像素距离为偶数。其中,以原始图片中过该原点的上侧边为x轴,以原始图片中过该原点的左侧边为y轴建立的坐标系,原始图片的尺寸为x1*y1为例,原始图片的左边界即为y轴所在的边,原始图片的右边界即x=x1所在的边,第一裁剪区域的左边界是指第一裁剪区域内所有具有最小的横坐标的像素所在的边,第一裁剪区域的右边界是指第一裁剪区域内所有具有最大的横坐标的像素所在的边。第一裁剪区域的左边界到原始图片的左边界的像素距离,是指两条边界之间的垂直距离。
可以理解地,由于YUYV格式两个像素共用一组U、V分量,也即只要使得被裁剪掉的区域的宽度是2的倍数(即为偶数),即可避免裁剪过程中将共用同一U、V分量的两个像素分开。例如,假设第一裁剪区域的左边界到原始图片的左边界的像素距离为101,这表明第一裁剪区域的左边界上的A点和原始图片的左边界上与A点具有相同纵坐标的B点之间存在m个像素。按照YUYV格式的规律,该中101个像素中的第1个像素和第2个像素共用一组U、V分量,第3个像素和第4个像素共用一组U、V分量,……,第99个像素和第100个像素共用一组U、V分量。在m为奇数的情况下,第m个像素和第m+1个像素共用一组U、V分量;在m为偶数的情况下,第m-1个像素和第m个像素共用一组U、V分量。而在按照第一裁剪区域对原始图片进行裁剪时,需要将第一裁剪区域的左边界和原始图片的左边界之间的所有像素裁剪掉,从而在m为奇数的情况下,第m个像素和第m+1个像素会被分开;在m为偶数的情况下,第m-1个像素和第m个像素公共被裁剪掉,进而避免剩余的像素出现缺失U、V分量的情况。
S340,按照第一裁剪区域对原始图片进行裁剪,生成第一裁剪图片。
示例性的,如图3所示,电子设备可根据第一裁剪区域c对原始图片a进行裁剪,生成第一裁剪图片d。
可以理解地,第一裁剪图片的比例与第一裁剪区域的比例相同,进而第一裁剪图片的比例与原始图片的比例一致,可避免电子设备对第一裁剪图片进行缩放过程中出现人脸变形的问题。
进一步的,在原始图片的数据格式为YUYV格式或UYVY格式的情况下,由于第一裁剪区域的左边界到原始图片的左边界的像素距离为偶数,以及第一裁剪区域的右边界到原始图片的右边界的像素距离为偶数,可避免裁剪过程中将共用同一U、V分量的两个像素分开,使得第一裁剪图片中每个像素的Y、U、V分量都是完整的,进而减少第一裁剪图片出现色彩偏差的概率。
为了实现本申请提供的图片裁剪方法,在图3所示的流程图的基础上,本申请提供一种确定人脸区域的方式,以便于电子设备根据该人脸区域确定第一裁剪区域。图4为本申请提供的一种图片裁剪方法的流程示意图二。如图4所示,电子设备确定人脸区域的过程可以包括以下步骤S321和S322。
S321,对原始图片进行人脸检测,得到至少一个人脸子区域的位置信息。
根据前文内容可知,电子设备可以利用人脸识别算法对原始图片进行人脸检测,得到至少一个人脸子区域的位置信息。其中,原始图片中的一个人脸对应一个人脸子区域,一个人脸子区域中包括对应的人脸。示例性的,如图4所示,电子设备对原始图片a进行人脸检测,可以得到人脸子区域1和人脸子区域2。
一个区域的位置信息用于反映该区域的尺寸以及在原始图片中的位置。其中,区域的尺寸可包括该区域的宽和高。需要说明的是,位置信息的表现形式可存在多种。
在一种可选的实施方式中,一个区域的位置信息包括该区域的第一距离、第二距离、第三距离以及第四距离。其中,第一距离为该区域的左边界到原始图片的左边界的像素距离,第二距离为该区域的右边界到原始图片的右边界的像素距离,第三距离为该区域的上边界到原始图片的上边界的像素距离,第四距离为该区域的下边界到原始图片的下边界的像素距离。两个边界间的像素距离是指两个边界之间的垂直距离。其中,以原始图片中过该原点的上侧边为x轴,以原始图片中过该原点的左侧边为y轴建立的坐标系中,区域的左边界是指该区域内所有具有最小的横坐标的像素所在的边,区域的右边界是指该区域内所有具有最大的横坐标的像素所在的边,区域的上边界是指该区域内所有具有最小的纵坐标的像素所在的边,区域的下边界是指该区域内所有具有最大的纵坐标的像素所在的边。例如,区域的左边界为x=x1所在直线,则该区域的左边界到原始图片的左边界的像素距离为x1。
在一种可选的实施方式中,该位置信息的表现形式可以为(X1,X2,Y1,Y2),其中X1表征第一距离,X2表征第二距离,Y1表征第三距离,Y2表征第四距离。
示例性,如图5所示,区域A1的位置信息为(L1,L2,L3,L4),其表征该区域A1到原始图片A2的第一距离为L1、第一距离为L2、第三距离为L3以及第四距离为L4。根据该第一距离L1、第二距离L2、第三距离L3以及第四距离L4可以确定区域A1在原始图片中的位置,以及确定区域A1的尺寸为(X-L1-L2)*(Y-L3-L4),其中X为原始图片的宽,Y为原始图片的长。
在另一种可选的实施方式中,一个区域的位置信息包括该区域对角线上的两个顶点的坐标。示例性的,如图6所示,区域A1的位置信息包括该区域A1的左上顶点P1的坐标(X1,Y1)以及该区域A1的右下顶点P2的坐标(X2,Y2)。根据该区域A1的位置信息可以确定区域A1的尺寸为(X2-X1)*(Y2-Y1)。或者,一个区域的位置信息包括该区域的左下顶点的坐标以及该区域的右上顶点的坐标。
需要说明的是,区域的位置信息的表现形式还可以为其他,以能够指示该区域的尺寸和在原始图片中的位置为准,在此不做具体限制。
S322,根据至少一个人脸子区域的位置信息,确定人脸区域的位置信息。
在一种可选的实施方式中,在区域的位置信息包括该区域的第一距离、第二距离、第三距离以及第四距离的情况下,电子设备可分别比对至少一个人脸子区域的第一距离、第二距离、第三距离以及第四距离,将至少一个人脸子区域的位置信息中最小的第一距离、最小的第二距离、最小的第三距离以及最小的第四距离分别作为人脸区域的第一距离、第二距离、第三距离以及第四距离,以得到人脸区域的位置信息。
示例性的,如图7所示,原始图片中包括人脸子区域701和人脸子区域702,该人脸子区域701的位置信息为(L1,L2,L3,L4),该人脸子区域702的位置信息包括(L1',L2',L3',L4')。电子设备可以分别比较L1与L1'、L2与L2'、L3与L3'以及L4与L4',其中由于L1小于L1,L2大于L2',L3小于L3',L4大于L4',电子设备可以确定人脸区域703的位置信息包括:第一距离L1、第二距离L2'、第三距离L3以及第四距离L4'。
在另一种可选的实施方式中,在区域的位置信息包括该区域对角线上的两个顶点的坐标的情况下,电子设备可分别比对至少一个人脸子区域的横坐标值以及纵坐标值,根据至少一个人脸子区域的位置信息中最小的横坐标值、最小的纵坐标值、最大的横坐标值以及最大的纵坐标值确定的坐标作为人脸区域的位置信息。需要说明的是,上述坐标值是以原始图片的左上顶点为坐标原点,以原始图片中过该原点的上侧边为x轴,以原始图片中过该原点的左侧边为y轴建立的坐标系下的坐标。
示例性的,如图8所示,原始图片中包括人脸子区域801和人脸子区域802,该人脸子区域801的位置信息包括P1点的坐标(X1,Y1)和P2点的坐标(X2,Y2),该人脸子区域802的位置信息包括P1'点的坐标(X1',Y1')和P2'点的坐标(X2',Y2')。电子设备可比较X1、X2、X1'以及X2',确定其中最小的横坐标值为X1以及最大的横坐标值为X2';电子设备还可比较Y1、Y2、Y1'以及Y2',确定其中最小的纵坐标值为Y1',最大的纵坐标值为Y2。如此,可以确定人脸区域803的位置信息包括P3点的坐标(X1,Y1')和P4点的坐标(X2',Y2)。
在又一种可选的实施方式中,电子设备还可以先将至少一个人脸子区域中的第一人脸子区域作为人脸区域,然后判断该人脸区域是否覆盖第二人脸子区域。若该人脸区域未覆盖第二人脸子区域,则调整人脸区域的边界,使人脸区域刚好能覆盖第二人脸子区域。接着继续判断调整后的人脸区域是否覆盖第三人脸子区域,若调整后的人脸区域未覆盖第二人脸子区域,则继续调整人脸区域的边界,使人脸区域刚好能覆盖第三人脸子区域,依次类推,直至人脸区域覆盖所有人脸子区域为止。
为了实现本申请提供的图片裁剪方法,在图3所示的流程图的基础上,本申请还提供一种确定第一裁剪区域的方式,以便后续电子设备按照该第一裁剪区域对原始图片进行裁剪。图9为本申请提供的一种图片裁剪方法的流程示意图三。如图9所示,电子设备确定第一裁剪区域的过程可以包括以下步骤S331~S334。
S331,根据原始图片的比例生成n个区域。
其中,n个区域的比例与原始图片的比例相同,且n个区域的尺寸依次增大,第i个区域的尺寸为第1个区域的尺寸的i倍,i≤n。根据前述内容可知,一个区域的尺寸包括该区域的宽和高,也就是说,n个区域的宽和高依次增大,且第i个区域的宽为第1个区域的宽的i倍,第i个区域的高为第1个区域的高的i倍。
示例性的,如图9所示,原始图片的比例为16:9,电子设备可生成n个比例为16:9的区域。其中,n个区域的尺寸可分别为16*9、32*18、48*27、……、16i*9i、……、16n*9n。需要说明的是,第n个区域的尺寸小于等于原始图片的尺寸。例如原始图片的分辨率为1280*720,则第n个区域的尺寸最大可以为1280*720(其中n=80)。
S332,依次判断n个区域是否能够覆盖人脸区域。
具体的,电子设备可判断每个区域的宽是否大于等于人脸区域的宽,以及每个区域的高是否大于等于人脸区域的高。若某个区域的宽大于等于人脸区域的宽,且该区域的高大于等于人脸区域的高,则可确定该区域能够覆盖人脸区域。若某个区域的宽小于人脸区域的宽,或者高小于人脸区域的高,则可确定该区域不能够覆盖人脸区域。
S333,若第i个区域的尺寸不能够覆盖人脸区域,且第i+1个区域的尺寸能够覆盖人脸区域,将第i+1个区域的尺寸确定为第一裁剪区域的尺寸。
可以理解地,若第i个区域的尺寸不足以覆盖人脸区域,且第i+1个区域的尺寸足以覆盖人脸区域,表明第i+1个区域的尺寸刚好足以覆盖人脸区域,即第i+1个区域为原始图片中覆盖人脸区域的最小区域。
示例性的,如图9所示,电子设备对原始图片a进行人脸检测得到人脸区域b,其中人脸区域b的尺寸为722*200,电子设备可以确定第45个区域的尺寸为720*405(i=45),第46个区域的尺寸为736*414。其中,第45个区域的宽(即720)小于人脸区域b的宽(即722),第46个区域的宽(即736)大于人脸区域b的宽(即722),第46个区域的高(即414)大于人脸区域b的高(即200),因此电子设备将第46个区域的尺寸(即736*414)作为第一裁剪区域的尺寸。
如此,既能使得第一裁剪区域完全覆盖人脸区域,确保裁剪过程中能够完全保留人脸信息;又使得第一裁剪区域中人脸信息的占比较大,人脸更清晰。
需要说明的是,S331~S333仅示出了电子设备根据人脸区域的尺寸和原始图片的比例确定第一裁剪区域的尺寸的一种实施方式。在其他实施方式中,电子设备可根据人脸区域的尺寸和原始图片的比例确定放大倍数,然后基于放大倍数和原始图片的比例确定第一裁剪区域的尺寸。具体的,电子设备可对人脸区域的宽与原始图片中宽的占比的商向上取整得到第一倍数,对人脸区域的高与原始图片中高的占比的商取整得到第二倍数,并将第一倍数和第二倍数中的较大值作为放大倍数。最后将原始图片的比例放大该放大倍数后的数值作为第一裁剪区域的尺寸。
例如,人脸区域的尺寸为360*244,且原始图片的比例为4:3,则电子设备将360除以4得到第一倍数(即90),将244除以3得到第二倍数(即82)。也即,第一裁剪区域的宽为4*90=360时便能够大于人脸区域的宽,第一裁剪区域的高为3*82=246时便大于人脸区域的高。但为了使第一裁剪区域的比例与原始图片的比例一致,且第一裁剪区域能够刚好覆盖人脸区域,电子设备将第一倍数(即90)作为放大倍数,并进一步确定第一裁剪区域的尺寸为360*270(即(4*90)*(3*90))。
S334,根据第一裁剪区域的尺寸以及人脸区域的位置信息,确定第一裁剪区域的位置。
其中,第一裁剪区域的位置可以通过第一裁剪区域的左边界、右边界、上边界以及下边界的位置确定。
在本实施例中,为使第一裁剪区域以人脸区域的中心,电子设备可以人脸区域的左边界、右边界、上边界以及右边界向对应方向移动一定距离,以确定第一裁剪区域的左边界、右边界、上边界以及下边界的位置。
具体的,电子设备可以人脸区域的左边界向左移动第一间距后的边界作为第一裁剪区域的左边界,以人脸区域的右边界向右移动第二间距后的边界作为第一裁剪区域的右边界,以人脸区域的上边界向上移动第三间距后的边界作为第一裁剪区域的上边界,以人脸区域的下边界向下移动第四间距后的边界作为第一裁剪区域的下边界。
其中,第一间距、第二间距、第三间距以及第四间距与第一裁剪区域的尺寸以及人脸区域的位置信息有关。也即,电子设备可根据第一裁剪区域的尺寸以及人脸区域的位置信息确定第一间距、第二间距、第三间距以及第四间距。
具体的,电子设备可以计算第一裁剪区域的宽与人脸区域的宽的差值(后称为第一数值),以及计算第一裁剪区域的高与人脸区域的高的差值(后称为第二数值)。也即,从人脸区域的宽变为第一裁剪区域的宽,人脸区域的左边界所移动的像素距离和右边界所移动的像素距离的总和应该为该第一数值;从人脸区域的高变为第一裁剪区域的高,人脸区域的上边界所移动的像素距离和下边界所移动的像素距离的总和应该为该第二数值。换句话说,第一距离与第二距离的和为第一数值,第三距离与第四距离的和为第二数值。
接着,电子设备可根据第一数值、第二数值以及人脸区域在原始图片中的位置,进一步确定第一间距、第二间距、第三间距以及第四间距。在本实施例中,人脸区域在原始图片中的位置可包括以下几种:
(1)人脸区域的边界与原始图片的边界不重合,且人脸区域的左边界到原始图片的左边界的像素距离大于等于第三数值、人脸区域的右边界到原始图片的右边界的像素距离大于等于第三数值、人脸区域的上边界到原始图片的上边界的像素距离大于等于第四数值、人脸区域的下边界到原始图片的下边界的像素距离大于等于第四数值。其中,第三数值小于或等于第一数值的一半,第四数值小于或等于第二数值的一半。在这种情况下,电子设备可确定第一间距及第二间距为第一数值的一半,以及确定第三间距和第四间距为第二数值的一半。
可以理解地,在(1)所示的情况下,人脸区域的左边界向左移动第一间距后的边界、人脸区域的右边界向右移动第二间距后的边界、人脸区域的上边界向上移动第三间距后的边界、以及人脸区域的下边界向下移动第四间距后的边界均在原始图片所在的区域内,因此确定第一间距及第二间距为第一数值的一半、第三间距和第四间距为第二数值的一半,可使第一裁剪区域以人脸区域为中心。
需要说明的是,第一间距、第二间距、第三间距及第四间距的数值应为整数。例如若第二数值的一半不为整数,可将对其取整后的数值作为第三间距(或第四间距),再由第二数值减去第三间距(或第四间距)得到第四间距(或第三间距)。
(2)人脸区域的左边界与原始图片的左边界重合或人脸区域的左边界到原始图片的左边界的像素距离小于第三数值。在这种情况下,电子设备可确定第一间距为0,确定第二间距为第一数值。
可以理解地,在人脸区域的左边界与原始图片的左边界重合的情况下,人脸区域的左边界继续向左移动会超出原始图片的左边界。在人脸区域的左边界到原始图片的左边界的像素距离小于第三数值的情况下,人脸区域的左边界向左移动第一数值的一半后也会超出原始图片的左边界。因此可确定第一间距为0,进而确定第二间距为第一数值减去0,即为第一数值。
(3)人脸区域的右边界与原始图片的右边界重合或人脸区域的右边界到原始图片的右边界的像素距离小于第三数值。在这种情况下,电子设备可确定第二间距为0,确定第一间距为第一数值。
可以理解地,在人脸区域的右边界与原始图片的右边界重合的情况下,人脸区域的右边界继续向右移动会超出原始图片的右边界。在人脸区域的右边界到原始图片的右边界的像素距离小于第三数值的情况下,人脸区域的右边界向右移动第一数值的一半后也会超出原始图片的右边界。因此可确定第二间距为0,进而确定第一间距为第一数值减去0,即为第一数值。
(4)人脸区域的左边界与原始图片的左边界重合或人脸区域的左边界到原始图片的左边界的像素距离小于第三数值,且人脸区域的右边界与原始图片的右边界重合或人脸区域的右边界到原始图片的右边界的像素距离小于第三数值。在这种情况下,电子设备可确定第一间距和第二间距均为0。
(5)人脸区域的上边界与原始图片的上边界重合或人脸区域的上边界到原始图片的上边界的像素距离小于第四数值。在这种情况下,电子设备可确定第三间距为0,确定第四间距为第二数值。
可以理解地,在人脸区域的上边界与原始图片的上边界重合的情况下,人脸区域的上边界继续向上移动会超出原始图片的上边界。在人脸区域的上边界到原始图片的上边界的像素距离小于第四数值的情况下,人脸区域的上边界向上移动第二数值的一半后也会超出原始图片的上边界。因此可确定第三间距为0,进而确定第一间距为第二数值减去0,即为第二数值。
(6)人脸区域的下边界与原始图片的下边界重合或人脸区域的下边界到原始图片的下边界的像素距离小于第四数值。在这种情况下,电子设备可确定第四间距为0,确定第三间距为第二数值。
可以理解地,在人脸区域的下边界与原始图片的下边界重合的情况下,人脸区域的下边界继续向下移动会超出原始图片的下边界。在人脸区域的下边界到原始图片的下边界的像素距离小于第四数值的情况下,人脸区域的下边界向下移动第二数值的一半后也会超出原始图片的下边界。因此可确定第三间距为0,进而确定第一间距为第二数值减去0,即为第二数值。
(7)人脸区域的上边界与原始图片的上边界重合或人脸区域的上边界到原始图片的上边界的像素距离小于第四数值,且人脸区域的下边界与原始图片的下边界重合或人脸区域的下边界到原始图片的下边界的像素距离小于第四数值。在这种情况下,电子设备可确定第三间距和第四间距均为0。
(8)人脸区域的边界与原始图片的边界重合,或人脸区域的左边界到原始图片的左边界的像素距离小于第三数值、人脸区域的右边界到原始图片的右边界的像素距离小于第三数值、人脸区域的上边界到原始图片的上边界的像素距离小于第四数值、人脸区域的下边界到原始图片的下边界的像素距离小于第四数值。在这种情况下,电子设备可确定第一间距、第二间距、第三间距和第四间距均为0。即,电子设备以原始图片的四个边界分别作为第一裁剪区域的四个边界。
需要说明的是,在人脸区域的左边界或右边界为(2)、(3)、(4)中任意一种情况下,第三间距和第四间距的取值情况可参见(5)、(6)、(7),反之同理。例如,若人脸区域的左边界与原始图片的左边界重合或人脸区域的左边界到原始图片的左边界的像素距离小于第三数值(即上述情况(3)),以及人脸区域的下边界与原始图片的下边界重合或人脸区域的下边界到原始图片的下边界的像素距离小于第四数值(即上述情况(6)),电子设备可确定第二间距为0,确定第一间距为第一数值,确定第四间距为0,以及确定第三间距为第二数值。
示例性的,原始图片的尺寸为1920*1080,即原始图片的比例为16:9。其中,电子设备确定人脸区域的位置信息为(73,1695,52,955)。因而人脸区域的宽为1920-73-1695=152,人脸区域的高为1080-52-955=73,即人脸区域的尺寸为152*73。电子设备可根据人脸区域的尺寸确定第一裁剪区域的尺寸为160*90。进一步的,由于该人脸区域不与原始图片重合,电子设备可计算得到第一距离为(160-152)/2=4,第二距离为4,第三距离为9(对(90-73)/2=8.5向上取整),第四距离为8。如此,可确定第一裁剪区域的左边界到原始图片的左边界的像素距离为73-4=69,第一裁剪区域的右边界到原始图片的右边界的像素距离为1695-4=1691,第一裁剪区域的上边界到原始图片的上边界的像素距离为52-9=43,第一裁剪区域的下边界到原始图片的下边界的像素距离为955-8=947,也即第一裁剪区域的位置信息为(69,1691,43,947)。
在一种可选的实施方式中,若原始图片为YUYV格式或UYVY格式,电子设备需确保第一裁剪区域的左边界到原始图片的左边界的像素距离为偶数,第一裁剪区域的右边界到原始图片的右边界的像素距离为偶数,如此可保证在裁剪过程中共用一组U、V分量的两个像素不被分开,进而减少裁剪后的图片出现色彩异常的概率。
在这种情况下,电子设备可先以人脸区域的左边界向左移动第一间距后得到第一边界,并判断第一边界到原始图片的左边界的像素距离为奇数或偶数。若第一边界到原始图片的左边界的像素距离为奇数,则将第一边界左移或右移一个像素后的边界作为第一裁剪区域的左边界,以第一裁剪区域的左边界向右移动i+1个区域的宽度后的边界作为第一裁剪区域的右边界。若第一边界到原始图片的左边界的像素距离为偶数,将第一边界作为第一裁剪区域的左边界,以人脸区域的右边界向右移动第二间距后的边界作为第一裁剪区域的右边界。
仍然以原始图片的尺寸为1920*1080,人脸区域的位置信息为(73,1695,52,955)为例,其确定的第一裁剪区域的位置信息为(69,1691,43,947)。在原始图片为YUYV格式或UYVY格式的情况下,由于该第一裁剪区域的左边界到原始图片的左边界的像素距离为69,该第一裁剪区域的右边界到原始图片的右边界的像素距离为1691,这会导致裁剪后的图片出现色彩偏差,因此可将第一裁剪区域的位置信息调整为(68,1692,43,947)。
可选的,在本申请实施例提供的图片裁剪方法应用于需要人脸自动对焦的场景时,电子设备生成第一裁剪图片后,还可以将第一裁剪图片放大至原始图片的尺寸,并显示放大后的第一裁剪图片。这样一来,电子设备所显示的画面可以用户的人脸为中心,无需用户自行调节镜头的角度和远近,使用户更加方便、舒适。
在另一种可选的实施方式中,电子设备也可以直接显示第一裁剪图片。
可选的,在本申请实施例提供的图片裁剪方法应用于视频通话场景或拍摄场景时,电子设备从采集到原始图片到显示放大后的第一裁剪图片期间,存在一定时延。为了减少该时延造成的画面迟滞感,电子设备在按照第一裁剪区域对原始图片进行裁剪前,还可对原始图片进行多次裁剪得到多个第二裁剪图片,并显示多个放大后的第二裁剪图片。其中,每次裁剪所使用的裁剪区域的尺寸不同。
在一种可选的实施方式中,电子设备可按照多个尺寸依次减小的裁剪区域对原始图片进行裁剪,得到多个第二裁剪图片。
在另一种可选的实施方式中,电子设备可按照一定步长缩小原始图片得到多个第二裁剪区域,并按照多个第二裁剪区域对原始图片进行裁剪,得到多个第二裁剪图片。
图10为本申请提供的一种图片裁剪方法的流程示意图四。如图10所示,电子设备得到多个第二裁剪图片的过程包括S410~S440。
S410,根据第一裁剪区域的位置信息和原始图片的尺寸确定步长。
在本实施例中,在不同方向上具有不同的步长,该步长包括第一步长、第二步长、第三步长以及第四步长。其中,第一步长与第二步长的和为预设的水平步长,第三步长与第四步长的和为预设的竖直步长,水平步长与竖直步长的比值与原始图片的比例相同,第一步长、第二步长、第三步长以及第四步长均为正整数。该预设的水平步长是指裁剪区域的宽每次减少的像素数量;该预设的竖直步长是指裁剪区域的长每次减少的像素数量。例如,原始图片的比例为4:3,则水平步长与竖直步长的比例也为4:3。预设的水平步长可以为4m,预设的竖直步长为3m,m为大于等于1的整数。
具体的,电子设备可根据第一裁剪区域和原始图片确定第一像素距离、第二像素距离、第三像素距离以及第四像素距离,第一像素距离为第一裁剪区域的左边界到原始图片的左边界的像素距离,第二像素距离为第一裁剪区域的右边界到原始图片的右边界的像素距离,第三像素距离为第一裁剪区域的上边界到原始图片的上边界的像素距离,第四像素距离为第一裁剪区域的下边界到原始图片的下边界的像素距离,然后根据第一像素距离、第二像素距离及预设的水平步长确定第一步长和第二步长,以及根据第三像素距离、第四像素距离及预设的竖直步长确定第三步长和第四步长。
在本实施例中,第一像素距离、第二像素距离、预设的水平步长、第一步长和第二步长满足算式:
speed_left=[left_gap/(left_gap+right_gap)*speed_x]
speed_right=speed_x-speed_left
其中,speed_left为第一步长,speed_right为第二步长,speed_x为预设的水平步长,left_gap为第一像素距离,right_gap为第二像素距离,[left_gap/(left_gap+right_gap)*speed_x]用于对left_gap/(left_gap+right_gap)*speed_x进行取整。
例如,left_gap为20,right_gap为70,speed_x为16,则可确定speed_left为3。
在本实施例中,第三像素距离、第四像素距离、预设的竖直步长、第三步长和第四步长满足算式:
speed_top=[top_gap/(top_gap+bottom_gap)*speed_y]
speed_bottom=speed_y-speed_top
其中,speed_top为第三步长,speed_bottom为第四步长,speed_y为预设的竖直步长,top_gap为第三像素距离,bottom_gap为第四像素距离,[top_gap/(top_gap+bottom_gap)*speed_y]是对top_gap/(top_gap+bottom_gap)*speed_y进行取整。
可选的,若原始图片为YUYV格式或UYVY格式,第一步长和第二步长为偶数。在这这种情况下,第一像素距离、第二像素距离、预设的水平步长、第一步长和第二步长满足算式:
tmp=[left_gap/(left_gap+right_gap)*speed_x]
speed_right=speed_x-speed_left
如此,可使得第一步长speed_left和第二步长speed_right始终为偶数,进而可以确保每个第二裁剪区域的左边界到原始图片的左边界的像素距离为偶数,以及每个第二裁剪区域的右边界到原始图片的右边界的像素距离也为偶数。使得在裁剪过程中共用一组U、V分量的两个像素不被分开,减少裁剪后的图片出现色彩异常的概率。
S420,按照步长缩小原始图片,得到多个第二裁剪区域。
具体的,电子设备可按照第一步长将原始图片的左边界向右移动,按照第二步长将原始图片的右边界向左移动,按照第三步长将原始图片的上边界向下移动,以及按照第四步长将原始图片的下边界向上移动,以得到多个第二裁剪区域。
示例性的,原始图片的尺寸可以为1920*1080,第一裁剪区域的位置信息为(68,1692,43,947),则在预设的水平步长为160,预设的竖直步长为90时,代入上述算式可确定第一步长为6,第二步长为154,第三步长为3,第四步长为87。在此基础上,电子设备可得到多个第二裁剪区域,其尺寸分别为(6,154,3,87)、(12,308,6,174)、(18,462,9,261)。
在一种可选的实施方式中,缩小后的第二裁剪区域小于等于第一裁剪区域时,电子设备停止缩小原始图片。
S430,按照多个第二裁剪区域分别对原始图片进行裁剪,得到多个第二裁剪图片。
S440,将多个第二裁剪图片放大至原始图片的尺寸,依次显示放大后的多个第二裁剪图片。
需要说明的是,电子设备每生成一个第二裁剪图片,便可对其进行放大操作,并显示放大后的第二裁剪图片。也就是说,电子设备在显示放大后的第一裁剪图片前,可先依次显示放大后的多个第二裁剪图片。由于多个第二裁剪区域的尺寸依次减小,达到人脸图像在裁剪图片中的占比逐渐变大,直至变化为放大后的第一裁剪图片中的人脸的视觉效果,这使得人脸变化比较自然,可提升用户的视觉体验。
图11为本申请实施例提供的一种图片裁剪方法的流程示意图五。如图11所示,其示出了电子设备进行一次图片裁剪的完整流程。首先,电子设备通过摄像头拍摄多帧图像并将多帧图像存入相机缓存(camera buffer)中。电子设备可基于该camera buffer的多帧图像获取原始图片,并利用人脸识别算法对该原始图片进行人脸识别得到人脸识别结果。可选的,电子设备可以将camera buffer中最新一帧图像作为原始图片,或者将多帧图像融合得到的图片作为原始图片,在此不做具体限制。该人脸识别结果包括原始图片中所有人脸所在的人脸子区域。接着,电子设备根据人脸识别结果计算得到覆盖所有人脸的最小区域(即人脸区域)。然后,电子设备可以判断人脸区域是否在该最小的裁剪区域(即S322中n个区域中的最小区域)内,若是,则直接将该最小的裁剪区域作为第一裁剪区域;若人脸区域不在该最小的裁剪区域内,则需根据人脸区域的尺寸和原始图片的比例计算出与原始图片具有相同比例的第一裁剪区域,其中原始图片的数据格式为YUYV格式或UYVY格式的情况下,第一裁剪区域的左边界到原始图片的左边界的像素距离为偶数,第一裁剪区域的右边界到原始图片的右边界的像素距离为偶数。下一步,电子设备可以原始图片所在区域为初始裁剪区域,并判断初始裁剪区域与第一裁剪区域之间是否重合。若两者不重合,则按照原始图片的比例确定水平步长和竖直步长的比例,该水平步长指初始裁剪区域的宽每次减少的像素数量;该竖直步长是指初始裁剪区域的长每次减少的像素数量。同时,电子设备还可以根据初始裁剪区域的位置与第二裁剪区域和位置计算四个方向的步长,按照该步长缩小初始裁剪区域以得到多个第二裁剪区域,直至第二裁剪区域与第一裁剪区域重合。若两者重合,则无需继续缩小初始裁剪区域。其中,每确定一个裁剪区域,便根据该裁剪区域对原始图片进行裁剪,以及将裁剪后的图片进行等比例放大至原始图片的尺寸,并以放大后的裁剪图片覆盖原始图片,以便进行显示。整个过程电子设备可在界面上显示以人脸为中心且人脸依次增大的图像,既顺滑自然,又无需用户手动调节镜头,操作简单方便。
本申请一些实施例提供了一种电子设备,该电子设备可以包括:存储器和一个或多个处理器。该存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中电子设备执行的各个功能或者步骤。该电子设备的结构可以参考图2A所示的电子设备的结构。
本申请实施例还提供一种芯片***(例如,片上***(system on a chip,SoC)),如图12所示,该芯片***包括至少一个处理器1201和至少一个接口电路1202。处理器1201和接口电路1202可通过线路互联。例如,接口电路1202可用于从其它装置(例如电子设备的存储器)接收信号。又例如,接口电路1202可用于向其它装置(例如处理器1201或者电子设备的触摸屏)发送信号。示例性的,接口电路1202可读取存储器中存储的指令,并将该指令发送给处理器1201。当所述指令被处理器1201执行时,可使得电子设备执行上述实施例中的各个步骤。当然,该芯片***还可以包含其他分立器件,本申请实施例对此不作具体限定。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行上述方法实施例中电子设备执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (26)
1.一种图片裁剪方法,其特征在于,所述方法包括:
获取原始图片;
对所述原始图片进行人脸检测,得到人脸区域,所述人脸区域为覆盖所述原始图片中所有人脸的最小区域,所述人脸区域小于等于所述原始图片所在区域;
获取n个区域;其中,所述n个区域的尺寸依次增大,一个区域的尺寸包括该区域的宽度和高度,所述n个区域的比例与所述原始图片的比例相同,且第i个区域的宽度为第1个区域的宽度的i倍,i≤n;
若所述第i个区域的尺寸不足以覆盖所述人脸区域,且第i+1个区域的尺寸足以覆盖所述人脸区域,将所述第i+1个区域的尺寸确定为第一裁剪区域的尺寸;
以所述人脸区域为中心,根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定所述第一裁剪区域的位置;
按照所述第一裁剪区域的尺寸和位置对所述原始图片进行裁剪,生成第一裁剪图片。
2.根据权利要求1所述的方法,其特征在于,所述对所述原始图片进行人脸检测,得到人脸区域,包括:
对所述原始图片进行人脸检测,得到至少一个人脸子区域的位置信息,每个人脸子区域是覆盖所述原始图片中一个人脸的最小区域;
根据所述至少一个人脸子区域的位置信息,确定所述人脸区域的位置信息。
3.根据权利要求2所述的方法,其特征在于,一个区域的位置信息包括该区域的第一距离、第二距离、第三距离以及第四距离,所述第一距离为所述区域的左边界到所述原始图片的左边界的像素距离,所述第二距离为所述区域的右边界到所述原始图片的右边界的像素距离,所述第三距离为所述区域的上边界到所述原始图片的上边界的像素距离,所述第四距离为所述区域的下边界到所述原始图片的下边界的像素距离;
所述根据所述至少一个人脸子区域的位置信息,确定所述人脸区域的位置信息,包括:
将所述至少一个人脸子区域的位置信息中最小的第一距离、最小的第二距离、最小的第三距离以及最小的第四距离分别作为所述人脸区域的第一距离、第二距离、第三距离以及第四距离,以得到所述人脸区域的位置信息。
4.根据权利要求2所述的方法,其特征在于,一个区域的位置信息包括该区域对角线上的两个顶点的坐标;
所述根据所述至少一个人脸子区域的位置信息,确定所述人脸区域的位置信息,包括:
根据所述至少一个人脸子区域的位置信息中最小的横坐标值、最小的纵坐标值、最大的横坐标值以及最大的纵坐标值确定的坐标作为所述人脸区域的位置信息。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定所述第一裁剪区域的位置,包括:
根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距;其中,所述第一间距与所述第二间距的和为第一数值,所述第三间距与所述第四间距的和为第二数值,所述第一间距、所述第二间距、所述第三间距及所述第四间距为正整数;
以所述人脸区域的上边界向上移动所述第三间距后的边界作为所述第一裁剪区域的上边界,以所述人脸区域的下边界向下移动所述第四间距后的边界作为所述第一裁剪区域的下边界;
根据所述人脸区域的左边界、所述人脸区域的右边界、所述第一间距及所述第二间距确定所述第一裁剪区域的左边界和右边界;
根据所述第一裁剪区域的左边界、右边界、上边界以及下边界确定所述第一裁剪区域的位置。
6.根据权利要求5所述的方法,其特征在于,所述原始图片为YUYV格式或UYVY格式,所述第一裁剪区域的左边界到所述原始图片的左边界的像素距离为偶数,所述第一裁剪区域的右边界到所述原始图片的右边界的像素距离为偶数。
7.根据权利要求6所述的方法,其特征在于,所述根据所述人脸区域的左边界、所述人脸区域的右边界、所述第一间距及所述第二间距确定所述第一裁剪区域的左边界和右边界,包括:
以所述人脸区域的左边界向左移动所述第一间距后得到第一边界;
若所述第一边界到所述原始图片的左边界的像素距离为奇数,将所述第一边界左移或右移一个像素后的边界作为所述第一裁剪区域的左边界,以所述第一裁剪区域的左边界向右移动所述i+1个区域的宽度后的边界作为所述第一裁剪区域的右边界;
若所述第一边界到所述原始图片的左边界的像素距离为偶数,将所述第一边界作为所述第一裁剪区域的左边界,以所述人脸区域的右边界向右移动所述第二间距后的边界作为所述第一裁剪区域的右边界。
8.根据权利要求5所述的方法,其特征在于,所述原始图片不为YUYV格式及UYVY格式,所述根据所述人脸区域的左边界、所述人脸区域的右边界、所述第一间距及所述第二间距确定所述第一裁剪区域的左边界和右边界,包括:
以所述人脸区域的左边界向左移动所述第一间距后的边界作为所述第一裁剪区域的左边界,以所述人脸区域的右边界向右移动所述第二间距后的边界作为所述第一裁剪区域的右边界。
9.根据权利要求5-8中任意一项所述的方法,其特征在于,所述根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:
若所述人脸区域的左边界与所述原始图片的左边界重合或所述人脸区域的左边界到所述原始图片的左边界的像素距离小于第三数值,确定所述第一间距为0,确定所述第二间距为所述第一数值,以及确定所述第三间距和所述第四间距为所述第二数值的一半。
10.根据权利要求5-8中任意一项所述的方法,其特征在于,所述根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:
若所述人脸区域的右边界与所述原始图片的右边界重合或所述人脸区域的右边界到所述原始图片的右边界的像素距离小于第三数值,确定所述第二间距为0,确定所述第一间距为所述第一数值,以及确定所述第三间距和所述第四间距为所述第二数值的一半。
11.根据权利要求5-8中任意一项所述的方法,其特征在于,所述根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:
若所述人脸区域的上边界与所述原始图片的上边界重合或所述人脸区域的上边界到所述原始图片的上边界的像素距离小于第四数值,确定所述第三间距为0,确定所述第四间距为所述第二数值,以及确定所述第一间距及所述第二间距为所述第一数值的一半。
12.根据权利要求5-8中任意一项所述的方法,其特征在于,所述根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:
若所述人脸区域的下边界与所述原始图片的下边界重合或所述人脸区域的下边界到所述原始图片的下边界的像素距离小于第四数值,确定所述第四间距为0,确定所述第三间距为所述第二数值,以及确定所述第一间距及所述第二间距为所述第一数值的一半。
13.根据权利要求5-8中任意一项所述的方法,其特征在于,所述根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定第一间距、第二间距、第三间距以及第四间距,包括:
若所述人脸区域的边界与所述原始图片的边界不重合且所述人脸区域的左边界到所述原始图片的左边界的像素距离大于等于第三数值、所述人脸区域的右边界到所述原始图片的右边界的像素距离大于等于所述第三数值、所述人脸区域的上边界到所述原始图片的上边界的像素距离大于等于第四数值、所述人脸区域的下边界到所述原始图片的下边界的像素距离大于等于所述第四数值,确定所述第一间距及所述第二间距为所述第一数值的一半,以及确定所述第三间距和所述第四间距为所述第二数值的一半。
14.根据权利要求1-8中任意一项所述的方法,其特征在于,所述方法还包括:
将所述第一裁剪图片放大至所述原始图片的尺寸;
显示放大后的所述第一裁剪图片。
15.根据权利要求1-8中任意一项所述的方法,其特征在于,在所述按照所述第一裁剪区域对所述原始图片进行裁剪,生成第一裁剪图片之前,所述方法还包括:
根据所述第一裁剪区域的位置信息和所述原始图片的尺寸确定步长;
按照所述步长缩小所述原始图片,得到多个第二裁剪区域;
按照所述多个第二裁剪区域分别对所述原始图片进行裁剪,得到多个第二裁剪图片;
将所述多个第二裁剪图片放大至所述原始图片的尺寸,并依次显示放大后的所述多个第二裁剪图片。
16.根据权利要求15所述的方法,其特征在于,所述步长包括第一步长、第二步长、第三步长以及第四步长,其中,所述第一步长与所述第二步长的和为预设的水平步长,所述第三步长与所述第四步长的和为预设的竖直步长,所述水平步长与所述竖直步长的比值与所述原始图片的比例相同,所述第一步长、所述第二步长、所述第三步长及所述第四步长为正整数;
所述按照所述步长缩小所述原始图片,得到多个第二裁剪区域,包括:
按照所述第一步长将所述原始图片的左边界向右移动,按照所述第二步长将所述原始图片的右边界向左移动,按照所述第三步长将所述原始图片的上边界向下移动,以及按照所述第四步长将所述原始图片的下边界向上移动,得到所述多个第二裁剪区域。
17.根据权利要求16所述的方法,其特征在于,所述根据所述第一裁剪区域的位置信息和所述原始图片的尺寸确定步长,包括:
根据所述第一裁剪区域的位置信息和所述原始图片的尺寸确定第一像素距离、第二像素距离、第三像素距离以及第四像素距离,所述第一像素距离为所述第一裁剪区域的左边界到所述原始图片的左边界的像素距离,所述第二像素距离为所述第一裁剪区域的右边界到所述原始图片的右边界的像素距离,所述第三像素距离为所述第一裁剪区域的上边界到所述原始图片的上边界的像素距离,所述第四像素距离为所述第一裁剪区域的下边界到所述原始图片的下边界的像素距离;
根据所述第一像素距离、所述第二像素距离及预设的水平步长确定所述第一步长和所述第二步长;
根据所述第三像素距离、所述第四像素距离及预设的竖直步长确定所述第三步长和所述第四步长。
18.根据权利要求17所述的方法,其特征在于,所述第三像素距离、所述第四像素距离、所述预设的竖直步长、所述第三步长和所述第四步长满足算式:
speed_top=[top_gap/(top_gap+bottom_gap)*speed_y]
speed_bottom=speed_y-speed_top
其中,speed_top为所述第三步长,speed_bottom为所述第四步长,speed_y为所述预设的竖直步长,top_gap为所述第三像素距离,所述bottom_gap为所述第四像素距离,[top_gap/(top_gap+bottom_gap)*speed_y]用于对top_gap/(top_gap+bottom_gap)*speed_y进行取整。
19.根据权利要求17所述的方法,其特征在于,所述原始图片为YUYV格式或UYVY格式,所述第一步长和所述第二步长为偶数。
20.根据权利要求19所述的方法,其特征在于,所述第一像素距离、所述第二像素距离、预设的水平步长、所述第一步长和所述第二步长满足算式:
tmp=[left_gap/(left_gap+right_gap)*speed_x]
speed_right=speed_x-speed_left
其中,speed_left为所述第一步长,speed_right为所述第二步长,speed_x为所述预设的水平步长,left_gap为所述第一像素距离,所述right_gap为所述第二像素距离,[left_gap/(left_gap+right_gap)*speed_x]用于对left_gap/(left_gap+right_gap)*speed_x进行取整。
21.一种图片裁剪方法,其特征在于,应用于电子设备,所述方法包括:
接收到用于触发所述电子设备进行人脸对焦的第一事件;其中,所述第一事件包括以下各项之一:接收到用户接通视频通话的操作、或者接收到用户打开相机应用的操作;
响应于所述第一事件,所述电子设备通过摄像头采集原始图片;
对所述原始图片进行人脸检测,得到人脸区域,所述人脸区域为覆盖所述原始图片中所有人脸的最小区域,所述人脸区域小于等于所述原始图片所在区域;
获取n个区域;其中,所述n个区域的尺寸依次增大,一个区域的尺寸包括该区域的宽度和高度,所述n个区域的比例与所述原始图片的比例相同,且第i个区域的宽度为第1个区域的宽度的i倍,i≤n;
若所述第i个区域的尺寸不足以覆盖所述人脸区域,且第i+1个区域的尺寸足以覆盖所述人脸区域,将所述第i+1个区域的尺寸确定为第一裁剪区域的尺寸;
以所述人脸区域为中心,根据所述第一裁剪区域的尺寸和所述人脸区域的位置信息,确定所述第一裁剪区域的位置;
按照所述第一裁剪区域的尺寸和位置对所述原始图片进行裁剪,生成第一裁剪图片;
显示第一界面;其中,所述第一界面包括放大后的所述第一裁剪图片,放大后的所述第一裁剪图片的尺寸和所述原始图片的尺寸相同。
22.根据权利要求21所述的方法,其特征在于,在所述显示第一界面前,所述方法还包括:
依次显示多个第二界面,每个所述第二界面均包括放大后的第二裁剪图片;其中,每个所述第二裁剪图片是对所述原始图片进行裁剪得到的,每个放大后的第二裁剪图片的尺寸和所述原始图片的尺寸相同,每个所述第二裁剪图片的尺寸大于所述第一裁剪图片的尺寸,且按照所述多个第二界面的显示顺序,每个放大后的第二裁剪图片中覆盖所有人脸的最小区域依次增大。
23.根据权利要求22所述的方法,其特征在于,所述方法还包括:
根据所述第一裁剪区域的位置信息和所述原始图片的尺寸确定步长;
按照所述步长缩小所述原始图片,得到多个所述第二裁剪区域;
按照多个所述第二裁剪区域分别对所述原始图片进行裁剪,得到多个所述第二裁剪图片。
24.根据权利要求21-23中任意一项所述的方法,其特征在于,所述摄像头为通用串行总线摄像头,所述原始图片的格式为YUYV格式,所述第一裁剪区域的左边界到所述原始图片的左边界的像素距离为偶数,所述第一裁剪区域的右边界到所述原始图片的右边界的像素距离为偶数。
25.一种电子设备,其特征在于,所述电子设备包括:存储器和一个或多个处理器;所述存储器与所述处理器耦合;
其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-24中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,包括计算机指令;
当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-24中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211620168.3A CN116703701B (zh) | 2022-12-15 | 2022-12-15 | 一种图片裁剪方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211620168.3A CN116703701B (zh) | 2022-12-15 | 2022-12-15 | 一种图片裁剪方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116703701A CN116703701A (zh) | 2023-09-05 |
CN116703701B true CN116703701B (zh) | 2024-05-17 |
Family
ID=87828096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211620168.3A Active CN116703701B (zh) | 2022-12-15 | 2022-12-15 | 一种图片裁剪方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116703701B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007020029A (ja) * | 2005-07-11 | 2007-01-25 | Sony Corp | 画像処理装置および方法、プログラム並びに記録媒体 |
CN101196995A (zh) * | 2007-12-27 | 2008-06-11 | 北京中星微电子有限公司 | 图像中最大人脸的检测方法 |
CN104408687A (zh) * | 2014-10-31 | 2015-03-11 | 酷派软件技术(深圳)有限公司 | 一种图片播放的方法及装置 |
CN104952027A (zh) * | 2014-10-11 | 2015-09-30 | 腾讯科技(北京)有限公司 | 一种包含人脸信息的图片剪裁方法及装置 |
CN111768416A (zh) * | 2020-06-19 | 2020-10-13 | Oppo广东移动通信有限公司 | 照片裁剪方法及装置 |
CN113628229A (zh) * | 2021-08-04 | 2021-11-09 | 展讯通信(上海)有限公司 | 图像裁剪方法及相关产品 |
CN115205943A (zh) * | 2022-07-22 | 2022-10-18 | 中国平安人寿保险股份有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN115334237A (zh) * | 2022-07-26 | 2022-11-11 | 广州紫为云科技有限公司 | 基于usb相机的人像对焦方法、装置及介质 |
-
2022
- 2022-12-15 CN CN202211620168.3A patent/CN116703701B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007020029A (ja) * | 2005-07-11 | 2007-01-25 | Sony Corp | 画像処理装置および方法、プログラム並びに記録媒体 |
CN101196995A (zh) * | 2007-12-27 | 2008-06-11 | 北京中星微电子有限公司 | 图像中最大人脸的检测方法 |
CN104952027A (zh) * | 2014-10-11 | 2015-09-30 | 腾讯科技(北京)有限公司 | 一种包含人脸信息的图片剪裁方法及装置 |
CN104408687A (zh) * | 2014-10-31 | 2015-03-11 | 酷派软件技术(深圳)有限公司 | 一种图片播放的方法及装置 |
CN111768416A (zh) * | 2020-06-19 | 2020-10-13 | Oppo广东移动通信有限公司 | 照片裁剪方法及装置 |
CN113628229A (zh) * | 2021-08-04 | 2021-11-09 | 展讯通信(上海)有限公司 | 图像裁剪方法及相关产品 |
CN115205943A (zh) * | 2022-07-22 | 2022-10-18 | 中国平安人寿保险股份有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN115334237A (zh) * | 2022-07-26 | 2022-11-11 | 广州紫为云科技有限公司 | 基于usb相机的人像对焦方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116703701A (zh) | 2023-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111050062B (zh) | 一种拍摄方法及电子设备 | |
US20220321797A1 (en) | Photographing method in long-focus scenario and terminal | |
CN112584251B (zh) | 一种显示方法及电子设备 | |
EP4117276B1 (en) | Image display method and electronic device | |
CN111355998B (zh) | 视频处理方法及装置 | |
CN113810604B (zh) | 文档拍摄方法、电子设备和存储介质 | |
EP4117275A1 (en) | Image fusion method and electronic device | |
CN115526787A (zh) | 视频处理方法和装置 | |
CN111835973A (zh) | 拍摄方法、拍摄装置、存储介质与移动终端 | |
CN114531539B (zh) | 拍摄方法及电子设备 | |
CN113573120A (zh) | 音频的处理方法及电子设备 | |
CN114363678A (zh) | 一种投屏方法及设备 | |
CN116703701B (zh) | 一种图片裁剪方法及电子设备 | |
CN112243117A (zh) | 图像处理装置、方法及摄像机 | |
CN114466101B (zh) | 显示方法及电子设备 | |
CN114979458B (zh) | 一种图像的拍摄方法及电子设备 | |
CN116723416B (zh) | 图像处理方法及电子设备 | |
RU2807091C1 (ru) | Способ слияния изображений и электронное устройство | |
CN117135259B (zh) | 摄像头的切换方法、电子设备、芯片***及可读存储介质 | |
CN116051435B (zh) | 图像融合方法和电子设备 | |
EP4280055A1 (en) | Image display method, electronic device, and storage medium | |
CN115701129A (zh) | 一种图像处理方法及电子设备 | |
JP2024526253A (ja) | キャプション表示方法及び関連装置 | |
CN117479008A (zh) | 一种视频处理方法、电子设备及芯片*** | |
CN117714849A (zh) | 一种图像拍摄方法及相关设备 |
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 |