專利名稱:一種自動(dòng)拍照方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像拍攝和處理領(lǐng)域,尤其涉及一種自動(dòng)拍照方法和裝置。
背景技術(shù):
當(dāng)前,用戶在使用具有前向攝像頭的手機(jī)自拍的時(shí)候,如果擺好姿勢(shì)后,一般都需要手動(dòng)按下快門(mén)按鈕進(jìn)行拍照,這樣在按下快門(mén)的那一刻就容易產(chǎn)生抖動(dòng),造成畫(huà)面模糊。 另外,傳統(tǒng)相機(jī)的自拍或自動(dòng)拍照功能通常是在按下快門(mén)的若干秒后進(jìn)行拍照,這時(shí),被拍攝人物可能還沒(méi)有擺好姿勢(shì),或姿勢(shì)擺得太久已變形,這將給用戶帶來(lái)極大的不便。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題在于,提供一種自動(dòng)拍照方法和裝置。可自動(dòng)檢測(cè)到用戶已經(jīng)擺好姿勢(shì),并拍下當(dāng)前照片,無(wú)需用戶自己手動(dòng)去按快門(mén)。為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種自動(dòng)拍照方法,包括 依次采集圖像幀;
分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比;
判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值,若判斷結(jié)果為是,則將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。其中,所述分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比的步驟包括 計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE ;
根據(jù)所述均方誤差MSE計(jì)算所述相鄰的兩個(gè)圖像幀之間的峰值信噪比PSNR。其中,所述計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE的步驟包括 分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素進(jìn)行采樣;
根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差,計(jì)算公式如下,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I(i, j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值。其中,所述根據(jù)所述均方誤差MSE計(jì)算所述相鄰的兩個(gè)圖像幀之間的峰值信噪比 PSNR的步驟具體為
根據(jù)公式PSNR=101ogl0 ((2n-l)/MSE)計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比,其中η為圖像幀的量化級(jí)別。其中,當(dāng)所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值的步驟判斷結(jié)果為否時(shí)
以所述相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,將所述起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀,并返回執(zhí)行所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值的步驟。
相應(yīng)地,本發(fā)明實(shí)施例還提供了一種自動(dòng)拍照裝置,包括 圖像幀采集模塊,用于依次采集圖像幀;
相似度計(jì)算模塊,用于分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比; 判斷模塊,用于判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值;
照片確定模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為是時(shí),將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。其中,所述相似度計(jì)算模塊具體包括
均方誤差分析模塊,用于計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE; 峰值信噪比計(jì)算模塊,用于根據(jù)所述均方誤差MSE計(jì)算所述相鄰的兩個(gè)圖像幀之間的峰值信噪比PSNR。其中,所述均方誤差分析模塊具體包括
像素采樣模塊,用于分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素進(jìn)行采樣; 均方誤差計(jì)算模塊,用于根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差,計(jì)算公式如下,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I (i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的 (i,j)坐標(biāo)處的像素值。其中,所述峰值信噪比計(jì)算模塊具體用于根據(jù)公式PSNR=101ogl0 ((2n-l)/MSE) 計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比,其中η為圖像幀的量化級(jí)別。其中,所述自動(dòng)拍照裝置還包括
起始幀確定模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為否時(shí),以所述相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,使所述判斷模塊將所述起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀。實(shí)施本發(fā)明實(shí)施例,具有如下有益效果通過(guò)對(duì)相鄰的圖像幀之間的相似度的比較,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門(mén);另外,相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn)。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明的自動(dòng)拍照方法的第一實(shí)施例流程圖; 圖2是本發(fā)明的自動(dòng)拍照方法的第二實(shí)施例流程圖3是本發(fā)明的計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE的流程圖; 圖4是本發(fā)明的自動(dòng)拍照方法的第三實(shí)施例流程圖; 圖5是本發(fā)明的自動(dòng)拍照裝置的第一實(shí)施例結(jié)構(gòu)示意圖; 圖6是本發(fā)明的自動(dòng)拍照裝置的第二實(shí)施例結(jié)構(gòu)示意5圖7是本發(fā)明的均方誤差分析模塊的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖1是本發(fā)明的自動(dòng)拍照方法的第一實(shí)施例流程圖。在本實(shí)施例中,一種自動(dòng)拍照方法從步驟Si開(kāi)始。在步驟Sl中,依次采集圖像幀。具體地,可以攝像方式連續(xù)地或間隔預(yù)設(shè)時(shí)間差 (例如20毫秒)地采集圖像幀。在步驟S2中,分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比。其中,峰值信噪比可以用PSNR表示,PSNR是以像素為單位,評(píng)價(jià)圖像處理前后變化的客觀標(biāo)準(zhǔn),常用于圖像壓縮、圖像去噪、數(shù)字水印等領(lǐng)域。這里,PSNR用于評(píng)價(jià)相鄰的兩個(gè)圖像幀之間的相似度。 PSNR的值為非負(fù),其值越大,表示兩個(gè)圖像幀之間的相似度越大,其值越小,表示兩個(gè)圖像幀之間的差異性越大。在步驟S3中,判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比是否均大于預(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è)相鄰的圖像幀之間的峰值信噪比均大于預(yù)設(shè)閾值,則表示該時(shí)間段內(nèi)或該大小的圖像幀序列內(nèi),每個(gè)圖像幀的相似度比較高,因此,可以從這些圖像幀中選擇至少一個(gè)作為抓拍幀保存。優(yōu)選地,直接將該圖像幀序列中的最后一個(gè)圖像幀作為抓拍幀保存。本發(fā)明一種自動(dòng)拍照方法通過(guò)對(duì)相鄰的圖像幀之間的相似度的比較,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門(mén);另外, 相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn)。圖2是本發(fā)明的自動(dòng)拍照方法的第二實(shí)施例流程圖。在本實(shí)施例中,一種自動(dòng)拍照方法從步驟210開(kāi)始。在步驟210中,依次采集圖像幀。具體地,可以攝像方式連續(xù)地或間隔預(yù)設(shè)時(shí)間差 (例如20毫秒)地采集圖像幀。在步驟220中,計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE。在步驟230中,根據(jù)步驟220中得到的均方誤差MSE計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比PSNR。例如根據(jù)公式PSNR=101ogl0 ((2n-l)/MSE)計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比,其中η為圖像幀的量化級(jí)別,PSNR的單位是dB。例如,對(duì)于8比特量化的圖像幀,η的取值為8。計(jì)算得到的PSNR的數(shù)值為非負(fù),其值越大,表示兩個(gè)圖像幀之間的相似度越大,其值越小,表示兩個(gè)圖像幀之間的差異性越大。需要指出的是,以上示出的公式只是計(jì)算峰值信噪比PSNR的常用公式之一,并不是對(duì)本發(fā)明的限制。在本發(fā)明的其他實(shí)施例中,還可以使用本領(lǐng)域技術(shù)人員熟知的其它公式計(jì)算峰值信噪比。在步驟MO中,判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值。例如,可以在緩存多個(gè)圖像幀(例如結(jié)束圖像幀的采集)后開(kāi)始判斷是否存在某個(gè)或某些預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列,在該圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比均大于預(yù)設(shè)閾值。又例如,可以在開(kāi)始采集圖像幀序列后,立即判斷當(dāng)前圖像幀與前一圖像幀之間的峰值信噪比是否大于閾值。若步驟MO的判斷結(jié)果為是,則執(zhí)行步驟250。在步驟250中,將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。若步驟MO的判斷結(jié)果為否,則執(zhí)行步驟沈0。在步驟沈0中,則以步驟MO中進(jìn)行判斷的相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,將該起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀。接下來(lái)返回執(zhí)行步驟Mo。如圖3所示,步驟220可以進(jìn)一步包括步驟221和步驟222。在步驟221中,分別對(duì)相鄰的兩個(gè)圖像幀中的像素進(jìn)行采樣。例如,可以對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素進(jìn)行采樣,這樣可以使計(jì)算結(jié)果更精確。又例如,還可以分別對(duì)相鄰的兩個(gè)圖像幀中的隔行和/或隔列的像素進(jìn)行采樣,這樣可以降低計(jì)算的復(fù)雜度,減小計(jì)算量,并加快處理速度。具體地,進(jìn)行隔單行隔單列采樣時(shí),可以只抽取圖像幀中奇數(shù)行奇數(shù)列、奇數(shù)行偶數(shù)列、偶數(shù)行奇數(shù)列或偶數(shù)行偶數(shù)列的像素進(jìn)行步驟222的計(jì)算。除了隔單行隔單列抽取以外,還可以根據(jù)精度要求,將1/4像素的抽取擴(kuò)展為1/B像素的抽取來(lái)在精度與速度之間進(jìn)行權(quán)衡。其中B可以取2,3,4,5,6……,只要B小于等于該顏色通道內(nèi)像素總數(shù)N。同樣地,還可以在B個(gè)像素塊中抽取Q個(gè)(Q<=B)進(jìn)行步驟222中的計(jì)算。在步驟222中,根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差。例如,若步驟221中是對(duì)每個(gè)像素進(jìn)行采樣,那么可以根據(jù)以下公式計(jì)算均方誤差,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I(i, j, k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值。在本實(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è)例子中,若步驟221中是對(duì)隔行和/或隔列的像素進(jìn)行采樣,以抽取偶數(shù)行偶數(shù)列像素為例,可以假設(shè)R=2i (偶數(shù)行),V=2j (偶數(shù)列),將像素P (R,V)代入上述MSE計(jì)算公式中進(jìn)行計(jì)算,其中w和h分別為原圖像幀寬度和高度的一半。圖4是本發(fā)明的自動(dòng)拍照方法的第三實(shí)施例流程圖。在本實(shí)施例中,一種自動(dòng)拍照方法從步驟401開(kāi)始。步驟401中,接收用戶輸入的進(jìn)入自動(dòng)拍攝模式的啟動(dòng)指令和設(shè)置拍照精度的設(shè)置指令。步驟402中,將計(jì)數(shù)器的計(jì)數(shù)清零。步驟403中,以預(yù)設(shè)頻率采集圖像幀。
步驟404中,根據(jù)設(shè)置指令對(duì)當(dāng)前采集的圖像幀和前一圖像幀中的像素進(jìn)行采樣。例如,若預(yù)先設(shè)置的拍照精度為最高級(jí)別,則對(duì)每個(gè)像素進(jìn)行采樣。又例如,若預(yù)先設(shè)置的拍照精度為中等級(jí)別,可以對(duì)隔行隔列像素進(jìn)行采樣。步驟405中,根據(jù)所采樣的像素,計(jì)算當(dāng)前采集的圖像幀與前一圖像幀之間的均
方誤差。步驟406中,根據(jù)當(dāng)前采集的圖像幀與前一圖像幀之間的均方誤差計(jì)算這兩個(gè)圖像幀之間的峰值信噪比。步驟407中,判斷這兩個(gè)圖像幀之間的峰值信噪比是否大于預(yù)設(shè)閾值Ts。若這兩個(gè)圖像幀之間的峰值信噪比大于預(yù)設(shè)閾值Ts,則執(zhí)行步驟408。在步驟408 中,判斷計(jì)數(shù)器的計(jì)數(shù)是否小于預(yù)設(shè)閾值Tt。若計(jì)數(shù)器的計(jì)數(shù)小于預(yù)設(shè)閾值Tt,則執(zhí)行步驟409。在步驟409中,將計(jì)數(shù)器的計(jì)數(shù)遞增一。并繼續(xù)執(zhí)行步驟403。若計(jì)數(shù)器的計(jì)數(shù)等于預(yù)設(shè)閾值Tt,則執(zhí)行步驟410。在步驟410中,將當(dāng)前采集的圖像幀作為抓拍幀保存。若這兩個(gè)圖像幀之間的峰值信噪比小于預(yù)設(shè)閾值Ts,則返回步驟402。優(yōu)選地,步驟410之后,還可以繼續(xù)返回步驟402,直至退出自動(dòng)拍攝模式。這樣可以避免只進(jìn)行一次抓拍而導(dǎo)致的誤差,還可以拍攝多張照片,以便用戶從中選擇效果最好的照片。圖5是本發(fā)明的自動(dòng)拍照裝置的第一實(shí)施例結(jié)構(gòu)示意圖。在本實(shí)施例中,一種自動(dòng)拍照裝置可以包括圖像幀采集模塊510、相似度計(jì)算模塊520、判斷模塊530和照片確定模塊討0。圖像幀采集模塊510可以用于依次采集圖像幀。具體地,圖像幀采集模塊510可以攝像方式連續(xù)地或間隔預(yù)設(shè)時(shí)間差(例如20毫秒)地采集圖像幀。相似度計(jì)算模塊520可以用于分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比。其中,峰值信噪比可以用PSNR表示,PSNR是以像素為單位,評(píng)價(jià)圖像處理前后變化的客觀標(biāo)準(zhǔn),常用于圖像壓縮、圖像去噪、數(shù)字水印等領(lǐng)域。這里,PSNR用于評(píng)價(jià)相鄰的兩個(gè)圖像幀之間的相似度。PSNR的值為非負(fù),其值越大,表示兩個(gè)圖像幀之間的相似度越大,其值越小, 表示兩個(gè)圖像幀之間的差異性越大。判斷模塊530可以用于判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比是否均大于預(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è)圖像幀。照片確定模塊540可以用于在判斷模塊530的判斷結(jié)果為是時(shí),將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。若預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比均大于預(yù)設(shè)閾值,則表示該時(shí)間段內(nèi)或該大小的圖像幀序列內(nèi),每個(gè)圖像幀的相似度比較高,因此,照片確定模塊540可以從這些圖像幀中選擇至少一個(gè)作為抓拍幀保存。優(yōu)選地,照片確定模塊540可以直接將該圖像幀序列中的最后一個(gè)圖像幀作為抓拍幀保存。
在工作過(guò)程中,首先,圖像幀采集模塊510可以預(yù)設(shè)頻率采集圖像幀。在圖像幀采集模塊510采集圖像幀的過(guò)程中或結(jié)束后,相似度計(jì)算模塊520可以分別計(jì)算每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比。然后,判斷模塊530可以判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值。若判斷模塊530 的判斷結(jié)果為是,那么照片確定模塊540可以將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。本發(fā)明一種自動(dòng)拍照裝置通過(guò)對(duì)相鄰的圖像幀之間的相似度的比較,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門(mén);另外, 相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn)。圖6是本發(fā)明的自動(dòng)拍照裝置的第二實(shí)施例結(jié)構(gòu)示意圖。在本實(shí)施例中,一種自動(dòng)拍照裝置可以包括圖像幀采集模塊510、相似度計(jì)算模塊520、判斷模塊530、照片確定模塊540和起始幀確定模塊550。其中,相似度計(jì)算模塊520又可以包括均方差分析模塊521 和峰值信噪比計(jì)算模塊522。均方差分析模塊521可以用于計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE。峰值信噪比計(jì)算模塊522可以用于根據(jù)均方差分析模塊521得到的均方誤差MSE 計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比PSNR。例如,峰值信噪比計(jì)算模塊522可以根據(jù)公式PSNR=IOloglO ((2n-l)/MSE)來(lái)計(jì)算PSNR,其中η為圖像幀的量化級(jí)別,PSNR的單位是dB。例如,對(duì)于8比特量化的圖像幀,η的取值為8。計(jì)算得到的PSNR的數(shù)值為非負(fù), 其值越大,表示兩個(gè)圖像幀之間的相似度越大,其值越大,表示兩個(gè)圖像幀之間的差異性越小。需要指出的是,以上示出的公式只是計(jì)算峰值信噪比PSNR的常用公式之一,并不是對(duì)本發(fā)明的限制。在本發(fā)明的其他實(shí)施例中,峰值信噪比計(jì)算模塊522還可以使用本領(lǐng)域技術(shù)人員熟知的其它公式計(jì)算峰值信噪比。在本實(shí)施例中,判斷模塊530可以判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi), 每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值。例如,判斷模塊530可以在緩存多個(gè)圖像幀(例如結(jié)束圖像幀的采集)后開(kāi)始判斷是否存在某個(gè)或某些預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列,在該圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比均大于預(yù)設(shè)閾值。又例如,判斷模塊530還可以在圖像幀采集模塊510開(kāi)始采集圖像幀序列后, 立即判斷當(dāng)前圖像幀與前一圖像幀之間的峰值信噪比是否大于閾值。若判斷模塊530的判斷結(jié)果為是,則照片確定模塊540可以將預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。若判斷模塊530的判斷結(jié)果為否,則起始幀確定模塊550可以用于以判斷模塊530 正在進(jìn)行判斷的這兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,并使判斷模塊530以該起始幀為預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列的第一個(gè)圖像幀,再次進(jìn)行判斷。如圖7所示,均方誤差分析模塊521還可以包括像素采樣模塊521Α和均方誤差計(jì)算模塊52IB。像素采樣模塊521Α可以用于分別對(duì)相鄰的兩個(gè)圖像幀中的像素進(jìn)行采樣。例如, 像素采樣模塊521Α可以對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素進(jìn)行采樣,這樣可以使計(jì)算結(jié)果更精確。又例如,像素采樣模塊521Α還可以分別對(duì)相鄰的兩個(gè)圖像幀中的隔行和/或隔
9列的像素進(jìn)行采樣,這樣可以降低計(jì)算的復(fù)雜度,減小計(jì)算量,并加快處理速度。具體地,像素采樣模塊521A進(jìn)行隔單行隔單列采樣時(shí),可以只抽取圖像幀中奇數(shù)行奇數(shù)列、奇數(shù)行偶數(shù)列、偶數(shù)行奇數(shù)列或偶數(shù)行偶數(shù)列的像素進(jìn)行步驟222的計(jì)算。除了隔單行隔單列抽取以外,像素采樣模塊521A還可以根據(jù)精度要求,將1/4像素的抽取擴(kuò)展為1/B像素的抽取來(lái)在精度與速度之間進(jìn)行權(quán)衡。其中B可以取2,3,4,5,6……,只要B小于等于該顏色通道內(nèi)像素總數(shù)N。同樣地,像素采樣模塊521A還可以在B個(gè)像素塊中抽取Q個(gè)(Q<=B)進(jìn)行步驟222中的計(jì)算。均方誤差計(jì)算模塊521B可以用于根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差。例如,若像素采樣模塊521A是對(duì)每個(gè)像素進(jìn)行采樣,那么均方誤差計(jì)算模塊 521B可以根據(jù)以下公式計(jì)算均方誤差,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I (i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值。在本實(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è)例子中,若像素采樣模塊521A是對(duì)隔行和/或隔列的像素進(jìn)行采樣,以抽取偶數(shù)行偶數(shù)列像素為例,假設(shè)R=2i (偶數(shù)行),V=2j (偶數(shù)列),均方誤差計(jì)算模塊521B可以將像素ρ (R,V)代入上述MSE計(jì)算公式中進(jìn)行計(jì)算,其中w和h分別為原圖像幀寬度和高度的一半。在本發(fā)明的其他實(shí)施例中,自動(dòng)拍照裝置還可以包括人機(jī)接口模塊,例如鍵盤(pán)、按鍵或觸摸屏等用于接收用戶指令的電子器件。該人機(jī)接口模塊可以用于接收用戶輸入的進(jìn)入自動(dòng)拍攝模式的啟動(dòng)指令和設(shè)置拍照精度的設(shè)置指令,以便圖像幀采集模塊510根據(jù)啟動(dòng)指令開(kāi)始以預(yù)設(shè)頻率采集圖像幀,以及像素采樣模塊521A根據(jù)預(yù)先設(shè)置的拍照精度來(lái)采集相鄰的兩個(gè)圖像幀中的像素。在本發(fā)明的另一優(yōu)選實(shí)施例中,在照片確定模塊540保存抓拍幀之后,判斷模塊 530還可以繼續(xù)判斷下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),每?jī)蓚€(gè)相鄰的圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值,即判斷是否存在其他需要保存的圖像幀,直至自動(dòng)拍照裝置退出自動(dòng)拍攝模式。這樣可以避免只進(jìn)行一次抓拍而導(dǎo)致的誤差,還可以拍攝多張照片,以便用戶從中選擇效果最好的照片。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種自動(dòng)拍照方法,其特征在于,包括依次采集圖像幀;分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比;判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值,若判斷結(jié)果為是,則將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。
2.根據(jù)權(quán)利要求1所述的自動(dòng)拍照方法,其特征在于,所述分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比的步驟包括計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE ;根據(jù)所述均方誤差MSE計(jì)算所述相鄰的兩個(gè)圖像幀之間的峰值信噪比PSNR。
3.根據(jù)權(quán)利要求2所述的自動(dòng)拍照方法,其特征在于,所述計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE的步驟包括分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素進(jìn)行采樣;根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差,計(jì)算公式如下,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù), I(i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的(i,j)坐標(biāo)處的像素值。
4.根據(jù)權(quán)利要求2所述的自動(dòng)拍照方法,其特征在于,所述根據(jù)所述均方誤差MSE計(jì)算所述相鄰的兩個(gè)圖像幀之間的峰值信噪比PSNR的步驟具體為根據(jù)公式PSNR=IOlogici ((2n-l)/MSE)計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比,其中 η為圖像幀的量化級(jí)別。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的自動(dòng)拍照方法,其特征在于,當(dāng)所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值的步驟判斷結(jié)果為否時(shí)以所述相鄰的兩個(gè)圖像幀中的后一個(gè)圖像幀為起始幀,將所述起始幀作為下一個(gè)預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列中的第一個(gè)圖像幀,并返回執(zhí)行所述判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值的步驟。
6.一種自動(dòng)拍照裝置,其特征在于,包括圖像幀采集模塊,用于依次采集圖像幀;相似度計(jì)算模塊,用于分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比;判斷模塊,用于判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值;照片確定模塊,用于當(dāng)所述判斷模塊判斷結(jié)果為是時(shí),將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。
7.根據(jù)權(quán)利要求6所述的自動(dòng)拍照裝置,其特征在于,所述相似度計(jì)算模塊具體包括均方誤差分析模塊,用于計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差MSE;峰值信噪比計(jì)算模塊,用于根據(jù)所述均方誤差MSE計(jì)算所述相鄰的兩個(gè)圖像幀之間的峰值信噪比PSNR。
8.根據(jù)權(quán)利要求7所述的自動(dòng)拍照裝置,其特征在于,所述均方誤差分析模塊具體包括像素采樣模塊,用于分別對(duì)相鄰的兩個(gè)圖像幀中的每個(gè)像素進(jìn)行采樣; 均方誤差計(jì)算模塊,用于根據(jù)采樣的像素計(jì)算相鄰的兩個(gè)圖像幀之間的均方誤差,計(jì)算公式如下,其中w表示參與計(jì)算的像素的列數(shù),h表示參與計(jì)算的像素的行數(shù),d代表圖像幀的顏色通道數(shù),I (i,j,k)和J(i,j,k)分別表示相鄰的兩個(gè)圖像幀位于k顏色通道的 (i,j)坐標(biāo)處的像素值。
9.根據(jù)權(quán)利要求7所述的自動(dòng)拍照裝置,其特征在于,所述峰值信噪比計(jì)算模塊具體用于根據(jù)公式PSNR=IOlogici ((2n-l)/MSE)計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比,其中η為圖像幀的量化級(jí)別。
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í)施例公開(kāi)了一種自動(dòng)拍照方法,包括依次采集圖像幀;分別計(jì)算相鄰的兩個(gè)圖像幀之間的峰值信噪比;判斷預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi),所述相鄰的兩個(gè)圖像幀之間的峰值信噪比是否均大于預(yù)設(shè)閾值,若判斷結(jié)果為是,則將所述預(yù)設(shè)時(shí)間段或預(yù)設(shè)大小的圖像幀序列內(nèi)的至少一個(gè)圖像幀作為抓拍幀保存。本發(fā)明實(shí)施例還公開(kāi)了一種自動(dòng)拍照裝置。采用本發(fā)明,可以自動(dòng)檢測(cè)被拍照人物的準(zhǔn)備狀態(tài),從而準(zhǔn)確地獲取抓拍幀,而不需用戶自己手動(dòng)去按快門(mén);另外,相對(duì)于傳統(tǒng)相機(jī)在固定若干秒后自動(dòng)拍照的方案,本發(fā)明具有更大的靈活性和更良好的用戶體驗(yàn)。
文檔編號(hào)H04N5/232GK102404508SQ20111036717
公開(kāi)日2012年4月4日 申請(qǐng)日期2011年11月18日 優(yōu)先權(quán)日2011年11月18日
發(fā)明者趙偉峰 申請(qǐng)人:深圳市萬(wàn)興軟件有限公司