一種對照片進行重新著色的方法及裝置與流程
2023-04-29 04:28:36 4

本發明涉及移動終端領域,尤其涉及一種對照片進行重新著色的方法及裝置。
背景技術:
目前,隨著移動終端的智能化,其逐漸具備越來越多的附加功能。現有移動終端往往集成拍攝照片、拍攝視頻以及播放音樂等多媒體功能。對於喜愛攝影的用戶來說,在各種場合下移動終端無疑被頻繁的作為拍攝設備來使用。即使目前移動終端的拍攝功能已經不斷被優化,但在一種使用情景下,用戶僅對拍攝得到的照片的局部不甚滿意,只想改變局部的顏色等操作。這種情況往往無法使用移動終端自帶的功能進行處理,所以這種情況下拍攝得到的照片只能被用戶捨棄,這樣,用戶則需要重新拍攝照片,對用戶來說較為麻煩,影響用戶的體驗。
技術實現要素:
本發明的主要目的在於提出一種對照片進行重新著色的方法及裝置,旨在解決現有技術中無法對以拍攝完成的照片進行局部修改的問題。
根據本發明的第一個方面,提供了一種對照片進行重新著色的方法,包括:採集終端待拍攝畫面的景深信息,並拍攝得到第一照片;在該第一照片的至少一部分區域被選中後,根據被選中區域的景深信息對被選中區域進行重新著色,呈現重新著色後得到的第二照片。
可選的,採集待拍攝畫面的景深信息,包括:通過終端的第一攝像頭以及第二攝像頭採集待拍攝畫面的景深信息,第一攝像頭以及第二攝像頭位於終端的同一側。
可選的,本發明的方法還包括:在根據被選中區域的景深信息對被選中區域進行重新著色之前,使用終端上的第三攝像頭獲取目標顏色,目標顏色用於對被選中區域進行重新著色。
可選的,根據被選中區域的景深信息對被選中區域進行重新著色,包括:將被選中區域的各像素點的景深值與目標顏色的各明度值對應,其中,各像素點的景深值與目標顏色的各明度值呈反比例關係;使用與各像素的景深值對應的顏色明度值調整目標顏色後,使用調整後的目標顏色替換對應的像素點之前所呈現的顏色。
可選的,使用終端上的第三攝像頭獲取目標顏色,包括:使用第三攝像頭拍攝第三照片;確定第三照片中的主要顏色為目標顏色。
根據本發明的第二個方面,提供了一種對照片進行重新著色的裝置,包括:採集模塊,用於採集終端待拍攝畫面的景深信息,並拍攝得到第一照片;著色模塊,用於在該第一照片的至少一部分區域被選中後,根據被選中區域的景深信息對被選中區域進行重新著色,呈現重新著色後得到的第二照片。
可選的,上述採集模塊具體用於:通過終端的第一攝像頭以及第二攝像頭採集待拍攝畫面的景深信息,第一攝像頭以及第二攝像頭位於終端的同一側。
可選的,本發明提供的裝置還包括:獲取模塊,用於在根據被選中區域的景深信息對被選中區域進行重新著色之前,使用終端上的第三攝像頭獲取目標顏色,目標顏色用於對被選中區域進行重新著色。
可選的,上述著色模塊,包括:對應單元,用於將被選中區域的各像素點的景深值與目標顏色的各明度值對應,其中,各像素點的景深值與目標顏色的各明度值呈反比例關係;著色單元,用於使用與各像素的景深值對應的顏色明度值調整目標顏色後,使用調整後的目標顏色替換對應的像素點之前所呈現的顏色。
可選的,上述獲取模塊,包括:拍攝單元,用於使用第三攝像頭拍攝第三照片;確定單元,用於確定第三照片中的主要顏色為目標顏色。
本發明提出的方案,通過對待拍攝畫面景深信息的獲取,使得用戶可以對已拍攝照片中的部分區域根據景深信息進行重新著色。使得用戶可以更加靈活的對拍攝得到的照片進行編輯,令用戶可以方便快捷的獲取滿意的照片,提高了用戶體驗。
附圖說明
圖1為實現本發明各個實施例的移動終端的硬體結構示意圖;
圖2為如圖1所示的移動終端的無線通信系統示意圖;
圖3是本發明第一實施例提供的對照片進行重新著色的方法的流程圖;
圖4是本發明第二實施例中用於利用手機拍攝得到的第一照片的示意圖;
圖5是本發明第二實施例涉及的用戶選擇在自拍照片中選中頭髮區域的示意圖;
圖6是本發明採用第二實施例對照片進行重新著色的示意圖;
圖7是本發明第三實施例提供的對照片進行重新著色的裝置的結構示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
現在將參考附圖描述實現本發明各個實施例的移動終端。在後續的描述中,使用用於表示元件的諸如「模塊」、「部件」或「單元」的後綴僅為了有利於本發明的說明,其本身並沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動終端可以以各種形式來實施。例如,本發明中描述的終端可以包括諸如行動電話、智慧型電話、筆記本電腦、數字廣播接收器、pda(個人數字助理)、pad(平板電腦)、pmp(可攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數字tv、臺式計算機等等的固定終端。下面,假設終端是移動終端。然而,本領域技術人員將理解的是,除了特別用於移動目的的元件之外,根據本發明的實施方式的構造也能夠應用於固定類型的終端。
圖1為實現本發明各個實施例的移動終端的硬體結構示意。
移動終端100可以包括無線通信單元110、a/v(音頻/視頻)輸入單元120、用戶輸入單元130、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應理解的是,並不要求實施所有示出的組件。可以替代地實施更多或更少的組件。將在下面詳細描述移動終端的元件。
無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統或網絡之間的無線電通信。例如,無線通信單元可以包括廣播接收模塊111、移動通信模塊112、無線網際網路模塊113、短程通信模塊114和位置信息模塊115中的至少一個。
廣播接收模塊111經由廣播信道從外部廣播管理伺服器接收廣播信號和/或廣播相關信息。廣播信道可以包括衛星信道和/或地面信道。廣播管理伺服器可以是生成並發送廣播信號和/或廣播相關信息的伺服器或者接收之前生成的廣播信號和/或廣播相關信息並且將其發送給終端的伺服器。廣播信號可以包括tv廣播信號、無線電廣播信號、數據廣播信號等等。而且,廣播信號可以進一步包括與tv或無線電廣播信號組合的廣播信號。廣播相關信息也可以經由移動通信網絡提供,並且在該情況下,廣播相關信息可以由移動通信模塊112來接收。廣播信號可以以各種形式存在,例如,其可以以數字多媒體廣播(dmb)的電子節目指南(epg)、數字視頻廣播手持(dvb-h)的電子服務指南(esg)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統接收信號廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(dmb-t)、數字多媒體廣播-衛星(dmb-s)、數字視頻廣播-手持(dvb-h),前向鏈路媒體(mediaflo@)的數據廣播系統、地面數字廣播綜合服務(isdb-t)等等的數字廣播系統接收數字廣播。廣播接收模塊111可以被構造為適合提供廣播信號的各種廣播系統以及上述數字廣播系統。經由廣播接收模塊111接收的廣播信號和/或廣播相關信息可以存儲在存儲器160(或者其它類型的存儲介質)中。
移動通信模塊112將無線電信號發送到基站(例如,接入點、節點b等等)、外部終端以及伺服器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據文本和/或多媒體消息發送和/或接收的各種類型的數據。
無線網際網路模塊113支持移動終端的無線網際網路接入。該模塊可以內部或外部地耦接到終端。該模塊所涉及的無線網際網路接入技術可以包括wlan(無線lan)(wi-fi)、wibro(無線寬帶)、wimax(全球微波互聯接入)、hsdpa(高速下行鏈路分組接入)等等。
短程通信模塊114是用於支持短程通信的模塊。短程通信技術的一些示例包括藍牙tm、射頻識別(rfid)、紅外數據協會(irda)、超寬帶(uwb)、紫蜂tm等等。
位置信息模塊115是用於檢查或獲取移動終端的位置信息的模塊。位置信息模塊的典型示例是gps(全球定位系統)。根據當前的技術,位置信息模塊115計算來自三個或更多衛星的距離信息和準確的時間信息並且對於計算的信息應用三角測量法,從而根據經度、緯度和高度準確地計算三維當前位置信息。當前,用於計算位置和時間信息的方法使用三顆衛星並且通過使用另外的一顆衛星校正計算出的位置和時間信息的誤差。此外,gps模塊115能夠通過實時地連續計算當前位置信息來計算速度信息。
a/v輸入單元120用於接收音頻或視頻信號。a/v輸入單元120可以包括相機121和麥克風122,相機121對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態圖片或視頻的圖像數據進行處理。處理後的圖像幀可以顯示在顯示單元151上。經相機121處理後的圖像幀可以存儲在存儲器160(或其它存儲介質)中或者經由無線通信單元110進行發送,可以根據移動終端的構造提供兩個或更多相機121。麥克風122可以在電話通話模式、記錄模式、語音識別模式等等運行模式中經由麥克風接收聲音(音頻數據),並且能夠將這樣的聲音處理為音頻數據。處理後的音頻(語音)數據可以在電話通話模式的情況下轉換為可經由移動通信模塊112發送到移動通信基站的格式輸出。麥克風122可以實施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發送音頻信號的過程中產生的噪聲或者幹擾。
用戶輸入單元130可以根據用戶輸入的命令生成鍵輸入數據以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,並且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由於被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖杆等等。特別地,當觸摸板以層的形式疊加在顯示單元151上時,可以形成觸控螢幕。
接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機埠、外部電源(或電池充電器)埠、有線或無線數據埠、存儲卡埠、用於連接具有識別模塊的裝置的埠、音頻輸入/輸出(i/o)埠、視頻i/o埠、耳機埠等等。識別模塊可以是存儲用於驗證用戶使用移動終端100的各種信息並且可以包括用戶識別模塊(uim)、客戶識別模塊(sim)、通用客戶識別模塊(usim)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以採取智慧卡的形式,因此,識別裝置可以經由埠或其它連接裝置與移動終端100連接。接口單元170可以用於接收來自外部裝置的輸入(例如,數據信息、電力等等)並且將接收到的輸入傳輸到移動終端100內的一個或多個元件或者可以用於在移動終端和外部裝置之間傳輸數據。
另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸到移動終端的路徑。從底座輸入的各種命令信號或電力可以用作識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報單元153等等。
顯示單元151可以顯示在移動終端100中處理的信息。例如,當移動終端100處於電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發、多媒體文件下載等等)相關的用戶界面(ui)或圖形用戶界面(gui)。當移動終端100處於視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關功能的ui或gui等等。
同時,當顯示單元151和觸摸板以層的形式彼此疊加以形成觸控螢幕時,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(lcd)、薄膜電晶體lcd(tft-lcd)、有機發光二極體(oled)顯示器、柔性顯示器、三維(3d)顯示器等等中的至少一種。這些顯示器中的一些可以被構造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為toled(透明有機發光二極體)顯示器等等。根據特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內部顯示單元(未示出)。觸控螢幕可用於檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
音頻輸出模塊152可以在移動終端處於呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將無線通信單元110接收的或者在存儲器160中存儲的音頻數據轉換音頻信號並且輸出為聲音。而且,音頻輸出模塊152可以提供與移動終端100執行的特定功能相關的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚聲器、蜂鳴器等等。
警報單元153可以提供輸出以將事件的發生通知給移動終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報單元153可以以不同的方式提供輸出以通知事件的發生。例如,警報單元153可以以振動的形式提供輸出,當接收到呼叫、消息或一些其它進入通信(incomingcommunication)時,警報單元153可以提供觸覺輸出(即,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的行動電話處於用戶的口袋中時,用戶也能夠識別出各種事件的發生。警報單元153也可以經由顯示單元151或音頻輸出模塊152提供通知事件的發生的輸出。
存儲器160可以存儲由控制器180執行的處理和控制操作的軟體程序等等,或者可以暫時地存儲己經輸出或將要輸出的數據(例如,電話簿、消息、靜態圖像、視頻等等)。而且,存儲器160可以存儲關於當觸摸施加到觸控螢幕時輸出的各種方式的振動和音頻信號的數據。
存儲器160可以包括至少一種類型的存儲介質,所述存儲介質包括快閃記憶體、硬碟、多媒體卡、卡型存儲器(例如,sd或dx存儲器等等)、隨機訪問存儲器(ram)、靜態隨機訪問存儲器(sram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、可編程只讀存儲器(prom)、磁性存儲器、磁碟、光碟等等。而且,移動終端100可以與通過網絡連接執行存儲器160的存儲功能的網絡存儲裝置協作。
控制器180通常控制移動終端的總體操作。例如,控制器180執行與語音通話、數據通信、視頻通話等等相關的控制和處理。另外,控制器180可以包括用於再現(或回放)多媒體數據的多媒體模塊181,多媒體模塊181可以構造在控制器180內,或者可以構造為與控制器180分離。控制器180可以執行模式識別處理,以將在觸控螢幕上執行的手寫輸入或者圖片繪製輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內部電力並且提供操作各元件和組件所需的適當的電力。
這裡描述的各種實施方式可以以使用例如計算機軟體、硬體或其任何組合的計算機可讀介質來實施。對於硬體實施,這裡描述的實施方式可以通過使用特定用途集成電路(asic)、數位訊號處理器(dsp)、數位訊號處理裝置(dspd)、可編程邏輯裝置(pld)、現場可編程門陣列(fpga)、處理器、控制器、微控制器、微處理器、被設計為執行這裡描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對於軟體實施,諸如過程或功能的實施方式可以與允許執行至少一種功能或操作的單獨的軟體模塊來實施。軟體代碼可以由以任何適當的程式語言編寫的軟體應用程式(或程序)來實施,軟體代碼可以存儲在存儲器160中並且由控制器180執行。
至此,己經按照其功能描述了移動終端。另外,本發明實施例中的移動終端100可以是諸如摺疊型、直板型、擺動型、滑動型以及其他各種類型的移動終端,具體此處不做限定。
如圖1中所示的移動終端100可以被構造為利用經由幀或分組發送數據的諸如有線和無線通信系統以及基於衛星的通信系統來操作。
現在將參考圖2描述其中根據本發明的移動終端能夠操作的通信系統。
這樣的通信系統可以使用不同的空中接口和/或物理層。例如,由通信系統使用的空中接口包括例如頻分多址(fdma)、時分多址(tdma)、碼分多址(cdma)和通用移動通信系統(umts)(特別地,長期演進(lte))、全球移動通信系統(gsm)等等。作為非限制性示例,下面的描述涉及cdma通信系統,但是這樣的教導同樣適用於其它類型的系統。
參考圖2,cdma無線通信系統可以包括多個移動終端100、多個基站(bs)270、基站控制器(bsc)275和移動交換中心(msc)280。msc280被構造為與公共電話交換網絡(pstn)290形成接口。msc280還被構造為與可以經由回程線路耦接到基站270的bsc275形成接口。回程線路可以根據若干己知的接口中的任一種來構造,所述接口可以包括例如歐洲標準高容量數字線路/美國標準高容量數字線路(e1/t1)、異步傳輸模式(atm),網絡協議(ip)、點對點協議(ppp)、幀中繼、高速率數字用戶線路(hdsl)、非對稱數字用戶線路(adsl)或各種類型數字用戶線路(xdsl)。將理解的是,如圖2中所示的系統可以包括多個bsc275。
每個bs270可以服務一個或多個分區(或區域),由多向天線或指向特定方向的天線覆蓋的每個分區放射狀地遠離bs270。或者,每個分區可以由用於分集接收的兩個或更多天線覆蓋。每個bs270可以被構造為支持多個頻率分配,並且每個頻率分配具有特定頻譜(例如,1.25mhz,5mhz等等)。
分區與頻率分配的交叉可以被稱為cdma信道。bs270也可以被稱為基站收發器子系統(bts)或者其它等效術語。在這樣的情況下,術語"基站"可以用於籠統地表示單個bsc275和至少一個bs270。基站也可以被稱為"蜂窩站"。或者,特定bs270的各分區可以被稱為多個蜂窩站。
如圖2中所示,廣播發射器(bt)295將廣播信號發送給在系統內操作的移動終端100。如圖1中所示的廣播接收模塊111被設置在移動終端100處以接收由bt295發送的廣播信號。在圖2中,示出了幾個全球定位系統(gps)衛星300。衛星300幫助定位多個移動終端100中的至少一個。
在圖2中,描繪了多個衛星300,但是理解的是,可以利用任何數目的衛星獲得有用的定位信息。如圖1中所示的位置信息模塊115通常被構造為與衛星300配合以獲得想要的定位信息。替代gps跟蹤技術或者在gps跟蹤技術之外,可以使用可以跟蹤移動終端的位置的其它技術。另外,至少一個gps衛星300可以選擇性地或者額外地處理衛星dmb傳輸。
作為無線通信系統的一個典型操作,bs270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定bs270內進行處理。獲得的數據被轉發給相關的bsc275。bsc提供通話資源分配和包括bs270之間的軟切換過程的協調的移動管理功能。bsc275還將接收到的數據路由到msc280,其提供用於與pstn290形成接口的額外的路由服務。類似地,pstn290與msc280形成接口,msc與bsc275形成接口,並且bsc275相應地控制bs270以將正向鏈路信號發送到移動終端100。
第一實施例
本實施例提供的一種對照片進行重新著色的方法,該方法可以由照片的拍攝終端來執行,圖3是該方法的流程圖,如圖3所示,該方法包括如下處理:
步驟301:採集終端待拍攝畫面的景深信息,並拍攝得到第一照片;
本實施例中所涉及的終端可以具有不止兩個攝像頭,例如,終端可以是雙攝像頭終端或多攝像頭終端。且在本實施例中,第一攝像頭以及第二攝像頭可以設置於終端的同一側,例如,可以均是終端的前置攝像頭,或均為終端的後置攝像頭。基於此,在步驟301中,可以使用設置於終端同一側的攝像頭來採集終端待拍攝畫面的景深信息。基於終端上的雙攝像頭,在雙攝像頭開啟後,即可對待拍攝畫面的景深信息進行採集。
需要說明的是,在本實施例中,並非必須獲取待拍攝畫面中所有像素的景深信息。可以只獲取待拍攝畫面中畫面主體的景深信息。例如,在用戶自拍時,可以僅獲取人臉的景深信息。
步驟302:在第一照片的至少一部分區域被選中後,根據被選中區域的景深信息對被選中區域進行重新著色,呈現重新著色後得到的第二照片。
在本實施例中,待照片拍攝完成後,用戶可以對照片的局部進行選擇,以對該部分進行重新著色。其中,用戶對照片的局部進行選擇的方式不限於基於觸控螢幕對照片的局部進行圈選,或者使用終端的物理按鍵對照片的局部進行選擇。需要說明的是,在本實施例中,對照片中的某一局部進行重新著色即表示使用目標顏色替換該局部之前所呈現的顏色。
在對第一照片中被選中的區域進行著色時,可以根據景深信息的不同,為不同的像素位置配置對應明度值的目標顏色。例如,景深值大的位置,著色的明度值小,這樣可以使得著色後的照片更加立體,更加真實。基於此,根據被選中區域的景深信息對被選中區域進行重新著色的操作具體可以包括:將被選中區域的各像素點的景深值與目標顏色的各明度值對應,其中,各像素點的景深值與目標顏色的各明度值呈反比例關係;使用與各像素的景深值對應的顏色明度值調整目標顏色後,使用調整後的目標顏色替換對應的像素點之前所呈現的顏色。
在本實施例中,可以在對照片進行重新著色後,向用戶提供該圖像的預覽,在用戶確定保存後,再保存該重新著色後的照片。如果用戶不急於保存該照片,而需要對照片中的其他部分進行重新著色,則用戶可以重新選中照片中的另一個區域,終端在執行一次上述步驟302即可實現對照片中不同的位置進行著色。
本實施例還涉及到用於對用戶選擇區域進行著色的目標顏色的確定,在本實施例中,該目標顏色可以是終端中系統設置的多種顏色中的一種,供用戶選擇的。也可以是用戶預先存儲的自編輯的多種顏色,在需要進行重新著色時,用戶對這些顏色進行選擇。
此外,本實施例中涉及到的目標顏色還可以是用戶實時拍攝得到的照片中的顏色,基於該種情況,本實施例提供的方法還可以包括:在根據被選中區域的景深信息對被選中區域進行重新著色之前,使用終端上的第三攝像頭獲取目標顏色,目標顏色用於對被選中區域進行重新著色。其中,該第三攝像頭與上述第一攝像頭以及第二攝像頭位於同一個終端上,該第三攝像頭可以設置於第一攝像頭以及第二攝像頭的對側。例如,第一攝像頭以及第二攝像頭均為前置攝像頭,則第三攝像頭可以為後置攝像頭。其中,使用終端上的第三攝像頭獲取目標顏色的操作具體可以包括:使用第三攝像頭拍攝第三照片;確定第三照片中的主要顏色為目標顏色。在拍攝得到第三照片後,可以通過圖像識別的方法來獲取圖像的彩色信息,相同顏色最多的像素點所對應的顏色即為目標顏色。
本實施例提供的方法,通過對待拍攝畫面景深信息的獲取,使得用戶可以對已拍攝照片中的部分區域根據景深信息進行重新著色。使得用戶可以更加靈活的對拍攝得到的照片進行編輯,令用戶可以方便快捷的獲取滿意的照片,提高了用戶體驗。
第二實施例
本實施例以用戶對使用多攝像頭手機拍攝的自拍照片中的部分進行重新著色的具體使用場景為例,對本發明提供的方法進行進一步說明。
在該使用場景中,用戶利用手機前置雙攝像頭進行人臉的景深信息的採集,手機記錄採集到的人臉的景深信息,並拍攝得到自拍照片,如圖4所示,其中。用戶在手機上查看拍攝得到的照片時,對照片中的頭髮41的顏色不滿意,照片中的臉部42比較滿意。用戶發現周圍有喜歡的發色,則用戶使用終端的後置攝像頭拍到具有該發色的照片。再在之前拍攝的自拍照中選擇頭髮區域,如圖5所示,其中。虛線部分表示用戶選中的區域,即需要重新著色的區域手機即使用後置攝像頭拍攝得到的發色來替換頭髮區域的發色,並將替換發色後的照片呈現給用戶,如圖6所示,其中,劃斜線部分表示重新著色的部分,用戶保存該照片即可以得到滿意的自拍照片。
在本實施例中,用戶可以將使用手機的後置攝像頭採集到照片中的顏色應用到照片的不同部位進行實時效果預覽,比如用戶可以用後置攝像頭拍攝喜歡的顏色進行頭髮染色效果的實時預覽;將喜歡的口紅顏色應用到自己嘴唇上的進行實時效果預覽,該方案可以應用於到虛擬購物體驗,為用戶在購物時提供的便利。
第三實施例
本實施例提供了一種對照片進行重新著色的裝置,該裝置可以設置於終端中,該裝置用於實現上述第一實施例以及第二實施例中提供的方法,圖7為該裝置的結構框圖,如圖7所示,該裝置可以包括如下組成部分:
採集模塊71,用於採集終端待拍攝畫面的景深信息,並拍攝得到第一照片;
本實施例中所涉及的終端可以具有不止兩個攝像頭,例如,終端可以是雙攝像頭終端或多攝像頭終端。且在本實施例中,第一攝像頭以及第二攝像頭可以設置於終端的同一側,例如,可以均是終端的前置攝像頭,或均為終端的後置攝像頭。基於此,該採集模塊71具體可以使用設置於終端同一側的攝像頭來採集終端待拍攝畫面的景深信息。基於終端上的雙攝像頭,在雙攝像頭開啟後,即可對待拍攝畫面的景深信息進行採集。
需要說明的是,在本實施例中,採集模塊71並非必須獲取待拍攝畫面中所有像素的景深信息。可以只獲取待拍攝畫面中畫面主體的景深信息。例如,在用戶自拍時,可以僅獲取人臉的景深信息。
著色模塊72,用於在照片的至少一部分區域被選中後,根據被選中區域的景深信息對被選中區域進行重新著色,呈現重新著色後得到的第二照片。
在本實施例中,待照片拍攝完成後,用戶可以對照片的局部進行選擇,以對該部分進行重新著色。其中,用戶對照片的局部進行選擇的方式不限於基於觸控螢幕對照片的局部進行圈選,或者使用終端的物理按鍵對照片的局部進行選擇。需要說明的是,在本實施例中,對照片中的某一局部進行重新著色即表示使用目標顏色替換該局部之前所呈現的顏色。
在對照片中被選中的區域進行著色時,著色模塊42可以根據景深信息的不同,為不同的像素位置配置對應明度值的目標顏色。例如,景深值大的位置,著色的明度值小,這樣可以使得著色後的照片更加立體,更加真實。基於此,根據被選中區域的景深信息對被選中區域進行重新著色的操作具體可以包括:將被選中區域的各像素點的景深值與目標顏色的各明度值對應,其中,各像素點的景深值與目標顏色的各明度值呈反比例關係;使用與各像素的景深值對應的顏色明度值調整目標顏色後,使用調整後的目標顏色替換對應的像素點之前所呈現的顏色。
在本實施例中,在著色模塊42對照片進行重新著色後,終端向用戶提供該圖像的預覽,在用戶確定保存後,再保存該重新著色後的照片。如果用戶不急於保存該照片,而需要對照片中的其他部分進行重新著色,則用戶可以重新選中照片中的另一個區域,終端在執行一次上述步驟302即可實現對照片中不同的位置進行著色。
在本實施例中,著色模塊42還需要對用戶選擇區域進行著色的目標顏色進行確定,在本實施例中,該目標顏色可以是終端中系統設置的多種顏色中的一種,供用戶選擇的。也可以是用戶預先存儲的自編輯的多種顏色,在需要進行重新著色時,用戶對這些顏色進行選擇。
其中,本實施例中涉及到的第三攝像頭與上述第一攝像頭以及第二攝像頭位於同一個終端上,該第三攝像頭可以設置於第一攝像頭以及第二攝像頭的對側。例如,第一攝像頭以及第二攝像頭均為前置攝像頭,則第三攝像頭可以為後置攝像頭。其中,使用終端上的第三攝像頭獲取目標顏色的操作具體可以包括:使用第三攝像頭拍攝第三照片;確定第三照片中的主要顏色為目標顏色。在拍攝得到第三照片後,可以通過圖像識別的方法來獲取圖像的彩色信息,相同顏色最多的像素點所對應的顏色即為目標顏色。
在本實施例中,上述採集模塊71具體可以用於:通過終端的第一攝像頭以及第二攝像頭採集待拍攝畫面的景深信息,第一攝像頭以及第二攝像頭位於終端的同一側。
本實施例提供的裝置70還可以進一步包括:獲取模塊,該模塊用於在根據被選中區域的景深信息對被選中區域進行重新著色之前,使用終端上的第三攝像頭獲取目標顏色,目標顏色用於對被選中區域進行重新著色。基於該獲取模塊,上述著色模塊42具體可以包括如下單元:對應單元,該單元用於將被選中區域的各像素點的景深值與目標顏色的各明度值對應,其中,各像素點的景深值與目標顏色的各明度值呈反比例關係;著色單元,該單元用於使用與各像素的景深值對應的顏色明度值調整目標顏色後,使用調整後的目標顏色替換對應的像素點之前所呈現的顏色。其中,獲取模塊具體可以包括:拍攝單元,用於使用第三攝像頭拍攝第三照片;確定單元,用於確定第三照片中的主要顏色為目標顏色。
本實施例提供的裝置,通過對待拍攝畫面景深信息的獲取,使得用戶可以對已拍攝照片中的部分區域根據景深信息進行重新著色。使得用戶可以更加靈活的對拍攝得到的照片進行編輯,令用戶可以方便快捷的獲取滿意的照片,提高了用戶體驗。
需要說明的是,在本文中,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可藉助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品存儲在一個存儲介質(如rom/ram、磁碟、光碟)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,伺服器,空調器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。