本發明涉及終端領域,尤其是涉及一種拍照方法及終端。
背景技術:
拍照作為智能手機最為重要的功能之一,深受廣大用戶喜愛,并且隨著手機攝像頭制造工藝和像素的提高,手機拍照已經成為一種流行時尚。手機廠商定制的相機、美顏相機、秒拍、美圖秀秀等應用程序均具有強大的拍照處理功能,可滿足不同的用戶偏好。其中在用戶自拍或者多人同時入鏡自拍時,通常可以通過自拍桿、觸摸按鍵、觸摸前置指紋模塊或者觸摸后置指紋模塊的方式來進行自拍。
但是由于自拍桿的攜帶不便利性,在很多場景下,用戶通常需要手持手機,通過不斷調整選擇合適的拍攝角度之后,點擊手機側面音量鍵、前置指紋模塊或者后置指紋模塊來進行自拍。在拍攝時,由于用戶與攝像頭距離的關系,會出現照片中的人臉過大或過小的問題,影響到照片的協調感,降低了用戶對照片的滿意度,導致用戶需要多次拍攝。
技術實現要素:
本發明實施例的目的是提供一種拍照方法及終端,以解決現有技術中存在的照片中的人臉過大或過小的問題。
第一方面,本發明實施例提供一種拍照方法,應用于設置有攝像頭的終端,該方法包括:
獲取所述攝像頭采集的預覽圖像中的至少一個人臉,并確定每一人臉與攝像頭之間的人臉距離;
根據所述人臉距離,對人臉進行縮放,得到縮放后的人臉圖像;
根據縮放后的人臉圖像,生成拍照圖像。
第二方面,本發明實施例提供一種終端,設置有攝像頭,所述終端包括:
獲取模塊,用于獲取所述攝像頭采集的預覽圖像中的至少一個人臉,并確定每一人臉與攝像頭之間的人臉距離;
縮放模塊,用于根據所述人臉距離,對人臉進行縮放,得到縮放后的人臉圖像;
生成模塊,用于根據縮放后的人臉圖像,生成拍照圖像。
這樣,在本發明實施例中,通過根據預覽圖像中至少一個人臉中每一人臉與攝像頭之間的人臉距離,對預覽圖像中的對應人臉進行縮放,并得到縮放后的人臉圖像,并根據縮放后的人臉圖像,生成拍照圖像,使得預覽圖像中的人臉能夠根據人臉與攝像頭之間的人臉距離進行調整,解決了現有技術中存在的照片中的人臉過大或過小的問題,提高了照片的協調感和用戶的拍照體驗。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1表示本發明的實施例中拍照方法的步驟流程圖;
圖2表示本發明的實施例中步驟102的步驟流程圖;
圖3表示本發明的實施例中終端的結構框圖之一;
圖4表示本發明的實施例中終端的結構框圖之二;
圖5表示本發明的實施例中終端的結構框圖之三;
圖6表示本發明的實施例中終端的結構框圖之四。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
如圖1所示,為本發明的實施例中拍照的方法的步驟流程圖,該方法應用于設置有前置攝像頭的終端,該方法包括:
步驟101,獲取攝像頭采集的預覽圖像中的至少一個人臉,并確定每一人臉與攝像頭之間的人臉距離;
在本步驟中,具體的,當終端的攝像頭啟動時,終端可以獲取攝像頭采集的預覽圖像,并獲取預覽圖像中的至少一個人臉。此時,終端可以確定至少一個人臉中每一人臉與攝像頭之間的人臉距離。這樣,終端在獲取到攝像頭采集的預覽圖像中的至少一個人臉時,當預覽圖像中只存在一個人臉時,只需要獲取該人臉與攝像頭之間的人臉距離即可,但當預覽圖像中存在兩個以上人臉時,需要獲取每一人臉與攝像頭之間的人臉距離。
具體的,在確定至少一個人臉中每一人臉與攝像頭之間的人臉距離時,可以采用目前常用的距離測量方法中的主動方式和被動方式。當然,終端上也可以安裝現有的人臉距離測量應用程序,在此并不具體限定測量人臉距離的具體方式。
步驟102,根據人臉距離,對人臉進行縮放,得到縮放后的人臉圖像;
在本步驟中,具體的,在獲取到每一人臉與攝像頭之間的人臉距離之后,可以根據每一人臉與攝像頭之間的人臉距離,對對應人臉進行縮放,從而得到縮放后的人臉圖像。這使得預覽圖像中人臉的人臉尺寸能夠根據人臉與攝像頭之間的人臉距離進行調整,從而使得當預覽圖像中只存在一個人臉時,即單人拍照時能夠根據用戶需求調整用戶的臉型尺寸,防止照片中出現人臉過大或過小的問題,以及使得當預覽圖像中存在兩個以上人臉時,即多人拍照時能夠消除由于每個人與攝像頭之間的距離差異導致的多人臉型尺寸不相協調的問題,增加了多人拍照時多人臉型之間的協調性,提高了用戶的拍照體驗。
步驟103,根據縮放后的人臉圖像,生成拍照圖像。
在本步驟中,具體的,當得到縮放后的人臉圖像之后,終端可以根據該縮放后的人臉圖像,生成拍照圖像。其中,在拍照圖像中,由于縮放后的人臉圖像為根據人臉與攝像頭之間的人臉距離進行縮放的,因此生成的拍照圖像消除了多人拍照時由于每個人與攝像頭之間的距離差異導致的多人臉型尺寸不協調的問題,增加了拍照圖像的美觀性和協調性,并滿足了單人拍照時對人臉尺寸的需求。
這樣,在本實施中,根據預覽圖像中每一人臉與攝像頭之間的人臉距離,對人臉進行縮放,得到縮放后的人臉圖像,并根據縮放后的人臉圖像生成拍照圖像,使得預覽圖像中的人臉能夠根據人臉與攝像頭之間的人臉距離進行調整,解決了現有技術中存在的照片中的人臉過大或過小的問題,提高了照片的協調感和用戶的拍照體驗。
此外,進一步地,在本發明的實施例中,參見圖2,在步驟102中根據人臉距離,對人臉進行縮放,得到縮放后的人臉圖像時,可以根據如下步驟來執行:
步驟201,計算每一人臉對應的人臉距離與預設的參考距離之間的距離比例;
具體的,當預覽圖像中的人臉數量為一個時,預設的參考距離可以為用戶設置的預設距離。當預覽圖像中的人臉數量為至少兩個時,預設的參考距離可以為至少兩個人臉中其中一個人臉與攝像頭之間的人臉距離,例如可以為距離攝像頭最近的人臉與攝像頭之間的人臉距離;此外,預設的參考距離還可以為用戶設置的預設距離。當然,在此需要說明的是,在此并不對參考距離做出具體限定。
在本步驟中,可以根據確定的每一人臉與攝像頭之間的人臉距離,計算得到每一人臉對應的人臉距離與預設的參考距離之間的距離比例。
步驟202,將每一人臉對應的距離比例作為對應人臉的縮放比例,對對應人臉進行縮放,得到縮放后的人臉圖像。
在本步驟中,具體的,在計算得到預覽圖像中每一人臉對應的人臉距離與預設的參考距離之間的距離比例之后,可以將每一人臉對應的距離比例作為對應人臉的縮放比例,然后根據該縮放比例,對對應人臉進行縮放,并得到縮放后的人臉圖像。
當然,具體的,在將每一人臉對應的距離比例作為對應人臉的縮放比例,對對應人臉進行縮放,得到縮放后的人臉圖像時,當預覽圖像中的第一人臉的縮放比例大于1時,按照縮放比例,對第一人臉進行放大處理,得到放大處理后的第一人臉圖像;和/或當預覽圖像中的第二人臉的縮放比例小于1時,按照縮放比例,對第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像。這樣,當預覽圖像中的所有人臉的縮放比例均大于1時,可以只按照縮放比例,對人臉進行放大處理,得到放大處理后的第一人臉圖像;此外,當預覽圖像中的所有人臉的縮放比例均小于1時,可以只按照縮放比例,對人臉進行縮小處理,得到縮小處理后的第二人臉圖像;另外,當預覽圖像中存在第一人臉的縮放比例大于1和第二人臉的縮放比例小于1時,則需要按照大于1的縮放比例對第一人臉進行放大處理,并按照小于1的縮放比例對第二人臉進行縮小處理,從而得到放大處理后的第一人臉圖像和縮小處理后的第二人臉圖像。
下面對上述實施例進行舉例說明。
例如,假設預覽圖像中存在三個人臉,且第一人臉a與攝像頭之間的人臉距離為25cm,第二人臉b與攝像頭之間的人臉距離為50cm,第三人臉c與攝像頭之間的人臉距離為100cm,且預設的參考距離為50cm,則第一人臉a對應的人臉距離與參考距離之間的距離比例為0.5,第二人臉b對應的人臉距離與參考距離之間的距離比例為1,第三人臉c對應的人臉距離與參考距離之間的距離比例為2。此時,在將每一人臉對應的距離比例作為對應人臉的縮放比例時,可以得到第一人臉a的縮放比例為對應的距離比例0.5,第二人臉b的縮放比例為對應的距離比例1,第三人臉c的縮放比例為對應的距離比例2。然后可以以縮放比例0.5,對第一人臉a進行縮小處理,即將第一人臉a的人臉尺寸縮小0.5倍;按照縮放比例1,將第二人臉b的人臉尺寸維持在原有人臉尺寸;按照縮放比例2,對第三人臉c進行放大處理,即將第三人臉c的人臉尺寸放大2倍。
這樣,在不對預覽圖像中的三個人臉的人臉尺寸進行縮放前,由于三個人臉距離攝像頭的距離差異,導致第一人臉a的人臉尺寸相比較第二人臉b和第三人臉c而言,在預覽圖像中顯示臉型較大,而第二人臉b的人臉尺寸相比較第三人臉c而言,在預覽圖像中顯示臉型同樣較大,此時按照上述縮放比例對三個人臉進行縮放之后,使得第一人臉a的人臉尺寸縮小0.5倍,并使得第三人臉c的人臉尺寸擴大2倍,從而使得第一人臉a相對第二人臉b而言,不會再出現顯示人臉尺寸較大的問題,同時由于第三人臉c的人臉尺寸放大,因此第二人臉b相對第三人臉c而言,同樣不會再出現顯示人臉尺寸較大的問題,最終使得三個人臉的人臉尺寸相協調,這樣,則減小甚至消除了在多人拍照時存在的多人臉型不相協調感。同理,當預覽圖像中存在一個人臉時,由于根據距離比例對人臉進行了縮放處理,從而解決了由于用戶與攝像頭之間的距離的不合理性,導致的用戶人臉顯示過大或者過小的問題,提高了用戶的拍照滿意度。
這樣,通過將每一人臉對應的距離比例作為對應人臉的縮放比例,對對應人臉進行縮放,得到縮放后的人臉圖像,使得預覽圖像中人臉的人臉尺寸能夠根據對應人臉距離與參考距離之間的距離比例進行縮放處理,從而使得當預覽圖像中存在一個人臉時,能夠解決由于用戶與攝像頭之間的距離的不合理性,導致的用戶人臉顯示過大或者過小的問題,并使得當預覽圖像中存在兩個以上人臉時,能夠減小或者消除由于人臉與攝像頭之間的距離差異導致的多人臉型尺寸不相協調的問題。
另外,進一步地,在本發明的實施例中,在對人臉進行縮放處理時,需要考慮到人臉的相對位置關系以及人臉與背景圖像之間的協調性的問題,即當預覽圖像中存在兩個以上人臉時,若對人臉進行放大處理,則需要考慮到人臉與相鄰人臉之間的相對位置關系是否會發生較大的變化,若對人臉進行縮小處理,則需要考慮到人臉與背景圖像之間是否會出現產生空白區域的不協調性。
具體的,在按照縮放比例,對第一人臉進行放大處理以及對第二人臉進行縮小處理時,可以按照下述方法進行處理:
其一,在按照縮放比例,對第一人臉進行放大處理,得到放大處理后的第一人臉圖像時,可以判斷第一人臉與相鄰人臉之間是否存在重疊部分;若存在重疊部分,則按照縮放比例,對第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若不存在重疊部分,則判斷按照縮放比例進行放大處理后的第一人臉與相鄰人臉之間是否會產生重疊;若不會產生重疊,則按照縮放比例,對第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若會產生重疊,則獲取重疊的距離,根據重疊的距離設置第一人臉與相鄰人臉之間的距離,并按照縮放比例對第一人臉進行放大處理,得到放大處理后的第一人臉圖像。
其中,第一人臉的相鄰人臉為在每一個角度方向上與第一人臉相鄰的人臉。這樣在第一人臉與相鄰人臉之間存在重疊部分時,不用再考慮對第一人臉的放大處理是否會影響到相鄰人臉,因此此時可以按照縮放比例,對第一人臉進行放大處理,進而得到放大處理后的第一人圖像。但是,如果第一人臉與相鄰人臉之間不存在重疊部分,則需要考慮按照縮放比例進行放大處理后的第一人臉與相鄰人臉之間是否會產生重疊,即是否會遮擋住相鄰人臉。當然,若判斷得出不會產生重疊,則可以按照縮放比例,對第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若判斷得出會產生重疊,此時為了避免此種情況,則需要獲取重疊的距離,然后設置第一人臉與相鄰人臉之間的距離,其中設置后的第一人臉為相鄰人臉之間的距離為設置前的第一人臉與相鄰人臉之間的距離和重疊的距離之和,從而使得在按照縮放比例對第一人臉進行放大處理之后,第一人臉與相鄰人臉之間不會再產生重疊,進而得到放大處理后的第一人臉圖像。這樣,可以使得在按照縮放比例,對第一人臉進行放大處理之后得到的人臉圖像之間的位置關系不會與放大處理前的人臉圖像之間的位置關系發生沖突,從而最大限度的保證了放大處理后的人臉圖像的真實性。
其二,在按照縮放比例,對第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像時,可以判斷按照縮放比例對第二人臉進行縮小處理后的第二人臉的周邊區域是否會產生空白圖像;若不會產生空白圖像,則按照縮放比例,對第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像;若會產生空白圖像,則獲取空白圖像的尺寸,按照縮放比例對第二人臉進行縮小處理,并按照空白圖像的尺寸,將與周邊區域相鄰的背景圖像渲染至周邊區域。
這樣,在判斷得到按照縮放比例對第二人臉進行縮小處理后的第二人臉的周邊區域不會產生空白圖像時,可以按照縮放比例對第二人臉進行縮小,從而得到縮小處理后的第二人臉圖像,此時第二人臉圖像與預覽圖像中的背景圖像之間沒有空白區域,能夠保證預覽圖像中畫面的協調性。此外,在判斷得到按照縮放比例對第二人臉進行縮小處理后的第二人臉的周邊區域會產生空白圖像時,則可以獲取空白圖像的尺寸,然后在按照縮放比例對第二人臉進行縮小處理之后,按照該空白圖像的尺寸,將與第二人臉的周邊區域相鄰的背景圖像渲染至周邊區域,以使周邊區域不會在第二人臉進行縮小之后再產生空白圖像,保證了預覽圖像中畫面的美觀性和協調性。
另外,進一步地,在本發明的實施例中,在根據縮放后的人臉圖像,生成拍照圖像之前,還可以對預覽圖像中的人臉的眼睛狀態進行識別,從而使得在根據縮放后的人臉圖像,生成拍照圖像時,可以在當眼睛狀態為鏡頭對焦狀態,且眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。具體的,在對預覽圖像中的人臉的眼睛狀態進行識別時,可以對預覽圖像中距離攝像頭最近的人臉的眼睛狀態進行識別。
此外,具體的,為了提高對眼睛狀態識別的成功率,可以對人臉的眼睛狀態進行預設次數的識別。當然,若當對人臉的眼睛狀態的識別次數達到該預設次數時,若眼睛狀態還未達到眼睛狀態為鏡頭對焦狀態,且眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長的條件時,則可以退出眼睛狀態識別。
這樣,使得終端能夠直接根據眼睛狀態自動對用戶進行拍照,而不用再通過點擊按鍵或者觸摸指紋模塊的方式來進行拍照,提高了拍照的便利性,避免了手動按鍵或觸摸終端時由于終端抖動導致的影響拍照效果的問題,增強了拍照的穩定性,提高了拍照效果并減少了無效照片,提升了拍照效率。
本發明實施例通過將預覽圖像中每一人臉對應的人臉距離與預設的參考距離之間的距離比例作為對應人臉的縮放比例,然后按照縮放比例對人臉進行縮放,并且在得到縮放后的人臉圖像之后,對人臉的眼睛狀態進行識別,然后當眼睛狀態為鏡頭對焦狀態,且眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。這樣不僅使得預覽圖像中人臉的人臉尺寸能夠根據距離比例進行縮放處理,解決現有技術中存在的照片中的人臉過大或過小的問題,提高了照片的協調感和用戶的拍照體驗,并使得終端能夠根據眼睛狀態自動對用戶進行拍照,而不用再通過點擊按鍵或者觸摸指紋模塊的方式來進行拍照,提高了拍照的便利性,避免了手動按鍵或觸摸終端時由于終端抖動導致的影響拍照效果的問題,增強了拍照的穩定性,提高了拍照效果并減少了無效照片,提升了拍照效率。
另一方面,如圖3所示,本發明實施例還提供了一種終端,該終端設置有攝像頭,該終端還包括:
獲取模塊301,用于獲取所述攝像頭采集的預覽圖像中的至少一個人臉,并確定每一人臉與攝像頭之間的人臉距離;
縮放模塊302,用于根據所述人臉距離,對人臉進行縮放,得到縮放后的人臉圖像;
生成模塊303,用于根據縮放后的人臉圖像,生成拍照圖像。
這樣,本發明實施例通過獲取模塊獲取攝像頭采集的預覽圖像中的至少一個人臉,并確定每一人臉與攝像頭之間的人臉距離,然后通過縮放模塊根據人臉距離對人臉進行縮放,得到縮放后的人臉圖像,最后通過生成模塊根據縮放后的人臉圖像,生成拍照圖像,使得預覽圖像中的人臉能夠根據人臉與攝像頭之間的人臉距離進行調整,解決了現有技術中存在的照片中的人臉過大或過小的問題,提高了照片的協調感和用戶的拍照體驗。
進一步地,參見圖4,縮放模塊302包括:計算單元3021,用于計算每一人臉對應的人臉距離與預設的參考距離之間的距離比例;縮放單元3022,用于將每一人臉對應的距離比例作為對應人臉的縮放比例,對對應人臉進行縮放,得到縮放后的人臉圖像。
進一步地,縮放單元3022包括:第一縮放單元3122,用于當所述預覽圖像中的第一人臉的縮放比例大于1時,按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;第二縮放單元3222,用于當所述預覽圖像中的第二人臉的縮放比例小于1時,按照所述縮放比例,對所述第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像。
進一步地,所述第一縮放單元3122包括:第一判斷子單元31221,用于判斷所述第一人臉與相鄰人臉之間是否存在重疊部分;第一處理子單元31222,用于若存在重疊部分,則按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;第二處理子單元31223,用于若不存在重疊部分,則判斷按照所述縮放比例進行放大處理后的所述第一人臉與相鄰人臉之間是否會產生重疊;若不會產生重疊,則按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若會產生重疊,則獲取所述重疊的距離,根據所述重疊的距離設置所述第一人臉與相鄰人臉之間的距離,并按照所述縮放比例對第一人臉進行放大處理,得到放大處理后的第一人臉圖像。
進一步地,所述第二縮放單元3222包括:第二判斷子單元32221,用于判斷按照所述縮放比例對所述第二人臉進行縮小處理后的所述第二人臉的周邊區域是否會產生空白圖像;第三處理子單元32222,用于若不會產生空白圖像,則按照所述縮放比例,對所述第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像;第四處理子單元32223,用于若會產生空白圖像,則獲取所述空白圖像的尺寸,按照所述縮放比例對所述第二人臉進行縮小處理,并按照所述空白圖像的尺寸,將與所述周邊區域相鄰的背景圖像渲染至所述周邊區域。
進一步地,所述終端還包括:識別模塊304,用于對所述預覽圖像中的人臉的眼睛狀態進行識別;生成模塊303,具體用于當所述識別模塊中所述眼睛狀態為鏡頭對焦狀態,且所述眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。
進一步地,所述識別模塊304,具體用于對所述預覽圖像中距離攝像頭最近的人臉的眼睛狀態進行識別。
這樣,本發明實施例中的終端通過將預覽圖像中每一人臉對應的人臉距離與預設的參考距離之間的距離比例作為對應人臉的縮放比例,然后按照縮放比例對人臉進行縮放,并且在得到縮放后的人臉圖像之后,對人臉的眼睛狀態進行識別,然后當眼睛狀態為鏡頭對焦狀態,且眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。這樣不僅使得預覽圖像中人臉的人臉尺寸能夠根據距離比例進行縮放處理,解決現有技術中存在的照片中的人臉過大或過小的問題,提高了照片的協調感和用戶的拍照體驗,使得單人拍照時能夠根據用戶需求調整用戶的臉型尺寸,并使得多人拍照時能夠減小甚至消除由于人臉與攝像頭之間的距離差異導致的多人臉型尺寸不相協調的問題,并使得終端能夠根據眼睛狀態自動對用戶進行拍照,而不用再通過點擊按鍵或者觸摸指紋模塊的方式來進行拍照,提高了拍照的便利性,避免了手動按鍵或觸摸終端時由于終端抖動導致的影響拍照效果的問題,增強了拍照的穩定性,提高了拍照效果并減少了無效照片,提升了拍照效率。
另一方面,如圖5所示,為本發明的實施例中終端的結構框圖之三。圖5所示的終端500包括:至少一個處理器501、存儲器502、至少一個網絡接口504、用戶接口503,此外該終端還包括攝像頭506。終端500中的各個組件通過總線系統505耦合在一起。可理解,總線系統505用于實現這些組件之間的連接通信。總線系統505除包括數據總線之外,還包括電源總線、控制總線和狀態信號總線。但是為了清楚說明起見,在圖5中將各種總線都標為總線系統505。
其中,用戶接口503可以包括顯示器、鍵盤或者點擊設備(例如,鼠標,軌跡球(trackball)、觸感板或者觸摸屏等。
可以理解,本發明實施例中的存儲器502可以是易失性存儲器或非易失性存儲器,或可包括易失性和非易失性存儲器兩者。其中,非易失性存儲器可以是只讀存儲器(read-onlymemory,rom)、可編程只讀存儲器(programmablerom,prom)、可擦除可編程只讀存儲器(erasableprom,eprom)、電可擦除可編程只讀存儲器(electricallyeprom,eeprom)或閃存。易失性存儲器可以是隨機存取存儲器(randomaccessmemory,ram),其用作外部高速緩存。通過示例性但不是限制性說明,許多形式的ram可用,例如靜態隨機存取存儲器(staticram,sram)、動態隨機存取存儲器(dynamicram,dram)、同步動態隨機存取存儲器(synchronousdram,sdram)、雙倍數據速率同步動態隨機存取存儲器(doubledataratesdram,ddrsdram)、增強型同步動態隨機存取存儲器(enhancedsdram,esdram)、同步連接動態隨機存取存儲器(synchlinkdram,sldram)和直接內存總線隨機存取存儲器(directrambusram,drram)。本發明實施例描述的系統和方法的存儲器502旨在包括但不限于這些和任意其它適合類型的存儲器。
在一些實施方式中,存儲器502存儲了如下的元素,可執行模塊或者數據結構,或者他們的子集,或者他們的擴展集:操作系統5021和應用程序5022。具體的,存儲器502中存儲有設置模塊及配置文件。
其中,操作系統5021,包含各種系統程序,例如框架層、核心庫層、驅動層等,用于實現各種基礎業務以及處理基于硬件的任務。應用程序5022,包含各種應用程序,例如媒體播放器(mediaplayer)、瀏覽器(browser)等,用于實現各種應用業務。實現本發明實施例方法的程序可以包含在應用程序5022中。
在本發明實施例中,通過調用存儲器502存儲的程序或指令,具體的,可以是應用程序5022中存儲的程序或指令。其中,處理器501用于:獲取所述攝像頭采集的預覽圖像中的至少一個人臉,并確定每一人臉與攝像頭之間的人臉距離;根據所述人臉距離,對人臉進行縮放,得到縮放后的人臉圖像;根據縮放后的人臉圖像,生成拍照圖像。
上述本發明實施例揭示的方法可以應用于處理器501中,或者由處理器501實現。處理器501可能是一種集成電路芯片,具有信號的處理能力。在實現過程中,上述方法的各步驟可以通過處理器501中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器501可以是通用處理器、數字信號處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現場可編程門陣列(fieldprogrammablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實現或者執行本發明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。結合本發明實施例所公開的方法的步驟可以直接體現為硬件譯碼處理器執行完成,或者用譯碼處理器中的硬件及軟件模塊組合執行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器502,處理器501讀取存儲器502中的信息,結合其硬件完成上述方法的步驟。此外,存儲器502內存儲有上述方法中用到的對應關系等。
可以理解的是,本發明實施例描述的這些實施例可以用硬件、軟件、固件、中間件、微碼或其組合來實現。對于硬件實現,處理單元可以實現在一個或多個專用集成電路(applicationspecificintegratedcircuit,asic)、數字信號處理器(digitalsignalprocessor,dsp)、數字信號處理設備(dspdevice,dspd)、可編程邏輯設備(programmablelogicdevice,pld)、現場可編程門陣列(fieldprogrammablegatearray,fpga)、通用處理器、控制器、微控制器、微處理器、用于執行本申請功能的其它電子單元或其組合中。
對于軟件實現,可通過執行本發明實施例功能的模塊(例如過程、函數等)來實現本發明實施例的技術。軟件代碼可存儲在存儲器中并通過處理器執行。存儲器可以在處理器中或在處理器外部實現。
可選地,作為另一個實施例,處理器501還用于:計算每一人臉對應的人臉距離與預設的參考距離之間的距離比例;將每一人臉對應的距離比例作為對應人臉的縮放比例,對對應人臉進行縮放,得到縮放后的人臉圖像。
可選地,作為另一個實施例,所述處理器501還用于:當所述預覽圖像中的第一人臉的縮放比例大于1時,按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;和/或當所述預覽圖像中的第二人臉的縮放比例小于1時,按照所述縮放比例,對所述第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像。
可選地,作為另一個實施例,所述處理器501還用于:判斷所述第一人臉與相鄰人臉之間是否存在重疊部分;若存在重疊部分,則按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若不存在重疊部分,則判斷按照所述縮放比例進行放大處理后的所述第一人臉與相鄰人臉之間是否會產生重疊;若不會產生重疊,則按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若會產生重疊,則獲取所述重疊的距離,根據所述重疊的距離設置所述第一人臉與相鄰人臉之間的距離,并按照所述縮放比例對第一人臉進行放大處理,得到放大處理后的第一人臉圖像。
可選地,作為另一個實施例,所述處理器501還用于:判斷按照所述縮放比例對所述第二人臉進行縮小處理后的所述第二人臉的周邊區域是否會產生空白圖像;若不會產生空白圖像,則按照所述縮放比例,對所述第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像;若會產生空白圖像,則獲取所述空白圖像的尺寸,按照所述縮放比例對所述第二人臉進行縮小處理,并按照所述空白圖像的尺寸,將與所述周邊區域相鄰的背景圖像渲染至所述周邊區域。
可選地,作為另一個實施例,所述處理器501還用于:對所述預覽圖像中的人臉的眼睛狀態進行識別;所述根據縮放后的人臉圖像,生成拍照圖像的步驟,包括:當所述眼睛狀態為鏡頭對焦狀態,且所述眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。
可選地,作為另一個實施例,所述處理器501還用于:對所述預覽圖像中距離攝像頭最近的人臉的眼睛狀態進行識別。
終端500能夠實現前述實施例中終端實現的各個過程,為避免重復,這里不再贅述。
本發明的上述實施例中提供的終端,通過將預覽圖像中每一人臉對應的人臉距離與預設的參考距離之間的距離比例作為對應人臉的縮放比例,然后按照縮放比例對人臉進行縮放,并且在得到縮放后的人臉圖像之后,對人臉的眼睛狀態進行識別,然后當眼睛狀態為鏡頭對焦狀態,且眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。這樣不僅使得預覽圖像中人臉的人臉尺寸能夠根據距離比例進行縮放處理,解決現有技術中存在的照片中的人臉過大或過小的問題,提高了照片的協調感和用戶的拍照體驗,使得單人拍照時能夠根據用戶需求調整用戶的臉型尺寸,并使得多人拍照時能夠減小甚至消除由于人臉與攝像頭之間的距離差異導致的多人臉型尺寸不相協調的問題,并使得終端能夠根據眼睛狀態自動對用戶進行拍照,而不用再通過點擊按鍵或者觸摸指紋模塊的方式來進行拍照,提高了拍照的便利性,避免了手動按鍵或觸摸終端時由于終端抖動導致的影響拍照效果的問題,增強了拍照的穩定性,提高了拍照效果并減少了無效照片,提升了拍照效率。
另一方面,如圖6所示,為本發明的實施例中終端的結構框圖之四。具體地,圖6中的終端600可以為手機、平板電腦、個人數字助理(personaldigitalassistant,pda)、或車載電腦等。
圖6中的終端600包括射頻(radiofrequency,rf)電路610、存儲器620、輸入單元630、顯示單元640、處理器660、音頻電路670、wifi(wirelessfidelity)模塊680和電源690。此外,該終端還包括攝像頭650。
其中,輸入單元630可用于接收用戶輸入的數字或字符信息,以及產生與終端600的用戶設置以及功能控制有關的信號輸入。具體地,本發明實施例中,該輸入單元630可以包括觸控面板631。觸控面板631,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板631上的操作),并根據預先設定的程式驅動相應的連接裝置。可選的,觸控面板631可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給該處理器660,并能接收處理器660發來的命令并加以執行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現觸控面板631。除了觸控面板631,輸入單元630還可以包括其他輸入設備632,其他輸入設備632可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
其中,顯示單元640可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端600的各種菜單界面。顯示單元640可包括顯示面板641,可選的,可以采用lcd或有機發光二極管(organiclight-emittingdiode,oled)等形式來配置顯示面板641。
應注意,觸控面板631可以覆蓋顯示面板641,形成觸摸顯示屏,當該觸摸顯示屏檢測到在其上或附近的觸摸操作后,傳送給處理器660以確定觸摸事件的類型,隨后處理器660根據觸摸事件的類型在觸摸顯示屏上提供相應的視覺輸出。
觸摸顯示屏包括應用程序界面顯示區及常用控件顯示區。該應用程序界面顯示區及該常用控件顯示區的排列方式并不限定,可以為上下排列、左右排列等可以區分兩個顯示區的排列方式。該應用程序界面顯示區可以用于顯示應用程序的界面。每一個界面可以包含至少一個應用程序的圖標和/或widget桌面控件等界面元素。該應用程序界面顯示區也可以為不包含任何內容的空界面。該常用控件顯示區用于顯示使用率較高的控件,例如,設置按鈕、界面編號、滾動條、電話本圖標等應用程序圖標等。
其中,處理器660是終端600的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執行存儲在第一存儲器621內的軟件程序和/或模塊,以及調用存儲在第二存儲器622內的數據,執行終端600的各種功能和處理數據,從而對終端600進行整體監控。可選的,處理器660可包括一個或多個處理單元。
在本發明實施例中,通過調用存儲該第一存儲器621內的軟件程序和/或模塊和/或該第二存儲器622內的數據,其中,第一存儲器621中包括有設置模塊及配置文件。處理器660用于:獲取所述攝像頭采集的預覽圖像中的至少一個人臉,并確定每一人臉與攝像頭之間的人臉距離;根據所述人臉距離,對人臉進行縮放,得到縮放后的人臉圖像;根據縮放后的人臉圖像,生成拍照圖像。
可選地,作為另一個實施例,處理器660還用于:計算每一人臉對應的人臉距離與預設的參考距離之間的距離比例;將每一人臉對應的距離比例作為對應人臉的縮放比例,對對應人臉進行縮放,得到縮放后的人臉圖像。
可選地,作為另一個實施例,所述處理器660還用于:當所述預覽圖像中的第一人臉的縮放比例大于1時,按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;和/或當所述預覽圖像中的第二人臉的縮放比例小于1時,按照所述縮放比例,對所述第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像。
可選地,作為另一個實施例,所述處理器660還用于:判斷所述第一人臉與相鄰人臉之間是否存在重疊部分;若存在重疊部分,則按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若不存在重疊部分,則判斷按照所述縮放比例進行放大處理后的所述第一人臉與相鄰人臉之間是否會產生重疊;若不會產生重疊,則按照所述縮放比例,對所述第一人臉進行放大處理,得到放大處理后的第一人臉圖像;若會產生重疊,則獲取所述重疊的距離,根據所述重疊的距離設置所述第一人臉與相鄰人臉之間的距離,并按照所述縮放比例對第一人臉進行放大處理,得到放大處理后的第一人臉圖像。
可選地,作為另一個實施例,所述處理器660還用于:判斷按照所述縮放比例對所述第二人臉進行縮小處理后的所述第二人臉的周邊區域是否會產生空白圖像;若不會產生空白圖像,則按照所述縮放比例,對所述第二人臉進行縮小處理,得到縮小處理后的第二人臉圖像;若會產生空白圖像,則獲取所述空白圖像的尺寸,按照所述縮放比例對所述第二人臉進行縮小處理,并按照所述空白圖像的尺寸,將與所述周邊區域相鄰的背景圖像渲染至所述周邊區域。
可選地,作為另一個實施例,所述處理器660還用于:對所述預覽圖像中的人臉的眼睛狀態進行識別;所述根據縮放后的人臉圖像,生成拍照圖像的步驟,包括:當所述眼睛狀態為鏡頭對焦狀態,且所述眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。
可選地,作為另一個實施例,所述處理器660還用于:對所述預覽圖像中距離攝像頭最近的人臉的眼睛狀態進行識別。
本發明的上述實施例中提供的終端,通過將預覽圖像中每一人臉對應的人臉距離與預設的參考距離之間的距離比例作為對應人臉的縮放比例,然后按照縮放比例對人臉進行縮放,并且在得到縮放后的人臉圖像之后,對人臉的眼睛狀態進行識別,然后當眼睛狀態為鏡頭對焦狀態,且眼睛狀態處于鏡頭對焦狀態的持續時間達到預設時長時,根據縮放后的人臉圖像,生成拍照圖像。這樣不僅使得預覽圖像中人臉的人臉尺寸能夠根據距離比例進行縮放處理,解決現有技術中存在的照片中的人臉過大或過小的問題,提高了照片的協調感和用戶的拍照體驗,使得單人拍照時能夠根據用戶需求調整用戶的臉型尺寸,并使得多人拍照時能夠減小甚至消除由于人臉與攝像頭之間的距離差異導致的多人臉型尺寸不相協調的問題,并使得終端能夠根據眼睛狀態自動對用戶進行拍照,而不用再通過點擊按鍵或者觸摸指紋模塊的方式來進行拍照,提高了拍照的便利性,避免了手動按鍵或觸摸終端時由于終端抖動導致的影響拍照效果的問題,增強了拍照的穩定性,提高了拍照效果并減少了無效照片,提升了拍照效率。
終端600能夠實現前述實施例中終端實現的各個過程,為避免重復,這里不再贅述。
本領域普通技術人員可以意識到,結合本發明實施例中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本發明實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
功能如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以權利要求的保護范圍為準。