專利名稱:一種自動(dòng)拍照方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像拍攝和處理領(lǐng)域,尤其涉及一種自動(dòng)拍照方法和裝置。
背景技術(shù):
當(dāng)前,用戶在使用具有前向攝像頭的手機(jī)自拍的時(shí)候,如果擺好姿勢(shì)后,一般都需要手動(dòng)按下快門按鈕進(jìn)行拍照,這樣在按下快門的那一刻就容易產(chǎn)生抖動(dòng),造成畫面模糊。 另外,傳統(tǒng)相機(jī)的自拍或自動(dòng)拍照功能通常是在按下快門的若干秒后進(jìn)行拍照,這時(shí),被拍攝人物可能還沒有擺好姿勢(shì),或姿勢(shì)擺得太久已變形,這將給用戶帶來極大的不便。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種自動(dòng)拍照方法和裝置。可自動(dòng)檢測(cè)到用戶已經(jīng)擺好姿勢(shì),并拍下當(dāng)前照片,無需用戶自己手動(dòng)去按快門。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種自動(dòng)拍照方法,包括 依次采集圖像幀;
分別計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差;
判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值,若判斷結(jié)果為是,則將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。其中,所述計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差的步驟包括 將相鄰的兩個(gè)圖像幀中的像素分別劃分為多個(gè)區(qū)域,每個(gè)區(qū)域中包含B個(gè)像素;
對(duì)相鄰的兩個(gè)圖像幀的每個(gè)區(qū)域中的B個(gè)像素,隨機(jī)選取Q個(gè)像素,其中B和Q均為正整數(shù),且Q<=B ;
根據(jù)選取的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。其中,所述計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差的步驟包括 分別對(duì)相鄰的兩個(gè)圖像幀中的偶數(shù)行偶數(shù)列像素進(jìn)行采樣;
根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。其中,所述計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差的步驟包括 分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素(i,j,k)進(jìn)行采樣;
根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差A(yù)MDF,計(jì)算公式如下,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I(i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值,abs表示取絕對(duì)值操作。其中,當(dāng)所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值的步驟判斷結(jié)果為否時(shí)
以所述相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,將所述起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀,并返回執(zhí)行所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值的步驟。本發(fā)明實(shí)施例還提供了一種自動(dòng)拍照裝置,包括 圖像幀采集模塊,用于依次采集圖像幀;
相似度計(jì)算模塊,用于分別計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差; 判斷模塊,用于判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值;
照片確定模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為是時(shí),將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。其中,所述相似度計(jì)算模塊具體包括
區(qū)域劃分模塊,用于將相鄰的兩個(gè)圖像幀中的像素分別劃分為多個(gè)區(qū)域,每個(gè)區(qū)域中包含B個(gè)像素;
像素采樣模塊,用于對(duì)相鄰的兩個(gè)圖像幀的每個(gè)區(qū)域中的B個(gè)像素,隨機(jī)選取Q個(gè)像素,其中B和Q均為正整數(shù),且Q<=B ;
短時(shí)平均幅度差計(jì)算模塊,用于根據(jù)選取的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。其中,所述相似度計(jì)算模塊具體包括
像素采樣模塊,用于分別對(duì)相鄰的兩個(gè)圖像幀中的偶數(shù)行偶數(shù)列像素進(jìn)行采樣; 短時(shí)平均幅度差計(jì)算模塊,用于根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。其中,所述相似度計(jì)算模塊具體包括
像素采樣模塊,用于分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素(i,j,k)進(jìn)行采樣; 短時(shí)平均幅度差計(jì)算模塊,用于根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差A(yù)MDF,計(jì)算公式如下,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I (i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值,abs表示取絕對(duì)值操作。其中,所述自動(dòng)拍照裝置還包括
起始幀確定模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為否時(shí),以所述相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,使所述判斷模塊將所述起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀。實(shí)施本發(fā)明實(shí)施例,具有如下有益效果通過對(duì)相鄰的圖像幀之間的相似度的比較,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門;相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn);另外,用短時(shí)平均幅度差來表示相似度,計(jì)算量較小,減輕了自動(dòng)拍照裝置的負(fù)擔(dān),而且提高了實(shí)時(shí)性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明的自動(dòng)拍照方法的第一實(shí)施例流程圖; 圖2是本發(fā)明的自動(dòng)拍照方法的第二實(shí)施例流程圖3是本發(fā)明的自動(dòng)拍照方法的第三實(shí)施例流程圖; 圖4是本發(fā)明的自動(dòng)拍照裝置的第一實(shí)施例結(jié)構(gòu)示意圖; 圖5是本發(fā)明的自動(dòng)拍照裝置的第二實(shí)施例結(jié)構(gòu)示意圖; 圖6是本發(fā)明的自動(dòng)拍照裝置的第三實(shí)施例結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1是本發(fā)明的自動(dòng)拍照方法的第一實(shí)施例流程圖。在本實(shí)施例中,一種自動(dòng)拍照方法從步驟Sl開始。在步驟Sl中,依次采集圖像幀。具體地,可以攝像方式連續(xù)地或間隔預(yù)設(shè)時(shí)間差 (例如20毫秒)地采集圖像幀。在步驟S2中,分別計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。其中,短時(shí)平均幅度差可以用AMDF (Average Magnitude Difference Function,短時(shí)平均幅度差函數(shù)) 表示。AMDF—般用于音頻中求基音周期等。但是,由于移動(dòng)終端在彩色圖像的處理上計(jì)算量比較大,為了控制計(jì)算量,尤其是對(duì)實(shí)時(shí)性要求很高的時(shí)候,可以將AMDF引入圖像中,用于評(píng)價(jià)相鄰的兩個(gè)圖像幀之間的相似度。AMDF的值為非負(fù),其值越小,表示兩個(gè)圖像幀之間的相似度越大,其值越大,表示兩個(gè)圖像幀之間的差異性越大。在步驟S3中,判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值,若判斷結(jié)果為是,則將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。其中,預(yù)設(shè)時(shí)間段和預(yù)設(shè)大小的圖像幀序列可以預(yù)先進(jìn)行設(shè)置,且預(yù)設(shè)時(shí)間段和預(yù)設(shè)大小的圖像幀序列這兩個(gè)閾值可以互相轉(zhuǎn)換。例如,預(yù)設(shè)時(shí)間段可以為1秒,此時(shí)若圖像幀間的時(shí)間差為20毫秒,那么圖像幀序列的預(yù)設(shè)大小可以是50個(gè)圖像幀。另外,若預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差均小于預(yù)設(shè)閾值,則表示該時(shí)間段內(nèi)或該大小的圖像幀序列內(nèi),每個(gè)圖像幀的相似度比較高,因此,可以從這些圖像幀中選擇至少一個(gè)作為抓拍幀保存。優(yōu)選地,直接將該圖像幀序列中的最后一個(gè)圖像幀作為抓拍幀保存。本發(fā)明一種自動(dòng)拍照方法通過對(duì)相鄰的圖像幀之間的相似度的比較,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門;相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn);另外,用短時(shí)平均幅度差來表示相似度,計(jì)算量較小,減輕了自動(dòng)拍照裝置的負(fù)擔(dān),而且提高了實(shí)時(shí)性。圖2是本發(fā)明的自動(dòng)拍照方法的第二實(shí)施例流程圖。在本實(shí)施例中,一種自動(dòng)拍照方法從步驟210開始。在步驟210中,依次采集圖像幀。具體地,可以攝像方式連續(xù)地或間隔預(yù)設(shè)時(shí)間差 (例如20毫秒)地采集圖像幀。在步驟220中,將相鄰的兩個(gè)圖像幀中的像素分別劃分為多個(gè)區(qū)域,每個(gè)區(qū)域中可以包含B個(gè)像素,其中B是正整數(shù)。例如,B的取值可以為2,3,4,5,6……,只要B小于等于該顏色通道內(nèi)像素總數(shù)N。在步驟230中,分別對(duì)相鄰的兩個(gè)圖像幀的每個(gè)區(qū)域中的Q個(gè)像素進(jìn)行采樣,其中 Q為小于或等于B的正整數(shù)。在步驟MO中,根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。在步驟250中,判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值。例如,可以在緩存多個(gè)圖像幀(例如結(jié)束圖像幀的采集)后開始判斷是否存在某個(gè)或某些預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列,在該圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差均小于預(yù)設(shè)閾值。又例如,可以在開始采集圖像幀序列后,立即判斷當(dāng)前圖像幀與前一圖像幀之間的短時(shí)平均幅度差是否小于閾值。若步驟250的判斷結(jié)果為是,則執(zhí)行步驟沈0。在步驟沈0中,將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。若步驟250的判斷結(jié)果為否,則執(zhí)行步驟270。在步驟270中,則以步驟250中進(jìn)行判斷的相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,將該起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀。接下來返回執(zhí)行步驟250。優(yōu)選地,當(dāng)很規(guī)則地對(duì)像素進(jìn)行采樣時(shí),步驟220和230可以合并為采樣步驟。在采樣步驟中,按照預(yù)設(shè)規(guī)則分別對(duì)相鄰的兩個(gè)圖像幀中的像素進(jìn)行采樣。例如,可以分別對(duì)相鄰的兩個(gè)圖像幀中的隔行和/或隔列的像素進(jìn)行采樣,這樣可以降低計(jì)算的復(fù)雜度,減小計(jì)算量,并加快處理速度。具體地,可以進(jìn)行隔單行隔單列采樣,例如可以只抽取圖像幀中奇數(shù)行奇數(shù)列(2i+l,2j+l,k)、奇數(shù)行偶數(shù)列(2i+l,2j,k)、偶數(shù)行奇數(shù)列(2i,2j+l,k) 或偶數(shù)行偶數(shù)列(2i,2j,k)的像素進(jìn)行短時(shí)平均幅度差的計(jì)算。又例如,還可以對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素(i,j,k)進(jìn)行采樣,這樣可以使計(jì)算結(jié)果更精確。若采樣步驟中對(duì)每個(gè)像素進(jìn)行采樣,那么步驟MO中可以根據(jù)以下公式計(jì)算短時(shí)平均幅度差A(yù)MDF ,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I(i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值,abs表示取絕對(duì)值操作。在本實(shí)施例中,由于圖像幀中的每個(gè)像素都參與了計(jì)算,因此,w可以表示圖像幀的寬,h可以表示圖像幀的高。另外,如果圖像幀是RGB類型或M位真彩色圖像,那么d的取值可以為3。如果圖像幀是RGB32類型,由于其含有的alpha通道并不參與計(jì)算,因此d的取值仍然為3。如果圖像幀是YUV或YCbCr等其他不同色彩空間的圖像,同理都可以統(tǒng)一根據(jù)參與計(jì)算的顏色通道數(shù)設(shè)置d的數(shù)值。在另一個(gè)例子中,若采樣步驟中是對(duì)隔行和/或隔列的像素進(jìn)行采樣,以抽取偶數(shù)行偶數(shù)列像素為例,可以假設(shè)R=2i (偶數(shù)行),V=2j (偶數(shù)列),將像素ρ (R,V)代入上述AMDF計(jì)算公式中進(jìn)行計(jì)算,其中w和h分別為原圖像幀寬度和高度的一半。以上不同的采樣方法的選擇需要在精度與速度之間進(jìn)行權(quán)衡。
圖3是本發(fā)明的自動(dòng)拍照方法的第三實(shí)施例流程圖。在本實(shí)施例中,一種自動(dòng)拍照方法從步驟301開始。步驟301中,接收用戶輸入的進(jìn)入自動(dòng)拍攝模式的啟動(dòng)指令和設(shè)置拍照精度的設(shè)置指令。步驟302中,將計(jì)數(shù)器的計(jì)數(shù)清零。步驟303中,以預(yù)設(shè)頻率采集圖像幀。步驟304中,根據(jù)設(shè)置指令對(duì)當(dāng)前采集的圖像幀和前一圖像幀中的像素進(jìn)行采樣。例如,若預(yù)先設(shè)置的拍照精度為最高級(jí)別,則對(duì)每個(gè)像素進(jìn)行采樣。又例如,若預(yù)先設(shè)置的拍照精度為中等級(jí)別,可以對(duì)隔行隔列像素進(jìn)行采樣。總之,每種像素采樣方案可以對(duì)應(yīng)于一種拍照精度。步驟305中,根據(jù)所采樣的像素,計(jì)算當(dāng)前采集的圖像幀與前一圖像幀之間的短時(shí)平均幅度差。步驟306中,判斷這兩個(gè)圖像幀之間的短時(shí)平均幅度差是否小于預(yù)設(shè)閾值Ts。若這兩個(gè)圖像幀之間的短時(shí)平均幅度差小于預(yù)設(shè)閾值Ts,則執(zhí)行步驟307。在步驟307中,判斷計(jì)數(shù)器的計(jì)數(shù)是否小于預(yù)設(shè)閾值Tt。若計(jì)數(shù)器的計(jì)數(shù)小于預(yù)設(shè)閾值Tt,則執(zhí)行步驟308。在步驟308中,將計(jì)數(shù)器的計(jì)數(shù)遞增一。并繼續(xù)執(zhí)行步驟303。若計(jì)數(shù)器的計(jì)數(shù)等于預(yù)設(shè)閾值Tt,則執(zhí)行步驟309。在步驟309中,將當(dāng)前采集的圖像幀作為抓拍幀保存。若這兩個(gè)圖像幀之間的短時(shí)平均幅度差大于預(yù)設(shè)閾值Ts,則返回步驟302。優(yōu)選地,步驟309之后,還可以繼續(xù)返回步驟302,直至退出自動(dòng)拍攝模式。這樣可以避免只進(jìn)行一次抓拍而導(dǎo)致的誤差,還可以拍攝多張照片,以便用戶從中選擇效果最好的照片。圖4是本發(fā)明的自動(dòng)拍照裝置的第一實(shí)施例結(jié)構(gòu)示意圖。在本實(shí)施例中,一種自動(dòng)拍照裝置可以包括圖像幀采集模塊410、相似度計(jì)算模塊420、判斷模塊430和照片確定模塊440。圖像幀采集模塊410可以用于依次采集圖像幀。具體地,圖像幀采集模塊410可以攝像方式連續(xù)地或間隔預(yù)設(shè)時(shí)間差(例如20毫秒)地采集圖像幀。相似度計(jì)算模塊420可以用于分別計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。其中,短時(shí)平均幅度差可以用AMDF (Average Magnitude Difference Function,短時(shí)平均幅度差函數(shù))表示。AMDF—般用于音頻中求基音周期等。但是,由于移動(dòng)終端在彩色圖像的處理上計(jì)算量比較大,為了控制計(jì)算量,尤其是對(duì)實(shí)時(shí)性要求很高的時(shí)候,可以將AMDF 引入圖像中,用于評(píng)價(jià)相鄰的兩個(gè)圖像幀之間的相似度。AMDF的值為非負(fù),其值越小,表示兩個(gè)圖像幀之間的相似度越大,其值越大,表示兩個(gè)圖像幀之間的差異性越大。判斷模塊430可以用于判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值。其中,預(yù)設(shè)時(shí)間段和預(yù)設(shè)大小的圖像幀序列可以預(yù)先進(jìn)行設(shè)置,且預(yù)設(shè)時(shí)間段和預(yù)設(shè)大小的圖像幀序列這兩個(gè)閾值可以互相轉(zhuǎn)換。例如,預(yù)設(shè)時(shí)間段可以為1秒,此時(shí)若圖像幀間的時(shí)間差為20毫秒,那么圖像幀序列的預(yù)設(shè)大小可以是50個(gè)圖像幀。
照片確定模塊440可以用于在判斷模塊430的判斷結(jié)果為是時(shí),將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。若預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差均小于預(yù)設(shè)閾值,則表示該時(shí)間段內(nèi)或該大小的圖像幀序列內(nèi),每個(gè)圖像幀的相似度比較高,因此,照片確定模塊440可以從這些圖像幀中選擇至少一個(gè)作為抓拍幀保存。優(yōu)選地,照片確定模塊440可以直接將該圖像幀序列中的最后一個(gè)圖像幀作為抓拍幀保存。在工作過程中,首先,圖像幀采集模塊410可以預(yù)設(shè)頻率采集圖像幀。在圖像幀采集模塊410采集圖像幀的過程中或結(jié)束后,相似度計(jì)算模塊420可以分別計(jì)算每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差。然后,判斷模塊430可以判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值。若判斷模塊430的判斷結(jié)果為是,那么照片確定模塊440可以將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。本發(fā)明一種自動(dòng)拍照裝置通過對(duì)相鄰的圖像幀之間的相似度的比較,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門;相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn);另外,用短時(shí)平均幅度差來表示相似度,計(jì)算量較小,減輕了自動(dòng)拍照裝置的負(fù)擔(dān),而且提高了實(shí)時(shí)性。圖5是本發(fā)明的自動(dòng)拍照裝置的第二實(shí)施例結(jié)構(gòu)示意圖。在本實(shí)施例中,一種自動(dòng)拍照裝置可以包括圖像幀采集模塊410、相似度計(jì)算模塊420、判斷模塊430、照片確定模塊440和起始幀確定模塊450。其中,相似度計(jì)算模塊420又可以包括像素采樣模塊421、 短時(shí)平均幅度差計(jì)算模塊422和區(qū)域劃分模塊423。區(qū)域劃分模塊423,用于將相鄰的兩個(gè)圖像幀中的像素分別劃分為多個(gè)區(qū)域,每個(gè)區(qū)域中可以包含B個(gè)像素,其中B是正整數(shù)。例如,B的取值可以為2,3,4,5,6……,只要B 小于等于該顏色通道內(nèi)像素總數(shù)N。像素采樣模塊421,用于分別對(duì)相鄰的兩個(gè)圖像幀的每個(gè)區(qū)域中的Q個(gè)像素進(jìn)行采樣,其中Q為小于或等于B的正整數(shù)。。短時(shí)平均幅度差計(jì)算模塊422可以用于根據(jù)像素采樣模塊421采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。圖6是本發(fā)明的自動(dòng)拍照裝置的第三實(shí)施例結(jié)構(gòu)示意圖。在本實(shí)施例中,一種自動(dòng)拍照裝置可以包括圖像幀采集模塊410、相似度計(jì)算模塊420、判斷模塊430、照片確定模塊440和起始幀確定模塊450。其中,相似度計(jì)算模塊420又可以包括像素采樣模塊421和短時(shí)平均幅度差計(jì)算模塊422。像素采樣模塊421可以用于按照預(yù)設(shè)規(guī)則分別對(duì)相鄰的兩個(gè)圖像幀中的像素進(jìn)行采樣。例如,像素采樣模塊421可以分別對(duì)相鄰的兩個(gè)圖像幀中的隔行和/或隔列的像素進(jìn)行采樣,這樣可以降低計(jì)算的復(fù)雜度,減小計(jì)算量,并加快處理速度。具體地,像素采樣模塊421可以進(jìn)行隔單行隔單列采樣,例如像素采樣模塊421可以只抽取圖像幀中奇數(shù)行奇數(shù)列(2i+l,2j+l,k)、奇數(shù)行偶數(shù)列(2i+l,2j,k)、偶數(shù)行奇數(shù)列(2i,2j+l,k)或偶數(shù)行偶數(shù)列(2i,2j,k)的像素給短時(shí)平均幅度差計(jì)算模塊422進(jìn)行計(jì)算。又例如,像素采樣模塊421還可以對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素(i,j,k)進(jìn)行采樣,這樣可以使計(jì)算結(jié)果更精確。短時(shí)平均幅度差計(jì)算模塊422可以用于根據(jù)像素采樣模塊421采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。若像素采樣模塊421對(duì)每個(gè)像素進(jìn)行采樣,那么短時(shí)平均幅度差計(jì)算模塊422可以根據(jù)以下公式計(jì)算短時(shí)平均幅度差A(yù)MDF ,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I(i, j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值, abs表示取絕對(duì)值操作。在本實(shí)施例中,由于圖像幀中的每個(gè)像素都參與了計(jì)算,因此,w可以表示圖像幀的寬,h可以表示圖像幀的高。另外,如果圖像幀是RGB類型或M位真彩色圖像,那么d的取值可以為3。如果圖像幀是RGB32類型,由于其含有的alpha通道并不參與計(jì)算,因此d的取值仍然為3。如果圖像幀是YUV或YCbCr等其他不同色彩空間的圖像, 同理都可以統(tǒng)一根據(jù)參與計(jì)算的顏色通道數(shù)設(shè)置d的數(shù)值。在另一個(gè)例子中,若像素采樣模塊421是對(duì)隔行和/或隔列的像素進(jìn)行采樣,以抽取偶數(shù)行偶數(shù)列像素為例,假設(shè)R=2i (偶數(shù)行),V=2j (偶數(shù)列),此時(shí)短時(shí)平均幅度差計(jì)算模塊422可以將像素ρ (R,V)代入上述AMDF計(jì)算公式中進(jìn)行計(jì)算,其中w和h分別為原圖像幀寬度和高度的一半。以上像素采樣模塊421所使用的不同采樣方法的選擇需要在精度與速度之間進(jìn)行權(quán)衡。在圖4-6所示的任意實(shí)施例中,判斷模塊430可以判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值。例如,判斷模塊430可以在緩存多個(gè)圖像幀(例如結(jié)束圖像幀的采集)后開始判斷是否存在某個(gè)或某些預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列,在該圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差均小于預(yù)設(shè)閾值。又例如,判斷模塊430還可以在圖像幀采集模塊410開始采集圖像幀序列后,立即判斷當(dāng)前圖像幀與前一圖像幀之間的短時(shí)平均幅度差是否小于閾值。若判斷模塊430的判斷結(jié)果為是,則照片確定模塊440可以將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。若判斷模塊430的判斷結(jié)果為否,則起始幀確定模塊450可以用于以判斷模塊430 正在進(jìn)行判斷的這兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,并使判斷模塊430以該起始幀為預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列的第一個(gè)圖像幀,再次進(jìn)行判斷。在本發(fā)明的其他實(shí)施例中,自動(dòng)拍照裝置還可以包括人機(jī)接口模塊,例如鍵盤、按鍵或觸摸屏等用于接收用戶指令的電子器件。該人機(jī)接口模塊可以用于接收用戶輸入的進(jìn)入自動(dòng)拍攝模式的啟動(dòng)指令和設(shè)置拍照精度的設(shè)置指令,以便圖像幀采集模塊410根據(jù)啟動(dòng)指令開始以預(yù)設(shè)頻率采集圖像幀,以及像素采樣模塊421根據(jù)預(yù)先設(shè)置的拍照精度來采集相鄰的兩個(gè)圖像幀中的像素。在本發(fā)明的另一優(yōu)選實(shí)施例中,在照片確定模塊440保存抓拍幀之后,判斷模塊 430還可以繼續(xù)判斷下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值,即判斷是否存在其他需要保存的圖像幀,直至自動(dòng)拍照裝置退出自動(dòng)拍攝模式。這樣可以避免只進(jìn)行一次抓拍而導(dǎo)致的誤差,還可以拍攝多張照片,以便用戶從中選擇效果最好的照片。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以
10通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。 以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種自動(dòng)拍照方法,其特征在于,包括 依次采集圖像幀;分別計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差;判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值,若判斷結(jié)果為是,則將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。
2.根據(jù)權(quán)利要求1所述的自動(dòng)拍照方法,其特征在于,所述計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差的步驟包括將相鄰的兩個(gè)圖像幀中的像素分別劃分為多個(gè)區(qū)域,每個(gè)區(qū)域中包含B個(gè)像素; 對(duì)相鄰的兩個(gè)圖像幀的每個(gè)區(qū)域中的B個(gè)像素,隨機(jī)選取Q個(gè)像素,其中B和Q均為正整數(shù),且Q<=B ;根據(jù)選取的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。
3.根據(jù)權(quán)利要求1所述的自動(dòng)拍照方法,其特征在于,所述計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差的步驟包括分別對(duì)相鄰的兩個(gè)圖像幀中的偶數(shù)行偶數(shù)列像素進(jìn)行采樣; 根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。
4.根據(jù)權(quán)利要求1所述的自動(dòng)拍照方法,其特征在于,所述計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差的步驟包括分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素(i,j,k)進(jìn)行采樣;根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差A(yù)MDF,計(jì)算公式如下 ,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I(i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值,abs表示取絕對(duì)值操作。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的自動(dòng)拍照方法,其特征在于,當(dāng)所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值的步驟判斷結(jié)果為否時(shí)以所述相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,將所述起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀,并返回執(zhí)行所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值的步驟。
6.一種自動(dòng)拍照裝置,其特征在于,包括 圖像幀采集模塊,用于依次采集圖像幀;相似度計(jì)算模塊,用于分別計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差; 判斷模塊,用于判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值;照片確定模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為是時(shí),將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。
7.根據(jù)權(quán)利要求6所述的自動(dòng)拍照裝置,其特征在于,所述相似度計(jì)算模塊具體包括 區(qū)域劃分模塊,用于將相鄰的兩個(gè)圖像幀中的像素分別劃分為多個(gè)區(qū)域,每個(gè)區(qū)域中包含B個(gè)像素;像素采樣模塊,用于對(duì)相鄰的兩個(gè)圖像幀的每個(gè)區(qū)域中的B個(gè)像素,隨機(jī)選取Q個(gè)像素,其中B和Q均為正整數(shù),且Q<=B ;短時(shí)平均幅度差計(jì)算模塊,用于根據(jù)選取的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。
8.根據(jù)權(quán)利要求6所述的自動(dòng)拍照裝置,其特征在于,所述相似度計(jì)算模塊具體包括像素采樣模塊,用于分別對(duì)相鄰的兩個(gè)圖像幀中的偶數(shù)行偶數(shù)列像素進(jìn)行采樣;短時(shí)平均幅度差計(jì)算模塊,用于根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差。
9.根據(jù)權(quán)利要求6所述的自動(dòng)拍照裝置,其特征在于,所述相似度計(jì)算模塊具體包括像素采樣模塊,用于分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素(i,j,k)進(jìn)行采樣;短時(shí)平均幅度差計(jì)算模塊,用于根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差A(yù)MDF,計(jì)算公式如下,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I (i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值,abs表示取絕對(duì)值操作。
10.根據(jù)權(quán)利要求6-9中任一項(xiàng)所述的自動(dòng)拍照裝置,其特征在于,所述自動(dòng)拍照裝置還包括起始幀確定模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為否時(shí),以所述相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,使所述判斷模塊將所述起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀。
全文摘要
本發(fā)明實(shí)施例公開了一種自動(dòng)拍照方法,包括依次采集圖像幀;分別計(jì)算相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差;判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的短時(shí)平均幅度差是否均小于預(yù)設(shè)閾值,若判斷結(jié)果為是,則將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。本發(fā)明實(shí)施例還公開了一種自動(dòng)拍照裝置。采用本發(fā)明,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門;另外,相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn)。
文檔編號(hào)H04N5/232GK102420941SQ20111036713
公開日2012年4月18日 申請(qǐng)日期2011年11月18日 優(yōu)先權(quán)日2011年11月18日
發(fā)明者趙偉峰 申請(qǐng)人:深圳市萬興軟件有限公司