CN108965686B - 拍照的方法及装置 - Google Patents
拍照的方法及装置 Download PDFInfo
- Publication number
- CN108965686B CN108965686B CN201710349786.1A CN201710349786A CN108965686B CN 108965686 B CN108965686 B CN 108965686B CN 201710349786 A CN201710349786 A CN 201710349786A CN 108965686 B CN108965686 B CN 108965686B
- Authority
- CN
- China
- Prior art keywords
- cameras
- camera
- picture
- photos
- cutting
- 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 41
- 238000005520 cutting process Methods 0.000 claims abstract description 175
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 10
- 238000003384 imaging method Methods 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 11
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 238000003786 synthesis reaction Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 20
- 238000004590 computer program Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/67—Focus control based on electronic image sensor signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/95—Computational photography systems, e.g. light-field imaging systems
- H04N23/951—Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种拍照的方法,包括:获取N个摄像头各自对应的拍摄画面;所述N=2或N=4×2k,所述k为自然数;命令所述N个摄像头分别对所述N个摄像头各自对应的拍摄画面同时进行对焦,得到所述N个摄像头各自对应的对焦画面;命令所述N个摄像头分别对所述N个摄像头各自对应的对焦画面同时进行拍照,得到所述N个摄像头各自对应的照片;根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,得到所述N个摄像头各自对应的裁剪后的照片;将所述N个摄像头各自对应的裁剪后的照片合成为一张照片并保存。本发明同时公开了一种拍照的装置。
Description
技术领域
本发明涉及拍照技术领域,尤其涉及一种拍照的方法及装置。
背景技术
随着智能终端技术的发展,特别是手机的普及和应用,手机的娱乐功能也越来越丰富,播放音乐、拍照、浏览网页、玩游戏等,为人们的生活提供了更多的方便和乐趣;其较高的便捷性、普及性以及摄像头硬件的不断升级,使得手机逐渐取代数码照相机,成为人们日常拍摄及拍照的常用工具,这使得人们对手机的拍照功能提出了更高的要求。
目前,在使用多摄像头手机进行拍照时,多个摄像头均使用同一个焦点进行拍照,这使得拍摄出的画面容易失真,照片质量不高。
发明内容
有鉴于此,本发明实施例期望提供一种拍照的方法及装置,以实现对拍摄画面的多个焦点的同时对焦和拍照,进而降低拍摄出的画面的失真率,提高照片质量。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供一种拍照的方法,所述方法包括:
获取N个摄像头各自对应的拍摄画面;所述N=2或N=4×2k,所述k为自然数;
命令所述N个摄像头分别对所述N个摄像头各自对应的拍摄画面同时进行对焦,得到所述N个摄像头各自对应的对焦画面;
命令所述N个摄像头分别对所述N个摄像头各自对应的对焦画面同时进行拍照,得到所述N个摄像头各自对应的照片;
根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,得到所述N个摄像头各自对应的裁剪后的照片;
将所述N个摄像头各自对应的裁剪后的照片合成为一张照片并保存。
上述方案中,所述命令所述N个摄像头分别对所述N个摄像头各自对应的拍摄画面同时进行对焦,包括:
将所述N个摄像头各自对应的拍摄画面平均划分成N=m×n个子拍摄区域;所述N个子拍摄区域是由m行n列个子拍摄区域所组成,所述m为所述N个摄像头中一纵列的摄像头个数,所述n为所述N个摄像头中一横行的摄像头个数,所述m和n为整数,且所述m和n不同时为1;
将所述N个摄像头中的第i行第j列的摄像头在所述N个子拍摄区域中对应的第i行第j列的子拍摄区域确定为所述第i行第j列的摄像头的待对焦画面;所述i为小于或等于m的整数,所述j为小于或等于n的整数;
命令所述N个摄像头分别对所述N个摄像头各自对应的待对焦画面的对焦位置同时进行对焦;所述待对焦画面的对焦位置为所述待对焦画面的中心点的位置,或所述待对焦画面的对焦位置为以所述待对焦画面的中心点为基准向外扩展一预设距离得到的矩形区域,或所述待对焦画面的对焦位置为所述待对焦画面对应的摄像头的对焦光标在所述待对焦画面中选定的位置。
上述方案中,所述根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,包括:
当所述N=2、且所述2个摄像头为一横行排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第一裁剪方式进行裁剪;所述横行排列是以用户为基准的横向方向的排列方式;
当所述N=2、且所述2个摄像头为一纵列排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第二裁剪方式进行裁剪;所述纵列排列是以用户为基准的纵向方向的排列方式;
当所述N=4×2k、且所述4×2k个摄像头按2k组2×2的矩阵方式进行布置时,分别对每一组中4个摄像头各自对应的照片进行裁剪;
所述对每一组中4个摄像头各自对应的照片进行裁剪,包括:
根据每一横行的2个摄像头之间的距离和所述每一横行的2个摄像头各自对应的照片的参数,分别对所述每一横行的2个摄像头各自对应的照片按照所述第一裁剪方式进行裁剪,同时根据每一纵列的2个摄像头之间的距离和所述每一纵列的2个摄像各自对应的照片的参数,分别对所述每一纵列的2个摄像头各自对应的照片按照所述第二裁剪方式进行裁剪。
上述方案中,所述根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第一裁剪方式进行裁剪,包括:
根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第一偏移值;所述第1个摄像头是以拍照用户为基准的左边的摄像头,所述第2个摄像头是以拍照用户为基准的右边的摄像头;
根据所述第一偏移值确定出第一横向裁剪长度和第二横向裁剪长度;
从所述第1个摄像头对应的照片的左侧边缘开始,对所述第1个摄像头对应的照片的横边长度小于所述第一横向裁剪长度的照片部分进行裁剪,同时对所述第1个摄像头对应的照片的横边长度大于所述第二横向裁剪长度的照片部分进行裁剪;
基于针对所述第1个摄像头对应的照片的裁剪方式,利用水平镜像原理对所述第2个摄像头对应的照片进行裁剪。
上述方案中,所述根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第二裁剪方式进行裁剪,包括:
根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第二偏移值;所述第1个摄像头是以拍照用户为基准的上边的摄像头,所述第2个摄像头是以拍照用户为基准的下边的摄像头;
根据所述第二偏移值确定出第一纵向裁剪长度和第二纵向裁剪长度;
从所述第1个摄像头对应的照片的上边缘开始,对所述第1个摄像头对应的照片的纵边长度小于所述第一纵向裁剪长度的照片部分进行裁剪,并对所述第1个摄像头对应的照片的纵边长度大于所述第二纵向裁剪长度的照片部分进行裁剪;
基于针对所述第1个摄像头对应的照片的裁剪方式,利用垂直镜像原理对所述第2个摄像头对应的照片进行裁剪。
上述方案中,所述第一横向裁剪长度为D1/2;所述第二横向裁剪长度为W/2+D1/2;
所述D1为所述第一偏移值;所述W为所述N个摄像头各自对应的拍摄画面的横向分辨率。
上述方案中,所述第一纵向裁剪长度为D2/2;所述第二纵向裁剪长度为H/2+D2/2;
所述D2为所述第二偏移值;所述H为所述N个摄像头各自对应的拍摄画面的纵向分辨率。
上述方案中,所述将所述N个摄像头各自对应的裁剪后的照片合成为一张照片并保存,包括:
将所述N个摄像头各自对应的裁剪后的照片采用直接拼接的方式,或通过图像算法库中提供的图像拼接函数合成为一张照片并保存;
所述图像算法库包括:开源计算机视觉库OpenCV和/或高通计算机视觉库FastCV。
上述方案中,所述照片的参数包括:对焦位置处的物距和拍摄画面的分辨率。
上述方案中,所述获取N个摄像头各自对应的拍摄画面,包括:
在多焦拍照功能为开启时,获取所述N个摄像头各自对应的拍摄画面。
本发明提供一种拍照的装置,所述装置包括:
获取模块,用于获取N个摄像头各自对应的拍摄画面;所述N=2或N=4×2k,所述k为自然数;
对焦模块,用于命令所述N个摄像头分别对所述N个摄像头各自对应的拍摄画面同时进行对焦,得到所述N个摄像头各自对应的对焦画面;
拍照模块,用于命令所述N个摄像头分别对所述N个摄像头各自对应的对焦画面同时进行拍照,得到所述N个摄像头各自对应的照片;
裁剪模块,用于根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,得到所述N个摄像头各自对应的裁剪后的照片;
合成模块,用于将所述N个摄像头各自对应的裁剪后的照片合成为一张照片并保存。
上述方案中,所述对焦模块,具体用于将所述N个摄像头各自对应的拍摄画面平均划分成N=m×n个子拍摄区域;所述N个子拍摄区域是由m行n列个子拍摄区域所组成,所述m为所述N个摄像头中一纵列的摄像头个数,所述n为所述N个摄像头中一横行的摄像头个数,所述m和n为整数,且所述m和n不同时为1;
所述对焦模块,还具体用于将所述N个摄像头中的第i行第j列的摄像头在所述N个子拍摄区域中对应的第i行第j列的子拍摄区域确定为所述第i行第j列的摄像头的待对焦画面;所述i为小于或等于m的整数,所述j为小于或等于n的整数;
所述对焦模块,还具体用于命令所述N个摄像头分别对所述N个摄像头各自对应的待对焦画面的对焦位置同时进行对焦;所述待对焦画面的对焦位置为所述待对焦画面的中心点的位置,或所述待对焦画面的对焦位置为以所述待对焦画面的中心点为基准向外扩展一预设距离得到的矩形区域,或所述待对焦画面的对焦位置为所述待对焦画面对应的摄像头的对焦光标在所述待对焦画面中选定的位置。
上述方案中,所述裁剪模块,具体用于当所述N=2、且所述2个摄像头为一横行排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第一裁剪方式进行裁剪;所述横行排列是以用户为基准的横向方向的排列方式;
所述裁剪模块,还具体用于当所述N=2、且所述2个摄像头为一纵列排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第二裁剪方式进行裁剪;所述纵列排列是以用户为基准的纵向方向的排列方式;
所述裁剪模块,还具体用于当所述N=4×2k、且所述4×2k个摄像头按2k组2×2的矩阵方式进行布置时,分别对每一组中4个摄像头各自对应的照片进行裁剪;
所述裁剪模块,还具体用于根据每一横行的2个摄像头之间的距离和所述每一横行的2个摄像头各自对应的照片的参数,分别对所述每一横行的2个摄像头各自对应的照片按照所述第一裁剪方式进行裁剪,同时根据每一纵列的2个摄像头之间的距离和所述每一纵列的2个摄像各自对应的照片的参数,分别对所述每一纵列的2个摄像头各自对应的照片按照所述第二裁剪方式进行裁剪。
上述方案中,所述裁剪模块,还具体用于根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第一偏移值;所述第1个摄像头是以拍照用户为基准的左边的摄像头,所述第2个摄像头是以拍照用户为基准的右边的摄像头;
所述裁剪模块,还具体用于根据所述第一偏移值确定出第一横向裁剪长度和第二横向裁剪长度;
所述裁剪模块,还具体用于从所述第1个摄像头对应的照片的左侧边缘开始,对所述第1个摄像头对应的照片的横边长度小于所述第一横向裁剪长度的照片部分进行裁剪,同时对所述第1个摄像头对应的照片的横边长度大于所述第二横向裁剪长度的照片部分进行裁剪;
所述裁剪模块,还具体用于基于针对所述第1个摄像头对应的照片的裁剪方式,利用水平镜像原理对所述第2个摄像头对应的照片进行裁剪。
上述方案中,所述裁剪模块,还具体用于根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第二偏移值;所述第1个摄像头是以拍照用户为基准的上边的摄像头,所述第2个摄像头是以拍照用户为基准的下边的摄像头;
所述裁剪模块,还具体用于根据所述第二偏移值确定出第一纵向裁剪长度和第二纵向裁剪长度;
所述裁剪模块,还具体用于从所述第1个摄像头对应的照片的上边缘开始,对所述第1个摄像头对应的照片的纵边长度小于所述第一纵向裁剪长度的照片部分进行裁剪,并对所述第1个摄像头对应的照片的纵边长度大于所述第二纵向裁剪长度的照片部分进行裁剪;
所述裁剪模块,还具体用于基于针对所述第1个摄像头对应的照片的裁剪方式,利用垂直镜像原理对所述第2个摄像头对应的照片进行裁剪。
上述方案中,所述第一横向裁剪长度为D1/2;所述第二横向裁剪长度为W/2+D1/2;
所述D1为所述第一偏移值;所述W为所述N个摄像头各自对应的拍摄画面的横向分辨率。
上述方案中,所述第一纵向裁剪长度为D2/2;所述第二纵向裁剪长度为H/2+D2/2;
所述D2为所述第二偏移值;所述H为所述N个摄像头各自对应的拍摄画面的纵向分辨率。
上述方案中,所述合成模块,具体用于将所述N个摄像头各自对应的裁剪后的照片采用直接拼接的方式,或通过图像算法库中提供的图像拼接函数合成为一张照片并保存;
所述图像算法库包括:开源计算机视觉库OpenCV和/或高通计算机视觉库FastCV。
上述方案中,所述照片的参数包括:对焦位置处的物距和拍摄画面的分辨率。
上述方案中,所述获取模块,具体用于在多焦拍照功能为开启时,获取所述N个摄像头各自对应的拍摄画面。
本发明实施例所提供的拍照的方法及装置,在多焦拍照功能为开启时,获取N个摄像头各自对应的拍摄画面,其中N=2或N=4×2k,k为自然数;然后命令N个摄像头分别对N个摄像头各自对应的拍摄画面同时进行对焦,以得到N个摄像头各自对应的对焦画面;接着命令N个摄像头分别对N个摄像头各自对应的对焦画面同时进行拍照,以得到N个摄像头各自对应的照片;再根据N个摄像头的位置关系及N个摄像头各自对应的照片的参数,分别对N个摄像头各自对应的照片进行裁剪,得到N个摄像头各自对应的裁剪后的照片;最后将N个摄像头各自对应的裁剪后的照片合成为一张照片并保存;通过使用多个摄像头对所要拍摄的画面的多个焦点同时进行对焦,进而同时进行拍照,能够获得更为清晰的照片,降低了拍摄出的画面的失真率,提高了照片质量。
附图说明
图1为本发明拍照的方法实施例一的流程图;
图2为本发明拍照的方法实施例二的结构框图;
图3为本发明拍照的方法实施例二的流程图;
图4为本发明拍照的方法实施例二中确定左摄像头的对焦画面和右摄像头的对焦画面的示意图;
图5为本发明拍照的方法实施例二中左摄像头和右摄像头各自对应的照片之间的关系示意图;
图6为本发明拍照的方法实施例二中确定左摄像头和右摄像头各自对应的照片之间的偏移值的示意图;
图7为本发明拍照的方法实施例二中根据第一横向裁剪长度和第二横向裁剪长度对左摄像头和右摄像头各自对应的照片进行裁剪的示意图;
图8为本发明拍照的装置实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例一
图1为本发明拍照的方法实施例一的流程图;如图1所示,本发明实施例提供的拍照的方法,可以包括如下步骤:
步骤101:获取N个摄像头各自对应的拍摄画面;所述N=2或N=4×2k,所述k为自然数。
在多焦拍照功能下,具有N个摄像头的终端首先获取这N个摄像头各自对应的拍摄画面,其中N的取值为2或者是4×2k,k为自然数。
例如,终端具有4个摄像头,在多焦拍照功能下,终端首先获取这4个摄像头各自对应的拍摄画面。
步骤102:命令所述N个摄像头分别对所述N个摄像头各自对应的拍摄画面同时进行对焦,得到所述N个摄像头各自对应的对焦画面。
终端获取到N个摄像头各自对应的拍摄画面后,先将这N个摄像头各自对应的拍摄画面平均划分成N=m×n个子拍摄区域,其中的N个子拍摄区域是由m行n列个子拍摄区域组成的,m为这N个摄像头中一纵列的摄像头个数,n为这N个摄像头中一横行的摄像头个数,m和n均为整数,且m和n不同时为1;然后将这N个摄像头中的第i行第j列的摄像头在其对应的N个子拍摄区域中对应的第i行第j列的子拍摄区域确定为第i行第j列的摄像头的待对焦画面,其中的i为小于或等于m的整数,j为小于或等于n的整数;在确定出N个摄像头各自对应的待对焦画面之后,终端命令N个摄像头分别对N个摄像头各自对应的待对焦画面的对焦位置同时进行对焦,其中的待对焦画面的对焦位置为待对焦画面的中心点的位置,或待对焦画面的对焦位置为以待对焦画面的中心点为基准向外扩展一预设距离得到的矩形区域,或待对焦画面的对焦位置为待对焦画面对应的摄像头的对焦光标在待对焦画面中选定的位置;这样便得到了N个摄像头各自对应的对焦画面。
例如,终端具有4个摄像头,这4个摄像头按照2×2的矩阵形式进行布置;终端在获取到这4个摄像头各自对应的拍摄画面之后,先将每个摄像头各自对应的拍摄画面平均分成4个子拍摄区域,这4个子拍摄区域也同4个摄像头一样,为2×2的矩阵;对于第1行第1列的摄像头,将其拍摄画面的4个子拍摄区域中第1行第1列的子拍摄区域确定为该摄像头的待对焦画面;对于第1行第2列的摄像头,将其对应的拍摄画面的4个子拍摄区域中第1行第2列的子拍摄区域确定为该摄像头的待对焦画面;对于第2行第1列的摄像头,将其对应的拍摄画面的4个子拍摄区域中第2行第1列的子拍摄区域确定为该摄像头的待对焦画面;对于第2行第2列的摄像头,将其对应的拍摄画面的4个子拍摄区域中第2行第2列的子拍摄区域确定为该摄像头的待对焦画面;这样便得到了4个摄像头各自对应的待对焦画面;接着,终端将以待对焦画面的中心点为基准向外扩展一预设距离,如20个像素,将得到的矩形区域作为待对焦画面的对焦位置,并命令这4个摄像头分别对各自对应的待对焦画面的对焦位置同时进行对焦,得到4个摄像头各自对应的对焦画面;实际应用中,也可以在终端的拍摄界面上为这4个摄像头分别提供一个对焦光标,这样,用户便可通过这些对焦光标来选定每个摄像头对应的待对焦画面的对焦位置。
步骤103:命令所述N个摄像头分别对所述N个摄像头各自对应的对焦画面同时进行拍照,得到所述N个摄像头各自对应的照片。
终端在命令N个摄像头分别对N个摄像头各自对应的拍摄画面同时进行对焦,得到N个摄像头各自对应的对焦画面之后,命令这N个摄像头分别对各自对应的对焦画面同时进行拍照,得到这N个摄像头各自对应的照片。
步骤104:根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,得到所述N个摄像头各自对应的裁剪后的照片。
当N=2、且这2个摄像头为一横行排列时,终端在得到这2个摄像头各自对应的照片之后,将根据这2个摄像头之间的距离和这2个摄像头各自对应的照片的参数,分别对这2个摄像头各自对应的照片按照第一裁剪方式进行裁剪;其中的横行排列是以用户为基准的横向方向的排列方式。
实际应用中,终端在得到这一横行排列的2个摄像头各自对应的照片之后,将根据这2个摄像头中的第1个摄像头和第2个摄像头之间的距离及第1个摄像头和第2个摄像头各自对应的照片的对焦位置处的物距和拍摄画面的分辨率,利用高斯成像公式确定出第1个摄像头对应的照片和第2个摄像头对应的照片之间的第一偏移值;其中的第1个摄像头是以拍照用户为基准的左边的摄像头,第2个摄像头是以拍照用户为基准的右边的摄像头;终端在确定出第一偏移值之后,根据第一偏移值确定出第一横向裁剪长度和第二横向裁剪长度;对于第1个摄像头对应的照片,从其左侧边缘开始,对其横边长度小于第一横向裁剪长度的照片部分进行裁剪,同时对其横边长度大于第二横向裁剪长度的照片部分进行裁剪,从而完成对第1个摄像头对应的照片的裁剪;对于第2个摄像头对应的照片,基于针对第1个摄像头对应的照片的裁剪方式,利用水平镜像原理进行裁剪;即,对于第2个摄像头对应的照片,从其右侧边缘开始,对其横边长度小于第一横向裁剪长度的照片部分进行裁剪,同时对其横边长度大于第二横向裁剪长度的照片部分进行裁剪。
实际应用中,假设终端确定出的第一偏移值为D1,2个摄像头各自对应的拍摄画面的横向分辨率为W,则第一横向裁剪长度可以为D1/2,第二横向裁剪长度可以为W/2+D1/2。
当N=2、且这2个摄像头为一纵列排列时,终端在得到这2个摄像头各自对应的照片之后,将根据这2个摄像头之间的距离和这2个摄像头各自对应的照片的参数,分别对这2个摄像头各自对应的照片按照第二裁剪方式进行裁剪;其中的纵列排列是以用户为基准的纵向方向的排列方式。
实际应用中,终端在得到这一纵列排列的2个摄像头各自对应的照片之后,将根据这2个摄像头中的第1个摄像头和第2个摄像头之间的距离及第1个摄像头和第2个摄像头各自对应的照片的对焦位置处的物距和拍摄画面的分辨率,利用高斯成像公式确定出第1个摄像头对应的照片和第2个摄像头对应的照片之间的第二偏移值,其中的第1个摄像头是以拍照用户为基准的上边的摄像头,第2个摄像头是以拍照用户为基准的下边的摄像头;终端在确定出第二偏移值之后,根据第二偏移值确定出第一纵向裁剪长度和第二纵向裁剪长度;对于第1个摄像头对应的照片,从其上边缘开始,对其纵边长度小于第一纵向裁剪长度的照片部分进行裁剪,同时对其纵边长度大于第二纵向裁剪长度的照片部分进行裁剪;对于第2个摄像头对应的照片,基于针对第1个摄像头对应的照片的裁剪方式,利用垂直镜像原理对第2个摄像头对应的照片进行裁剪;即,对于第2个摄像头对应的照片,从其下边缘开始,对其纵边长度小于第一纵向裁剪长度的照片部分进行裁剪,同时对其纵边长度大于第二纵向裁剪长度的照片部分进行裁剪。
实际应用中,假设终端确定出的第二偏移值为D2,2个摄像头各自对应的拍摄画面的纵向分辨率为H,则第一纵向裁剪长度可以为D2/2,第二纵向裁剪长度可以为H/2+D2/2。
当N=4×2k、且这4×2k个摄像头按2k组2×2的矩阵方式进行布置时,分别对每一组中的2×2个摄像头各自对应的照片进行裁剪;实际应用中,对于每一组中的2×2个摄像头各自对应的照片,根据每一横行的2个摄像头之间的距离和每一横行的2个摄像头各自对应的照片的对焦位置处的物距和拍摄画面的分辨率,分别对每一横行的2个摄像头各自对应的照片按照上述第一裁剪方式进行裁剪,即按照N=2且这2个摄像头为一横行排列时的裁剪方式进行裁剪;同时,根据每一纵列的2个摄像头之间的距离和每一纵列的2个摄像头各自对应的照片的对焦位置处的物距和拍摄画面的分辨率,分别对每一纵列的2个摄像头各自对应的照片按照上述第二裁剪方式进行裁剪,即按照N=2且这2个摄像头为一纵列排列时的裁剪方式进行裁剪。
步骤105:将所述N个摄像头各自对应的裁剪后的照片合成为一张照片并保存。
终端在对N个摄像头各自对应的照片进行裁剪,得到N个摄像头各自对应的裁剪后的照片之后,将得到的N个摄像头各自对应的裁剪后的照片采用直接拼接的方式,或通过图像算法库中提供的图像拼接函数合成为一张照片并保存;其中的图像算法库可以包括:开源计算机视觉库(Open Source Computer Vision Library,OpenCV)和/或高通计算机视觉库(Fast Computer Vision Library,FastCV)等。
本发明实施例提供的拍照的方法,在多焦拍照功能为开启时,获取N个摄像头各自对应的拍摄画面,其中N=2或N=4×2k,k为自然数;然后命令N个摄像头分别对N个摄像头各自对应的拍摄画面同时进行对焦,以得到N个摄像头各自对应的对焦画面;接着命令N个摄像头分别对N个摄像头各自对应的对焦画面同时进行拍照,以得到N个摄像头各自对应的照片;再根据N个摄像头的位置关系及N个摄像头各自对应的照片的参数,分别对N个摄像头各自对应的照片进行裁剪,得到N个摄像头各自对应的裁剪后的照片;最后将N个摄像头各自对应的裁剪后的照片合成为一张照片并保存;通过使用多个摄像头对所要拍摄的画面的多个焦点同时进行对焦,进而同时进行拍照,能够获得更为清晰的照片,降低了拍摄出的照片的失真率,提高了照片质量,同时提高了拍摄的速度。
实施例二
图2为本发明拍照的方法实施例二的结构框图;如图2所示,该结构包括多焦拍照功能开关配置模块、多焦拍照主控模块、拍照及文件保存模块、图片拼接处理模块以及图像算法库;其中的多焦拍照功能开关配置模块负责为用户提供接口,以实现对多焦拍照功能的打开或关闭进行配置的目的;拍照及文件保存模块负责手机通过摄像头进行画面的拍摄,以及将拍摄到的图像数据按照一定的图片格式保存到手机的文件系统中;图片拼接处理模块负责对各个摄像头拍摄的照片按照其各自的焦点位置进行裁减和拼接;图像算法库,比如OpenCV和FastCV等算法库,可以为图片拼接处理模块提供众多的图片处理函数;多焦拍照主控模块则负责对对各个模块进行协调以实现多焦拍照功能。
本实施例将在图2所示结构的基础上,以双摄手机为例对本发明拍照的方法进行说明,这里仅为举例说明,并不用于限定本发明;该双摄手机的两个摄像头按照以用户为基准的横向方向排列为一横行,为了描述方便,将以拍照用户为基准的左边的摄像头定义为左摄像头,以拍照用户为基准的右边的摄像头定义为右摄像头。
图3为本发明拍照的方法实施例二的流程图;如图3所示,本发明实施例提供的拍照的方法,可以包括如下步骤:
步骤301:判断多焦拍照功能是否打开。
当用户按下拍照键时,手机的多焦拍照主控模块会从多焦拍照功能开关配置模块读取多焦拍照功能开关的设置值,若判断多焦拍照功能未打开,则执行步骤302;若判断多焦拍照功能已打开,则执行步骤303。
步骤302:手机按照普通拍摄方式进行拍摄并保存照片。
当手机的多焦拍照主控模块判断多焦拍照功能未打开时,手机将按照普通拍摄方式进行拍摄并保存照片,即按照当前设置的拍摄方式进行拍摄并保存所拍摄的照片。
步骤303:获取左摄像头和右摄像头各自对应的拍摄画面。
当手机的多焦拍照主控模块判断多焦拍照功能打开时,多焦拍照主控模块会向拍照及文件保存模块发送对焦消息,调用拍照及文件保存模块提供的对焦函数,使手机先获取左摄像头对应的拍摄画面和右摄像头对应的拍摄画面。
步骤304:命令左摄像头和右摄像头分别对左摄像头和右摄像头各自对应的拍摄画面同时进行对焦,得到左摄像头和右摄像头各自对应的对焦画面。
图4为本发明拍照的方法实施例二中确定左摄像头的对焦画面和右摄像头的对焦画面的示意图;如图4所示,手机在获取到左摄像头对应的拍摄画面41和右摄像头对应的拍摄画面42之后,将左摄像头对应的拍摄画面41和右摄像头对应的拍摄画面42分别平均分成左右两个子拍摄区域;对于左摄像头,将其对应的拍摄画面41左侧的子拍摄区域,即子拍摄区域A1确定为左摄像头的待对焦画面;对于右摄像头,将其对应的拍摄画面42右侧的子拍摄区域,即子拍摄区域B2确定为右摄像头的待对焦画面;然后命令左摄像头对子拍摄区域A1的对焦位置、右摄像头对子拍摄区域B2的对焦位置同时进行对焦,将对焦后的拍摄画面41确定为左摄像头的对焦画面,将对焦后的拍摄画面42确定为右摄像头的对焦画面;其中,子拍摄区域A1的对焦位置为以子拍摄区域A1的中心点为基准向外扩展一预设距离,如50个像素得到的矩形区域,即A1中的虚线框区域;同样的,子拍摄区域B2的对焦位置为以子拍摄区域B2的中心点为基准向外扩展一预设距离,如50个像素得到的矩形区域,即B2中的虚线框区域。
实际应用中,对于四摄像头的手机,四个摄像头可以按照2×2的矩阵方式布置,在拍照时,以拍照用户为基准的左上方的摄像头(第一行第一列的摄像头)负责对它拍摄画面中的左上1/4幅画面的中央位置进行对焦,右上方的摄像头(第一行第二列的摄像头)负责对它拍摄画面中的右上1/4幅画面的中央位置进行对焦,左下方的摄像头(第二行第一列的摄像头)负责对它拍摄画面中的左下1/4幅画面的中央位置进行对焦,右下方的摄像头(第二行第二列的摄像头)负责对它拍摄画面中的右下1/4幅画面的中央位置进行对焦,四个摄像头分别对各自对应的对焦位置同时进行对焦,从而获得四个摄像头各自对应的对焦画面。
实际应用中,在手机的拍摄界面上可以为每个摄像头分别提供一个对焦光标,这样,用户便可以在手机的拍摄界面上通过每个摄像头的对焦光标来选定每个摄像头对应的待对焦画面的对焦位置。
步骤305:命令左摄像头和右摄像头分别对各自对应的对焦画面同时进行拍照,得到左摄像头和右摄像头各自对应的照片。
左摄像头和右摄像头成功对焦,得到左摄像头和右摄像头各自对应的对焦画面之后,将对焦完成消息通知给拍照及文件保存模块,进而告知多焦拍照主控模块;多焦拍照主控模块收到对焦完成消息后,会发送拍照消息给拍照及文件保存模块,间接的或者直接的调用拍照及文件保存模块提供的拍照函数,使手机的左摄像头和右摄像头别对各自对应的对焦画面同时进行拍照,得到左摄像头对应的照片和右摄像头对应的照片。
步骤306:根据左摄像头和右摄像头之间的距离及左摄像头和右摄像头各自对应的照片参数确定出左摄像头和右摄像头各自对应的照片之间的偏移值。
左摄像头和右摄像头成功完成拍照后,将拍照完成消息通知给拍照及文件保存模块,进而告知多焦拍照主控模块;多焦拍照主控模块收到拍照完成消息后,会发送图片处理消息给图片拼接处理模块,间接的或者直接的调用图片拼接处理模块提供的图片处理函数,首先根据左摄像头和右摄像头之间的距离、左摄像头和右摄像头各自对应的对焦位置处的物距以及拍摄画面的分辨率,利用高斯成像公式确定出左摄像头对应的照片和右摄像头对应的照片之间的偏移值。
图5为本发明拍照的方法实施例二中左摄像头和右摄像头各自对应的照片之间的关系示意图;如图5所示,左摄像头和右摄像头各自对应的照片的尺寸定义为宽W个像素,高H个像素,即横向分辨率为W像素,纵向分辨率为H像素;由于左摄像头和右摄像头之间存在一定的物理距离,因此,左摄像头和右摄像头拍摄出来的两张照片的画面会存在一个偏移值D,该偏移值随着拍摄物体的远近会发生变化,可利用高斯成像公式计算得到;需要说明的是,实际中左摄像头和右摄像头各自对应的照片处在同一行,这里将其上下放置仅是为了便于描述和比较。
图6为本发明拍照的方法实施例二中确定左摄像头和右摄像头各自对应的照片之间的偏移值的示意图;如图6所示,左摄像头和右摄像头分别对各自的对焦位置M1和M2处进行对焦,以便确定出M1和M2处的物距S1和S2;对S1和S2求平均值,记作Sa=(S1+S2)/2,得到的Sa对应图6中直角△abc的直角边ac;由于摄像头的视角是已知量,所以直角△abc中的角acb已知,因此,通过三角函数可求得ab边的长度为:ab=tan(角acb)*ac,其中的tan为正切,则左摄像头和右摄像头各自对应的照片的宽度为:bd=2*ab;结合左摄像头和右摄像头之间的距离Dc,有左摄像头和右摄像头各自对应的照片之间的偏移百分比值为:Dp=Dc/bd;而左摄像头和右摄像头各自对应的照片的横向分辨率为W像素,则可得到左摄像头和右摄像头各自对应的照片之间的偏移值为D=Dp*W,单位为像素。
步骤307:根据左摄像头和右摄像头各自对应的照片之间的偏移值确定出第一横向裁剪长度和第二横向裁剪长度。
在调用图片拼接处理模块提供的图片处理函数确定出左摄像头对应的照片和右摄像头对应的照片之间的偏移值D之后,继续调用该图片处理函数,根据确定出的偏移值确定出左摄像头和右摄像头各自对应的照片的第一横向裁剪长度和第二横向裁剪长度。
实际应用中,可以取偏移值D的一半作为第一横向裁剪长度,即第一横向裁剪长度T1=D/2,对应的可以取第二横向裁剪长度T2=W/2+D/2;其中的W为横向分辨率,单位是像素。
步骤308:根据第一横向裁剪长度和第二横向裁剪长度对左摄像头和右摄像头各自对应的照片进行裁剪,得到左摄像头和右摄像头各自对应的裁剪后的照片。
图7为本发明拍照的方法实施例二中根据第一横向裁剪长度和第二横向裁剪长度对左摄像头和右摄像头各自对应的照片进行裁剪的示意图;如图7所示,在确定出第一横向裁剪长度和第二横向裁剪长度之后,对于左摄像头对应的照片,从其左侧边缘开始,将其横边长度小于第一横向裁剪长度T1的照片部分裁剪掉,同时将其横边长度大于第二横向裁剪长度T2的照片部分裁剪掉,即将其左边宽度为第一横向裁剪长度T1的照片裁剪掉,同时将其右边从T2开始的照片裁剪掉,裁剪掉的部分为图7中虚线部分,保留剩余部分,剩余部分的照片为图7中实线部分,其宽度正好是W/2,;对于右摄像头对应的照片,采用与左摄像头对应的照片水平镜像的方式进行裁剪处理,从而得到左摄像头和右摄像头各自对应的裁剪后的照片。
需要说明的是,为了便于比较和描述,图7中将左摄像头和右摄像头各自对应的照片上下放置,实际中这两张照片是在同一行的。这里仅是以双摄像头为例进行说明,并不用于限制本发明,在实际应用中,对于2×2矩阵排列的四个摄像头拍摄的照片,可按照双摄像头的处理方法对每一行的两张照片进行裁剪,同时对每一列的两张照片进行裁剪;对每一列的两张照片的裁剪,只是将对每一行的两张照片的横向裁剪方式变成纵向裁剪方式而已,其裁剪原理是相同的;可扩展的,对于N=4×2k个摄像头,可将其分为2k组2×2矩阵排列的摄像头,然后对每一组中4个摄像头各自对应的照片按照上述方法进行裁剪。
实际应用中,对于裁减过后的照片,还可以使用图像算法库中的亮度调节函数对其亮度进行必要的调整,使各个图片的亮度均衡。
步骤309:将左摄像头和右摄像头各自对应的裁剪后的照片合成为一张照片并保存。
在调用图片拼接处理模块提供的图片处理函数得到左摄像头和右摄像头各自对应的裁剪后的照片之后,可调用图像算法库,如OpenCV和/或FastCV等算法库中提供的图像拼接函数或者是采用直接拼接的方式将左摄像头和右摄像头各自对应的裁剪后的照片合成为一张照片并保存。
本发明实施例提供的拍照的方法,通过判断多焦拍照功能是否打开;在多焦拍照功能打开时,获取左摄像头和右摄像头各自对应的拍摄画面;命令左摄像头和右摄像头分别对左摄像头和右摄像头各自对应的拍摄画面同时进行对焦,得到左摄像头和右摄像头各自对应的对焦画面;命令左摄像头和右摄像头分别对各自对应的对焦画面同时进行拍照,得到左摄像头和右摄像头各自对应的照片;根据左摄像头和右摄像头之间的距离及这两个摄像头各自对应的照片参数确定出左摄像头和右摄像头各自对应的照片之间的偏移值;根据左摄像头和右摄像头各自对应的照片之间的偏移值确定出第一横向裁剪长度和第二横向裁剪长度;根据第一横向裁剪长度和第二横向裁剪长度对左摄像头和右摄像头各自对应的照片进行裁剪,得到左摄像头和右摄像头各自对应的裁剪后的照片;将左摄像头和右摄像头各自对应的裁剪后的照片合成为一张照片并保存,实现了多焦拍照功能;通过使用双摄像头对这两个摄像头各自对应的拍摄画面的对焦位置同时进行对焦,进而同时进行拍照,能够获得更为清晰的照片,降低了拍摄出的照片的失真率,提高了照片质量,同时提高了拍照的速度。
实施例三
图8为本发明拍照的装置实施例的结构示意图;如图8所示,本发明实施例提供的拍照的装置08包括:获取模块81,对焦模块82,拍照模块83,裁剪模块84,合成模块85;其中,
所述获取模块81,用于获取N个摄像头各自对应的拍摄画面;所述N=2或N=4×2k,所述k为自然数;
所述对焦模块82,用于命令所述N个摄像头分别对所述N个摄像头各自对应的拍摄画面同时进行对焦,得到所述N个摄像头各自对应的对焦画面;
所述拍照模块83,用于命令所述N个摄像头分别对所述N个摄像头各自对应的对焦画面同时进行拍照,得到所述N个摄像头各自对应的照片;
所述裁剪模块84,用于根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,得到所述N个摄像头各自对应的裁剪后的照片;
所述合成模块85,用于将所述N个摄像头各自对应的裁剪后的照片合成为一张照片并保存。
进一步的,所述对焦模块82,具体用于将所述N个摄像头各自对应的拍摄画面平均划分成N=m×n个子拍摄区域;所述N个子拍摄区域是由m行n列个子拍摄区域所组成,所述m为所述N个摄像头中一纵列的摄像头个数,所述n为所述N个摄像头中一横行的摄像头个数,所述m和n为整数,且所述m和n不同时为1;
所述对焦模块82,还具体用于将所述N个摄像头中的第i行第j列的摄像头在所述N个子拍摄区域中对应的第i行第j列的子拍摄区域确定为所述第i行第j列的摄像头的待对焦画面;所述i为小于或等于m的整数,所述j为小于或等于n的整数;
所述对焦模块82,还具体用于命令所述N个摄像头分别对所述N个摄像头各自对应的待对焦画面的对焦位置同时进行对焦;所述待对焦画面的对焦位置为所述待对焦画面的中心点的位置,或所述待对焦画面的对焦位置为以所述待对焦画面的中心点为基准向外扩展一预设距离得到的矩形区域;或所述待对焦画面的对焦位置为所述待对焦画面对应的摄像头的对焦光标在所述待对焦画面中选定的位置。
进一步的,所述裁剪模块84,具体用于当所述N=2、且所述2个摄像头为一横行排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第一裁剪方式进行裁剪;所述横行排列是以用户为基准的横向方向的排列方式;
所述裁剪模块84,还具体用于当所述N=2、且所述2个摄像头为一纵列排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第二裁剪方式进行裁剪;所述纵列排列是以用户为基准的纵向方向的排列方式;
所述裁剪模块84,还具体用于当所述N=4×2k、且所述4×2k个摄像头按2k组2×2的矩阵方式进行布置时,分别对每一组中4个摄像头各自对应的照片进行裁剪;
所述裁剪模块84,还具体用于根据每一横行的2个摄像头之间的距离和所述每一横行的2个摄像头各自对应的照片的参数,分别对所述每一横行的2个摄像头各自对应的照片按照所述第一裁剪方式进行裁剪,同时根据每一纵列的2个摄像头之间的距离和所述每一纵列的2个摄像各自对应的照片的参数,分别对所述每一纵列的2个摄像头各自对应的照片按照所述第二裁剪方式进行裁剪。
进一步的,所述裁剪模块84,还具体用于根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第一偏移值;所述第1个摄像头是以拍照用户为基准的左边的摄像头,所述第2个摄像头是以拍照用户为基准的右边的摄像头;
所述裁剪模块84,还具体用于根据所述第一偏移值确定出第一横向裁剪长度和第二横向裁剪长度;
所述裁剪模块84,还具体用于从所述第1个摄像头对应的照片的左侧边缘开始,对所述第1个摄像头对应的照片的横边长度小于所述第一横向裁剪长度的照片部分进行裁剪,同时对所述第1个摄像头对应的照片的横边长度大于所述第二横向裁剪长度的照片部分进行裁剪;
所述裁剪模块84,还具体用于基于针对所述第1个摄像头对应的照片的裁剪方式,利用水平镜像原理对所述第2个摄像头对应的照片进行裁剪。
进一步的,所述裁剪模块84,还具体用于根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第二偏移值;所述第1个摄像头是以拍照用户为基准的上边的摄像头,所述第2个摄像头是以拍照用户为基准的下边的摄像头;
所述裁剪模块84,还具体用于根据所述第二偏移值确定出第一纵向裁剪长度和第二纵向裁剪长度;
所述裁剪模块84,还具体用于从所述第1个摄像头对应的照片的上边缘开始,对所述第1个摄像头对应的照片的纵边长度小于所述第一纵向裁剪长度的照片部分进行裁剪,并对所述第1个摄像头对应的照片的纵边长度大于所述第二纵向裁剪长度的照片部分进行裁剪;
所述裁剪模块84,还具体用于基于针对所述第1个摄像头对应的照片的裁剪方式,利用垂直镜像原理对所述第2个摄像头对应的照片进行裁剪。
进一步的,所述第一横向裁剪长度为D1/2;所述第二横向裁剪长度为W/2+D1/2;所述D1为所述第一偏移值;所述W为所述N个摄像头各自对应的拍摄画面的横向分辨率。
进一步的,所述第一纵向裁剪长度为D2/2;所述第二纵向裁剪长度为H/2+D2/2;所述D2为所述第二偏移值;所述H为所述N个摄像头各自对应的拍摄画面的纵向分辨率。
进一步的,所述合成模块85,具体用于将所述N个摄像头各自对应的裁剪后的照片采用直接拼接的方式,或通过图像算法库中提供的图像拼接函数合成为一张照片并保存;所述图像算法库包括:开源计算机视觉库OpenCV和/或高通计算机视觉库FastCV。
进一步的,所述获取模块81,具体用于在多焦拍照功能为开启时,获取所述N个摄像头各自对应的拍摄画面。
本实施例的拍照装置,可以用于执行上述所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在实际应用中,所述拍照装置08的获取模块81,对焦模块82,拍照模块83,裁剪模块84,合成模块85均可由位于拍照装置08中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (18)
1.一种拍照的方法,所述方法包括:
获取N个摄像头各自对应的拍摄画面,并将所述N个摄像头各自对应的拍摄画面平均划分成N=m×n个子拍摄区域;所述N=2或N=4×2k,所述k为自然数;所述N个子拍摄区域是由m行n列个子拍摄区域所组成,所述m为所述N个摄像头中一纵列的摄像头个数,所述n为所述N个摄像头中一横行的摄像头个数,所述m和n为整数,且所述m和n不同时为1;
将所述N个摄像头中的第i行第j列的摄像头在所述N个子拍摄区域中对应的第i行第j列的子拍摄区域确定为所述第i行第j列的摄像头的待对焦画面;所述i为小于或等于m的整数,所述j为小于或等于n的整数;
命令所述N个摄像头分别对所述N个摄像头各自对应的待对焦画面的对焦位置同时进行对焦,得到所述N个摄像头各自对应的对焦画面;所述待对焦画面的对焦位置为所述待对焦画面的中心点的位置,或所述待对焦画面的对焦位置为以所述待对焦画面的中心点为基准向外扩展一预设距离得到的矩形区域,或所述待对焦画面的对焦位置为所述待对焦画面对应的摄像头的对焦光标在所述待对焦画面中选定的位置;
命令所述N个摄像头分别对所述N个摄像头各自对应的对焦画面同时进行拍照,得到所述N个摄像头各自对应的照片;
根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,得到所述N个摄像头各自对应的裁剪后的照片,并将所述N个摄像头各自对应的剪裁后的照片合成为一张照片并保存。
2.根据权利要求1所述的方法,其特征在于,所述根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,包括:
当所述N=2、且所述2个摄像头为一横行排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第一裁剪方式进行裁剪,得到所述2个摄像头各自对应的剪裁后的第一照片,并将所述2个摄像头各自对应的剪裁后的第一照片合成为一张照片并保存;所述横行排列是以用户为基准的横向方向的排列方式;
当所述N=2、且所述2个摄像头为一纵列排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第二裁剪方式进行裁剪,得到所述2个摄像头各自对应的剪裁后的第二照片,并将所述2个摄像头各自对应的剪裁后的第二照片合成为一张照片并保存;所述纵列排列是以用户为基准的纵向方向的排列方式;
当所述N=4×2k、且所述4×2k个摄像头按2k组2×2的矩阵方式进行布置时,根据每一横行的2个摄像头之间的距离和所述每一横行的2个摄像头各自对应的照片的参数,分别对所述每一横行的2个摄像头各自对应的照片按照所述第一裁剪方式进行裁剪,同时根据每一纵列的2个摄像头之间的距离和所述每一纵列的2个摄像各自对应的照片的参数,分别对所述每一纵列的2个摄像头各自对应的照片按照所述第二裁剪方式进行裁剪。
3.根据权利要求2所述的方法,其特征在于,所述根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第一裁剪方式进行裁剪,包括:
根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第一偏移值;所述第1个摄像头是以拍照用户为基准的左边的摄像头,所述第2个摄像头是以拍照用户为基准的右边的摄像头;
根据所述第一偏移值确定出第一横向裁剪长度和第二横向裁剪长度;
从所述第1个摄像头对应的照片的左侧边缘开始,对所述第1个摄像头对应的照片的横边长度小于所述第一横向裁剪长度的照片部分进行裁剪,同时对所述第1个摄像头对应的照片的横边长度大于所述第二横向裁剪长度的照片部分进行裁剪;
基于针对所述第1个摄像头对应的照片的裁剪方式,利用水平镜像原理对所述第2个摄像头对应的照片进行裁剪。
4.根据权利要求2所述的方法,其特征在于,所述根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第二裁剪方式进行裁剪,包括:
根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第二偏移值;所述第1个摄像头是以拍照用户为基准的上边的摄像头,所述第2个摄像头是以拍照用户为基准的下边的摄像头;
根据所述第二偏移值确定出第一纵向裁剪长度和第二纵向裁剪长度;
从所述第1个摄像头对应的照片的上边缘开始,对所述第1个摄像头对应的照片的纵边长度小于所述第一纵向裁剪长度的照片部分进行裁剪,并对所述第1个摄像头对应的照片的纵边长度大于所述第二纵向裁剪长度的照片部分进行裁剪;
基于针对所述第1个摄像头对应的照片的裁剪方式,利用垂直镜像原理对所述第2个摄像头对应的照片进行裁剪。
5.根据权利要求3所述的方法,其特征在于,所述第一横向裁剪长度为D1/2;所述第二横向裁剪长度为W/2+D1/2;
所述D1为所述第一偏移值;所述W为所述N个摄像头各自对应的拍摄画面的横向分辨率。
6.根据权利要求4所述的方法,其特征在于,所述第一纵向裁剪长度为D2/2;所述第二纵向裁剪长度为H/2+D2/2;
所述D2为所述第二偏移值;所述H为所述N个摄像头各自对应的拍摄画面的纵向分辨率。
7.根据权利要求1所述的方法,其特征在于,所述将所述N个摄像头各自对应的裁剪后的照片合成为一张照片并保存,包括:
将所述N个摄像头各自对应的裁剪后的照片采用直接拼接的方式,或通过图像算法库中提供的图像拼接函数合成为一张照片并保存;
所述图像算法库包括:开源计算机视觉库OpenCV和/或高通计算机视觉库FastCV。
8.根据权利要求1所述的方法,其特征在于,所述照片的参数包括:对焦位置处的物距和拍摄画面的分辨率。
9.根据权利要求1所述的方法,其特征在于,所述获取N个摄像头各自对应的拍摄画面,包括:
在多焦拍照功能为开启时,获取所述N个摄像头各自对应的拍摄画面。
10.一种拍照的装置,所述装置包括:
获取模块,用于获取N个摄像头各自对应的拍摄画面;所述N=2或N=4×2k,所述k为自然数;
对焦模块,用于将所述N个摄像头各自对应的拍摄画面平均划分成N=m×n个子拍摄区域;所述N=2或N=4×2k,所述k为自然数;所述N个子拍摄区域是由m行n列个子拍摄区域所组成,所述m为所述N个摄像头中一纵列的摄像头个数,所述n为所述N个摄像头中一横行的摄像头个数,所述m和n为整数,且所述m和n不同时为1;将所述N个摄像头中的第i行第j列的摄像头在所述N个子拍摄区域中对应的第i行第j列的子拍摄区域确定为所述第i行第j列的摄像头的待对焦画面;所述i为小于或等于m的整数,所述j为小于或等于n的整数;命令所述N个摄像头分别对所述N个摄像头各自对应的待对焦画面的对焦位置同时进行对焦,得到所述N个摄像头各自对应的对焦画面;所述待对焦画面的对焦位置为所述待对焦画面的中心点的位置,或所述待对焦画面的对焦位置为以所述待对焦画面的中心点为基准向外扩展一预设距离得到的矩形区域,或所述待对焦画面的对焦位置为所述待对焦画面对应的摄像头的对焦光标在所述待对焦画面中选定的位置;
拍照模块,用于命令所述N个摄像头分别对所述N个摄像头各自对应的对焦画面同时进行拍照,得到所述N个摄像头各自对应的照片;
剪裁模块,用于根据所述N个摄像头的位置关系及所述N个摄像头各自对应的照片的参数,分别对所述N个摄像头各自对应的照片进行裁剪,得到所述N个摄像头各自对应的裁剪后的照片;
合成模块,用于将所述N个摄像头各自对应的剪裁后的照片合成为一张照片并保存。
11.根据权利要求10所述的装置,其特征在于,所述剪裁模块具体用于当所述N=2、且所述2个摄像头为一横行排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第一裁剪方式进行裁剪,得到所述2个摄像头各自对应的剪裁后的第一照片,并将所述2个摄像头各自对应的剪裁后的第一照片合成为一张照片并保存;所述横行排列是以用户为基准的横向方向的排列方式;
所述剪裁模块,还具体用于当所述N=2、且所述2个摄像头为一纵列排列时,根据所述2个摄像头之间的距离和所述2个摄像头各自对应的照片的参数,分别对所述2个摄像头各自对应的照片按照第二裁剪方式进行裁剪,得到所述2个摄像头各自对应的剪裁后的第二照片,并将所述2个摄像头各自对应的剪裁后的第二照片合成为一张照片并保存;所述纵列排列是以用户为基准的纵向方向的排列方式;
所述剪裁模块,还具体用于当所述N=4×2k、且所述4×2k个摄像头按2k组2×2的矩阵方式进行布置时,根据每一横行的2个摄像头之间的距离和所述每一横行的2个摄像头各自对应的照片的参数,分别对所述每一横行的2个摄像头各自对应的照片按照所述第一裁剪方式进行裁剪,同时根据每一纵列的2个摄像头之间的距离和所述每一纵列的2个摄像各自对应的照片的参数,分别对所述每一纵列的2个摄像头各自对应的照片按照所述第二裁剪方式进行裁剪。
12.根据权利要求11所述的装置,其特征在于,所述裁剪模块,还具体用于根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第一偏移值;所述第1个摄像头是以拍照用户为基准的左边的摄像头,所述第2个摄像头是以拍照用户为基准的右边的摄像头;
所述裁剪模块,还具体用于根据所述第一偏移值确定出第一横向裁剪长度和第二横向裁剪长度;
所述裁剪模块,还具体用于从所述第1个摄像头对应的照片的左侧边缘开始,对所述第1个摄像头对应的照片的横边长度小于所述第一横向裁剪长度的照片部分进行裁剪,同时对所述第1个摄像头对应的照片的横边长度大于所述第二横向裁剪长度的照片部分进行裁剪;
所述裁剪模块,还具体用于基于针对所述第1个摄像头对应的照片的裁剪方式,利用水平镜像原理对所述第2个摄像头对应的照片进行裁剪。
13.根据权利要求11所述的装置,其特征在于,所述裁剪模块,还具体用于根据所述2个摄像头中的第1个摄像头和第2个摄像头之间的距离及所述第1个摄像头和所述第2个摄像头各自对应的照片的参数,利用高斯成像公式确定出所述第1个摄像头对应的照片和所述第2个摄像头对应的照片之间的第二偏移值;所述第1个摄像头是以拍照用户为基准的上边的摄像头,所述第2个摄像头是以拍照用户为基准的下边的摄像头;
所述裁剪模块,还具体用于根据所述第二偏移值确定出第一纵向裁剪长度和第二纵向裁剪长度;
所述裁剪模块,还具体用于从所述第1个摄像头对应的照片的上边缘开始,对所述第1个摄像头对应的照片的纵边长度小于所述第一纵向裁剪长度的照片部分进行裁剪,并对所述第1个摄像头对应的照片的纵边长度大于所述第二纵向裁剪长度的照片部分进行裁剪;
所述裁剪模块,还具体用于基于针对所述第1个摄像头对应的照片的裁剪方式,利用垂直镜像原理对所述第2个摄像头对应的照片进行裁剪。
14.根据权利要求12所述的装置,其特征在于,所述第一横向裁剪长度为D1/2;所述第二横向裁剪长度为W/2+D1/2;
所述D1为所述第一偏移值;所述W为所述N个摄像头各自对应的拍摄画面的横向分辨率。
15.根据权利要求13所述的装置,其特征在于,所述第一纵向裁剪长度为D2/2;所述第二纵向裁剪长度为H/2+D2/2;
所述D2为所述第二偏移值;所述H为所述N个摄像头各自对应的拍摄画面的纵向分辨率。
16.根据权利要求10所述的装置,其特征在于,所述合成模块,具体用于将所述N个摄像头各自对应的裁剪后的照片采用直接拼接的方式,或通过图像算法库中提供的图像拼接函数合成为一张照片并保存;
所述图像算法库包括:开源计算机视觉库OpenCV和/或高通计算机视觉库FastCV。
17.根据权利要求10所述的装置,其特征在于,所述照片的参数包括:对焦位置处的物距和拍摄画面的分辨率。
18.根据权利要求10所述的装置,其特征在于,所述获取模块,具体用于在多焦拍照功能为开启时,获取所述N个摄像头各自对应的拍摄画面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710349786.1A CN108965686B (zh) | 2017-05-17 | 2017-05-17 | 拍照的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710349786.1A CN108965686B (zh) | 2017-05-17 | 2017-05-17 | 拍照的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965686A CN108965686A (zh) | 2018-12-07 |
CN108965686B true CN108965686B (zh) | 2021-11-02 |
Family
ID=64462504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710349786.1A Active CN108965686B (zh) | 2017-05-17 | 2017-05-17 | 拍照的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965686B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109905605B (zh) * | 2019-04-02 | 2020-10-23 | 唐山港集团股份有限公司 | 一种四摄像机自动跟焦监控方法 |
CN109996003B (zh) * | 2019-04-02 | 2020-10-23 | 唐山港集团股份有限公司 | 一种自动化岸桥智能视频监控系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104349063A (zh) * | 2014-10-27 | 2015-02-11 | 东莞宇龙通信科技有限公司 | 一种控制摄像头拍摄的方法、装置及终端 |
CN104735350A (zh) * | 2015-03-02 | 2015-06-24 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105657252A (zh) * | 2015-12-25 | 2016-06-08 | 青岛海信移动通信技术股份有限公司 | 一种移动终端中的图像处理方法和移动终端 |
CN106131397A (zh) * | 2016-06-21 | 2016-11-16 | 维沃移动通信有限公司 | 一种多媒体数据显示的方法及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5762211B2 (ja) * | 2011-08-11 | 2015-08-12 | キヤノン株式会社 | 画像処理装置および画像処理方法、プログラム |
CN103034987B (zh) * | 2012-12-16 | 2015-10-21 | 吴凡 | 一种多聚焦图像文件格式及生成装置及图像文件处理方法 |
US9241111B1 (en) * | 2013-05-30 | 2016-01-19 | Amazon Technologies, Inc. | Array of cameras with various focal distances |
JP6223059B2 (ja) * | 2013-08-21 | 2017-11-01 | キヤノン株式会社 | 撮像装置、その制御方法およびプログラム |
CN105100642B (zh) * | 2015-07-30 | 2018-11-20 | 努比亚技术有限公司 | 图像处理方法和装置 |
CN106254790A (zh) * | 2016-08-02 | 2016-12-21 | 乐视控股(北京)有限公司 | 拍照处理方法及装置 |
-
2017
- 2017-05-17 CN CN201710349786.1A patent/CN108965686B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104349063A (zh) * | 2014-10-27 | 2015-02-11 | 东莞宇龙通信科技有限公司 | 一种控制摄像头拍摄的方法、装置及终端 |
CN104735350A (zh) * | 2015-03-02 | 2015-06-24 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105657252A (zh) * | 2015-12-25 | 2016-06-08 | 青岛海信移动通信技术股份有限公司 | 一种移动终端中的图像处理方法和移动终端 |
CN106131397A (zh) * | 2016-06-21 | 2016-11-16 | 维沃移动通信有限公司 | 一种多媒体数据显示的方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108965686A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5214826B2 (ja) | 立体パノラマ画像作成装置、立体パノラマ画像作成方法及び立体パノラマ画像作成プログラム並びに立体パノラマ画像再生装置、立体パノラマ画像再生方法及び立体パノラマ画像再生プログラム、記録媒体 | |
CA2864355C (en) | Using narrow field of view monochrome camera for producing a zoomed image | |
EP2940655A1 (en) | Method and electronic device for implementing refocusing | |
US9179070B2 (en) | Method for adjusting focus position and electronic apparatus | |
US8767039B2 (en) | Method and apparatus for shooting panorama | |
US20110175907A1 (en) | Image processing apparatus, image processing method, and program | |
US8284273B2 (en) | Imager for photographing a subject with a proper size | |
US20110085027A1 (en) | Image processing device and method, and program | |
CN102739959B (zh) | 生成预定的纵横比的合成图像的图像处理装置 | |
WO2014071840A1 (zh) | 一种拍摄照片和视频的方法及装置 | |
JP2017505004A (ja) | 画像生成方法及びデュアルレンズ装置 | |
JP2012213105A (ja) | 撮像装置及び撮像制御方法、画像処理装置及び画像処理方法、並びにプログラム | |
JPWO2013015024A1 (ja) | パノラマ画像生成方法及び撮像装置 | |
US20110069156A1 (en) | Three-dimensional image pickup apparatus and method | |
JP2011066635A (ja) | 画像処理装置および方法、並びにプログラム | |
US8743181B2 (en) | Image pickup apparatus | |
CN107800951B (zh) | 电子装置及其镜头切换方法 | |
US9167150B2 (en) | Apparatus and method for processing image in mobile terminal having camera | |
CN108965686B (zh) | 拍照的方法及装置 | |
CN115002342B (zh) | 目标对象跟踪方法、装置、摄像机及存储介质 | |
US9094601B2 (en) | Image capture device and audio hinting method thereof in focusing | |
CN108833786B (zh) | 一种模式控制方法和电子设备 | |
WO2018103371A1 (zh) | 一种摄像中的处理方法及装置 | |
JP2002112289A (ja) | 光機械パラメータの調節を容易にするための手段を有する立体カメラ | |
CN104735436A (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 |