本申請涉及圖片處理技術(shù)領(lǐng)域,尤其涉及一種圖片合成方法、裝置及即時通信方法、圖片合成服務(wù)器。
背景技術(shù):
隨著多媒體技術(shù)的飛速發(fā)展,用戶對于圖片處理的需求也日益增多,圖片處理包括圖片裁剪、圖片換色、圖片合成等等。其中,圖片合成是將多張待合成圖片合成顯示在一個背景墻中,得到合成圖片,從而達到在一張合成圖片中顯示多張待合成圖片的目的。下面詳細(xì)介紹現(xiàn)有的圖片合成方法。
按照現(xiàn)有的圖片合成方法,獲取至少兩張待合成圖片,將每張待合成圖片根據(jù)背景墻大小進行等比例壓縮,將壓縮后的每張待合成圖片粘貼在背景墻的設(shè)定位置中,得到合成圖片,從而完成多張圖片合成。該方法只是對每張待合成圖片進行簡單地等比例壓縮和粘貼,并沒有考慮到待合成圖片的視覺中心,這樣得到的合成圖片的視覺效果很差,嚴(yán)重影響用戶體驗。
技術(shù)實現(xiàn)要素:
本申請實施例提供一種圖片合成方法、裝置及即時通信方法、圖片合成服務(wù)器,用以解決現(xiàn)有技術(shù)中存在的合成圖片的視覺效果很差,嚴(yán)重影響用戶體驗的問題。
根據(jù)本申請實施例,提供一種圖片合成方法,包括:
獲取至少兩張待合成圖片;
確定每張待合成圖片的視覺中心;
按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片;
合成裁剪后的每張待合成圖片,得到合成圖片。
具體的,確定每張待合成圖片的視覺中心,具體包括:
針對每張待合成圖片,執(zhí)行:
將當(dāng)前待合成圖片分割成大小為第二設(shè)定規(guī)格的子圖片;
采用設(shè)定目標(biāo)識別算法計算每張子圖片的設(shè)定目標(biāo)識別值;
根據(jù)每張子圖片的設(shè)定目標(biāo)識別值和聚類算法對每張子圖片進行聚類運算,得到所述當(dāng)前待合成圖片的視覺中心。
可選的,還包括:
將裁剪后的每張待合成圖片保存在圖片銀行中;
為裁剪后的每張待合成圖片分配統(tǒng)一資源定位符URL;
將裁剪后的每張待合成圖片的URL保存在分布式數(shù)據(jù)庫中。
具體的,合成裁剪后的每張待合成圖片,得到合成圖片,具體包括:
從所述分布式數(shù)據(jù)庫中獲取裁剪后的每張待合成圖片的URL;
根據(jù)裁剪后的每張待合成圖片的URL從所述圖片銀行中獲取對應(yīng)的裁剪后的待合成圖片;
合成獲取的裁剪后的每張待合成圖片,得到合成圖片。
可選的,還包括:
對得到所述合成圖片后的存在時長進行計時;
檢測所述存在時長是否超過設(shè)定時長;
若檢測到所述存在時長超過所述設(shè)定時長,則銷毀所述合成圖片。
根據(jù)本申請實施例,還提供一種圖片合成裝置,包括:
獲取單元,用于獲取至少兩張待合成圖片;
確定單元,用于確定每張待合成圖片的視覺中心;
裁剪單元,用于按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片;
合成單元,用于合成裁剪后的每張待合成圖片,得到合成圖片。
具體的,所述確定單元,用于確定每張待合成圖片的視覺中心,具體用于:
針對每張待合成圖片,執(zhí)行:
將當(dāng)前待合成圖片分割成大小為第二設(shè)定規(guī)格的子圖片;
采用設(shè)定目標(biāo)識別算法計算每張子圖片的設(shè)定目標(biāo)識別值;
根據(jù)每張子圖片的設(shè)定目標(biāo)識別值和聚類算法對每張子圖片進行聚類運算,得到所述 當(dāng)前待合成圖片的視覺中心。
可選的,還包括:
第一保存單元,用于將裁剪后的每張待合成圖片保存在圖片銀行中;
分配單元,用于為裁剪后的每張待合成圖片分配統(tǒng)一資源定位符URL;
第二保存單元,用于將裁剪后的每張待合成圖片的URL保存在分布式數(shù)據(jù)庫中。
具體的,所述合成單元,用于合成裁剪后的每張待合成圖片,得到合成圖片,具體用于:
從所述分布式數(shù)據(jù)庫中獲取裁剪后的每張待合成圖片的URL;
根據(jù)裁剪后的每張待合成圖片的URL從所述圖片銀行中獲取對應(yīng)的裁剪后的待合成圖片;
合成獲取的裁剪后的每張待合成圖片,得到合成圖片。
可選的,還包括:
計時單元,用于對得到所述合成圖片后的存在時長進行計時;
檢測單元,用于檢測所述存在時長是否超過設(shè)定時長;
銷毀單元,用于若所述檢測單元檢測到所述存在時長超過所述設(shè)定時長,則銷毀所述合成圖片。
根據(jù)本申請實施例,還提供一種即時通信方法,包括:
分別接收相互進行即時通信的至少兩個客戶端發(fā)送的待合成圖片;
確定每張待合成圖片的視覺中心;
按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片;
合成裁剪后的每張待合成圖片,得到合成圖片;
將所述合成圖片分別發(fā)送給所述至少兩個客戶端,以使所述至少兩個客戶端展示所述合成圖片。
根據(jù)本申請實施例,還提供一種圖片合成服務(wù)器,至少兩個客戶端通過所述圖片合成服務(wù)器進行即時通信,所述圖片合成服務(wù)器包括:
接收單元,用于分別接收所述至少兩個客戶端發(fā)送的待合成圖片;
確定單元,用于確定每張待合成圖片的視覺中心;
裁剪單元,用于按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片;
合成單元,用于合成裁剪后的每張待合成圖片,得到合成圖片;
發(fā)送單元,用于將所述合成圖片分別發(fā)送給所述至少兩個客戶端,以使所述至少兩個客戶端展示所述合成圖片。
本申請實施例提供一種圖片合成方法、裝置及即時通信方法及圖片合成服務(wù)器,在獲取至少兩張待合成圖片后,確定每張待合成圖片的視覺中心;按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片;合成裁剪后的每張待合成圖片,得到合成圖片。該方案中,在對至少兩張待合成圖片進行合成時,會確定每張待合成圖片的視覺中心,然后根據(jù)視覺中心和第一設(shè)定規(guī)格進行裁剪,最后將剪裁后的每張待合成圖片進行合成,由于充分考慮到每張待合成圖片的視覺中心,從而確保最終得到的合成圖片的視覺效果,進而提升用戶體驗。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1為本申請實施例中一種圖片合成方法的流程圖;
圖2為本申請實施例中第一種圖片合成裝置的結(jié)構(gòu)示意圖;
圖3為本申請實施例中第二種圖片合成裝置的結(jié)構(gòu)示意圖;
圖4為本申請實施例中第三種圖片合成裝置的結(jié)構(gòu)示意圖;
圖5為本申請實施例中一種即時通信方法的流程圖;
圖6為本申請實施例中一種圖片合成服務(wù)器的結(jié)構(gòu)示意圖。
具體實施方式
為了使本申請所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實施例,對本申請進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本申請,并不用于限定本申請。
為了解決現(xiàn)有技術(shù)中存在的合成圖片的視覺效果很差,嚴(yán)重影響用戶體驗的問題,本申請實施例提供一種圖片合成方法,該方法可以但不限于應(yīng)用在終端或者圖片合成服務(wù)器 中,該方法的流程如圖1所示,具體包括如下步驟:
S11:獲取至少兩張待合成圖片。
在對圖片進行合成時,首先需要原始圖片,這些原始圖片可以稱為待合成圖片。待合成圖片的數(shù)量應(yīng)該在兩張以上,可以為兩張、三張、四張等等。
S12:確定每張待合成圖片的視覺中心。
視覺中心是待合成圖片中最強烈、最主要的部分,確定出每張待合成圖片的視覺中心是確保最終得到的合成圖片的視覺效果的關(guān)鍵所在,因此,在獲取待合成圖片后,必須要確定每張待合成圖片的視覺中心。
S13:按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片。
通常,在對待合成圖片進行合成時,會預(yù)先設(shè)定每張待合成圖片的規(guī)格,可以定義為第一設(shè)定規(guī)格,每張待合成圖片的第一設(shè)定規(guī)格可以相同也可以不同,具體可以依據(jù)實際需要進行設(shè)定。在剪裁每張待合成圖片時,可以該待合成圖片的視覺中心為中心,將該待合成圖片剪裁成大小為第一設(shè)定規(guī)格的圖片,從而實現(xiàn)對該待合成圖片進行剪裁。
一種可選的方式為,啟動兩個線程,一個線程用于存儲獲取的每張待合成圖片,以便于后續(xù)使用;另一個線程用于執(zhí)行S12和S13,確定待合成圖片的視覺中心,并對待合成圖片進行裁剪。
S14:合成裁剪后的每張待合成圖片,得到合成圖片。
在該步驟中,合成圖片時可以使用預(yù)先設(shè)定的背景墻,將裁剪后的每張圖片粘貼在對應(yīng)的位置,得到合成圖片;也可以根據(jù)用戶的自定義需求,將裁剪后的每張圖片粘貼在對應(yīng)的位置,得到合成圖片。
該方案中,在對至少兩張待合成圖片進行合成時,會確定每張待合成圖片的視覺中心,然后根據(jù)視覺中心和第一設(shè)定規(guī)格進行裁剪,最后將剪裁后的每張待合成圖片進行合成,由于充分考慮到每張待合成圖片的視覺中心,從而確保最終得到的合成圖片的視覺效果,進而提升用戶體驗。
下面進一步詳細(xì)描述上述各個步驟。
具體的,上述S12中的確定每張待合成圖片的視覺中心,具體包括:
針對每張待合成圖片,執(zhí)行:
將當(dāng)前待合成圖片分割成大小為第二設(shè)定規(guī)格的子圖片;
采用設(shè)定目標(biāo)識別算法計算每張子圖片的設(shè)定目標(biāo)識別值;
根據(jù)每張子圖片的設(shè)定目標(biāo)識別值和聚類算法對每張子圖片進行聚類運算,得到當(dāng)前待合成圖片的視覺中心。
可以依次選取待合成圖片確定視覺中心,當(dāng)前選取的待合成圖片為當(dāng)前待合成圖片。
在確定當(dāng)前待合成圖片的視覺中心時,首先需要將當(dāng)前待合成圖片進行分割,具體可以分割成大小為第二設(shè)定規(guī)格的子圖片,第二設(shè)定規(guī)格可以根據(jù)實際需要進行設(shè)定,例如可以為256*256、256*128、1080*512等等。
然后對每張子圖片進行設(shè)定目標(biāo)識別,采用設(shè)定目標(biāo)識別算法計算每張子圖片的設(shè)定目標(biāo)識別值,設(shè)定目標(biāo)可以為人臉、物品、建筑、風(fēng)景等等,設(shè)定目標(biāo)不同時,采用的識別算法也可能不同,例如,設(shè)定目標(biāo)為人臉時,可以采用人臉識別算法計算人臉識別值;設(shè)定目標(biāo)為領(lǐng)帶時,可以采用領(lǐng)帶識別算法計算領(lǐng)帶識別值。
最后可以采用聚類算法根據(jù)每張子圖片的設(shè)定目標(biāo)識別值對每張子圖片進行聚類運算,從而確定出當(dāng)前待合成圖片的視覺中心,可以采用已有的聚類算法進行聚類運算,例如Kmeans聚類算法等等。
一種可選的實施方式,在如圖1所示的圖片合成的基礎(chǔ)上,還包括:
將裁剪后的每張待合成圖片保存在圖片銀行中;
為裁剪后的每張待合成圖片分配統(tǒng)一資源定位符(Uniform Resource Locator,URL);
將裁剪后的每張待合成圖片的URL保存在分布式數(shù)據(jù)庫中。
相應(yīng)地,上述S14中的合成裁剪后的每張待合成圖片,得到合成圖片,具體包括:
從分布式數(shù)據(jù)庫中獲取裁剪后的每張待合成圖片的URL;
根據(jù)裁剪后的每張待合成圖片的URL從圖片銀行中獲取對應(yīng)的裁剪后的待合成圖片;
合成獲取的裁剪后的每張待合成圖片,得到合成圖片。
為了便于后續(xù)使用裁剪后的待合成圖片,可以將裁剪后的每張待合成圖片保存在圖片銀行中,圖片銀行中保存多張裁剪后的待合成圖片;然后為每張待合成圖片分配一個URL,該URL保存在分布式數(shù)據(jù)中,分布式數(shù)據(jù)庫中保存的是在圖片銀行中保存的裁剪后的待合成圖片的URL;相應(yīng)地,在合成剪裁后的每張待合成圖片時,可以首先從分布式數(shù)據(jù)庫中獲取裁剪后的每張待合成圖片的URL,然后根據(jù)該URL到圖片銀行中獲取裁剪后的待合成圖片,這樣就可以省去確定待合成圖片的視覺中心以及裁剪的過程,從而可以節(jié)省圖片合成時間,提高圖片合成效率。
一種可選的實施方式,在如圖1所示的圖片合成的基礎(chǔ)上,還包括:
對得到合成圖片后的存在時長進行計時;
檢測存在時長是否超過設(shè)定時長;
若檢測到存在時長超過設(shè)定時長,則銷毀合成圖片。
為了保證合成圖片的安全性,還可以對得到合成圖片后的存在時長進行計時,并檢測存在時長是否超過設(shè)定時長,當(dāng)檢測到存在時長超過設(shè)定時長后,可以銷毀該合成圖片,該設(shè)定時長是可以確保用戶能夠看到合成圖片的最大時長,設(shè)定時長的大小可以根據(jù)實際需要進行設(shè)定,例如可以設(shè)定為10秒、15秒、20秒等等。
基于同一發(fā)明構(gòu)思,本申請實施例還提供的一種圖片合成裝置,該裝置可以設(shè)置圖片合成服務(wù)器中,也可以設(shè)置在終端中,該裝置的結(jié)構(gòu)如2圖所示,包括獲取單元21、確定單元22、裁剪單元23和合成單元24,其中:
上述獲取單元21,用于獲取至少兩張待合成圖片。
上述確定單元22,用于確定每張待合成圖片的視覺中心。
上述裁剪單元23,用于按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片。
上述合成單元24,用于合成裁剪后的每張待合成圖片,得到合成圖片。
該方案中,在對至少兩張待合成圖片進行合成時,會確定每張待合成圖片的視覺中心,然后根據(jù)視覺中心和第一設(shè)定規(guī)格進行裁剪,最后將剪裁后的每張待合成圖片進行合成,由于充分考慮到每張待合成圖片的視覺中心,從而確保最終得到的合成圖片的視覺效果,進而提升用戶體驗。
具體的,上述確定單元22,用于確定每張待合成圖片的視覺中心,具體用于:
針對每張待合成圖片,執(zhí)行:
將當(dāng)前待合成圖片分割成大小為第二設(shè)定規(guī)格的子圖片;
采用設(shè)定目標(biāo)識別算法計算每張子圖片的設(shè)定目標(biāo)識別值;
根據(jù)每張子圖片的設(shè)定目標(biāo)識別值和聚類算法對每張子圖片進行聚類運算,得到當(dāng)前待合成圖片的視覺中心。
如圖3所示為本申請實施例的第二種圖片合成裝置的結(jié)構(gòu)示意圖,該裝置與圖2相同的單元省略不表,在圖2的基礎(chǔ)上,還包括第一保存單元25、分配單元26和第二保存單元27,其中:
上述第一保存單元25,用于將裁剪后的每張待合成圖片保存在圖片銀行中;
上述分配單元26,用于為裁剪后的每張待合成圖片分配URL;
上述第二保存單元27,用于將裁剪后的每張待合成圖片的URL保存在分布式數(shù)據(jù)庫中。
具體的,上述合成單元24,用于合成裁剪后的每張待合成圖片,得到合成圖片,具體用于:
從分布式數(shù)據(jù)庫中獲取裁剪后的每張待合成圖片的URL;
根據(jù)裁剪后的每張待合成圖片的URL從圖片銀行中獲取對應(yīng)的裁剪后的待合成圖片;
合成獲取的裁剪后的每張待合成圖片,得到合成圖片。
如圖4所示為本申請實施例的第三種圖片合成裝置的結(jié)構(gòu)示意圖,該裝置與圖2相同的單元省略不表,在圖2的基礎(chǔ)上,還包括計時單元28、檢測單元29和銷毀單元30,其中:
上述計時單元28,用于對得到合成圖片后的存在時長進行計時;
上述檢測單元29,用于檢測存在時長是否超過設(shè)定時長;
上述銷毀單元30,用于若檢測單元檢測到存在時長超過設(shè)定時長,則銷毀合成圖片。
以上介紹了圖片合成方法和裝置,基于同一發(fā)明構(gòu)思,本申請實施例還提供一種即時通信方法,該方法可以應(yīng)用在圖片合成服務(wù)器中,至少兩個客戶端可以通過該圖片合成服務(wù)器進行即時通信,該方法的流程如圖5所示,具體包括如下:
S51:分別接收相互進行即時通信的至少兩個客戶端發(fā)送的待合成圖片。
隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,社交類的應(yīng)用程序日益增多,常用的有QQ、微信、飛信、阿里旺旺等等,多個用戶之間可以使用這些應(yīng)用程序進行交流,實現(xiàn)處于異地的多個用戶之間的即時通信。目前,越來越多的用戶選擇使用客戶端的應(yīng)用程序(以下簡稱客戶端)分享隱私信息,例如個人照片、風(fēng)景照片、寵物照片等等,為了保護用戶的隱私信息,圖片合成服務(wù)器在接收到相互進行即時通信的一個客戶端發(fā)送的圖片后,不會直接發(fā)送給其他的客戶端,而是將相互進行即時通信的各個客戶端發(fā)送的圖片進行合成后再發(fā)送,由于要對相互進行即時通信的各個客戶端發(fā)送的圖片進行合成,這些圖片可以作為待合成圖片。這些待合成圖片不一定會同時到達圖片合成服務(wù)器,因此,圖片合成服務(wù)器會分別接收相互進行即時通信的各個客戶端發(fā)送的待合成圖片。
需要說明的是,用戶使用客戶端向圖片合成服務(wù)器發(fā)送待合成圖片時,需要首先提供待合成圖片,提供的方式有很多種,例如,用戶可以從終端本地的相冊中選取至少一張待合成圖片,也可以使用終端上設(shè)置的攝像裝置拍攝圖片得到待合成圖片,然后再使用客戶端將待合成圖片發(fā)送給圖片合成服務(wù)器。
S52:確定每張待合成圖片的視覺中心。
該步驟的描述參見S11的描述。
S53:按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片。
該步驟的描述參見S12的描述。
S54:合成裁剪后的每張待合成圖片,得到合成圖片。
該步驟的描述參見S23的描述。
S55:將合成圖片分別發(fā)送給至少兩個客戶端,以使至少兩個客戶端展示合成圖片。
繼續(xù)沿用上例,圖片合成服務(wù)器將接收到的所有的待合成圖片進行合成,待合成圖片至少兩張,具體可以是兩張、三張、四張等等;然后將合成圖片分別發(fā)送給相互進行即時通信的至少兩個客戶端,每個客戶端可以顯示該合成圖片,以便于用戶進行瀏覽。
該方案中,圖片合成服務(wù)器將相互進行即時通信的至少兩個客戶端發(fā)送的待合成圖片進行合成后發(fā)送給各個客戶端,合成圖片中包括相互進行即時通信的每個客戶端發(fā)送的待合成圖片,也就是說相互進行即時通信的各個用戶共享各自的圖片后才能共享他人的圖片,從而可以很好地保護相互進行即時通信的每個用戶的隱私。
基于同一發(fā)明構(gòu)思,本申請實施例還提供一種圖片合成服務(wù)器,至少兩個客戶端通過圖片合成服務(wù)器進行即時通信,該圖片合成服務(wù)器的結(jié)構(gòu)如圖6所示,包括接收單元61、確定單元62、裁剪單元63、合成單元64和發(fā)送單元65,其中:
上述接收單元61,用于分別接收至少兩個客戶端發(fā)送的待合成圖片;
上述確定單元62,用于確定每張待合成圖片的視覺中心;
上述裁剪單元63,用于按照每張待合成圖片的視覺中心和第一設(shè)定規(guī)格裁剪對應(yīng)的待合成圖片;
上述合成單元64,用于合成裁剪后的每張待合成圖片,得到合成圖片;
上述發(fā)送單元65,用于將合成圖片分別發(fā)送給至少兩個客戶端,以使至少兩個客戶端展示所述合成圖片。
該方案中,圖片合成服務(wù)器將相互進行即時通信的至少兩個客戶端發(fā)送的待合成圖片進行合成后發(fā)送給各個客戶端,合成圖片中包括相互進行即時通信的每個客戶端發(fā)送的待合成圖片,也就是說相互進行即時通信的各個用戶共享各自的圖片后才能共享他人的圖片,從而可以很好地保護相互進行即時通信的每個用戶的隱私。
上述說明示出并描述了本申請的優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本申請并非局限 于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本申請的精神和范圍,則都應(yīng)在本申請所附權(quán)利要求的保護范圍內(nèi)。