一種基于移動(dòng)終端距離傳感器的對焦方法及對焦系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種基于移動(dòng)終端距離傳感器的對焦方法及對焦系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動(dòng)通信的發(fā)展和人們生活水平的不斷提高,各種移動(dòng)終端如手機(jī)的使用越來越普及,手機(jī)已經(jīng)成為人們生活中不可缺少的通訊交流工具。
[0003]傳統(tǒng)的手機(jī)攝像頭對焦算法是通過不停移動(dòng)馬達(dá),獲取不同馬達(dá)位置時(shí)圖像的聚焦值,也稱為FV (focus value)值,來判斷圖像清晰程度,進(jìn)行掃描之后判斷出最佳馬達(dá)位置,然后把馬達(dá)移動(dòng)到最清晰的位置。完成一次對焦動(dòng)作。整個(gè)過程根據(jù)搜索的范圍不同,幀率不同時(shí)間在0.5-2秒。特別是在暗處,由于光線不足,手機(jī)的曝光時(shí)間會(huì)相應(yīng)增加,導(dǎo)致幀率變低后,對焦時(shí)間會(huì)更長。這個(gè)延時(shí)很可能讓拍攝者失去捕捉“精彩瞬間”的機(jī)會(huì)。
[0004]現(xiàn)有技術(shù)中的對焦往往需要對整個(gè)對焦范圍進(jìn)行掃描,然后找到最清晰的點(diǎn)。由于整個(gè)搜索范圍大,往往需要很多幀來分辨哪張最清晰。而在暗處環(huán)境下,由于曝光時(shí)間長,幀率低,對焦時(shí)間會(huì)拖到幾秒,有時(shí)候由于圖像不夠亮或算法本身缺陷,可能導(dǎo)致最終的對焦失敗。并且由于純軟件算法實(shí)現(xiàn)的對焦無法判斷物體是否和鏡頭相當(dāng)位置發(fā)生了改變,可能純在反復(fù)對焦,或者物體移動(dòng)了沒有去做對焦的情況。
[0005]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種基于移動(dòng)終端距離傳感器的對焦方法及對焦系統(tǒng),旨在解決現(xiàn)有技術(shù)中用戶拍照對焦時(shí)間過久或是反復(fù)對焦,延遲拍攝時(shí)間的缺陷。
[0007]本發(fā)明解決技術(shù)問題所采用的技術(shù)方案如下:
一種基于移動(dòng)終端距離傳感器的對焦方法,其中,所述方法包括步驟:
A、檢測到移動(dòng)終端啟動(dòng)照相功能,距離傳感器獲取當(dāng)前攝像頭與待拍攝物體的距離并存儲(chǔ);
B、距離傳感器判斷當(dāng)前距離與上一次距離傳感器與待拍攝物體的距離是否發(fā)生變化;
C、如果檢測到距離發(fā)生了變化,則根據(jù)當(dāng)前距離查詢預(yù)先存儲(chǔ)的對焦微調(diào)范圍表獲取馬達(dá)的微調(diào)范圍,控制馬達(dá)在微調(diào)范圍內(nèi)移動(dòng),并實(shí)時(shí)采集圖像;
D、獲取馬達(dá)在微調(diào)范圍內(nèi)不同位置移動(dòng)時(shí)的采集到的圖像的聚焦值,控制馬達(dá)移動(dòng)至聚焦值最大的位置,完成對焦。
[0008]所述的基于移動(dòng)終端距離傳感器的對焦方法,其中,所述步驟A之前包括步驟:
S、預(yù)先設(shè)置并存儲(chǔ)距離傳感器與待拍攝物體的距離和馬達(dá)對焦微調(diào)范圍的對應(yīng)表。
[0009]所述的基于移動(dòng)終端距離傳感器的對焦方法,其中,所述步驟B之后還包括: B1、如果距離沒有發(fā)生變化,控制馬達(dá)在當(dāng)前位置不移動(dòng)。
[0010]所述的基于移動(dòng)終端距離傳感器的對焦方法,其中,所述步驟C具體包括:
Cl、如果檢測到距離發(fā)生了變化,獲取距離傳感器與待拍攝物體的當(dāng)前距離;
C2、根據(jù)當(dāng)前距離查詢預(yù)先存儲(chǔ)的對焦微調(diào)范圍表,獲取馬達(dá)的微調(diào)范圍;
C3、控制馬達(dá)在微調(diào)范圍內(nèi)移動(dòng),并實(shí)時(shí)采集圖像。
[0011]所述的基于移動(dòng)終端距離傳感器的對焦方法,其中,所述步驟D具體包括:
D1、獲取馬達(dá)在微調(diào)范圍內(nèi)不同位置采集到的圖像的聚焦值并存儲(chǔ);
D2、對比聚焦值獲取聚焦值最大時(shí)的位置;
D3、控制馬達(dá)移動(dòng)至聚焦值最大的位置,完成對焦。
[0012]一種基于移動(dòng)終端距離傳感器的對焦系統(tǒng),其中,所述系統(tǒng)包括:
檢測與獲取模塊,檢測到移動(dòng)終端啟動(dòng)照相功能,距離傳感器獲取當(dāng)前攝像頭與待拍攝物體的距離并存儲(chǔ);
判斷模塊,用于距離傳感器判斷當(dāng)前距離與上一次距離傳感器與待拍攝物體的距離是否發(fā)生變化;
查詢與圖像采集模塊,用于如果檢測到距離發(fā)生了變化,則根據(jù)當(dāng)前距離查詢預(yù)先存儲(chǔ)的對焦微調(diào)范圍表獲取馬達(dá)的微調(diào)范圍,控制馬達(dá)在微調(diào)范圍內(nèi)移動(dòng),并實(shí)時(shí)采集圖像;
獲取與控制模塊,用于獲取馬達(dá)在微調(diào)范圍內(nèi)不同位置移動(dòng)時(shí)的采集到的圖像的聚焦值,控制馬達(dá)移動(dòng)至聚焦值最大的位置,完成對焦。
[0013]所述的基于移動(dòng)終端距離傳感器的對焦系統(tǒng),其中,所述系統(tǒng)還包括:
預(yù)先設(shè)置與存儲(chǔ)模塊,用于預(yù)先設(shè)置并存儲(chǔ)距離傳感器與待拍攝物體的距離和馬達(dá)對焦微調(diào)范圍的對應(yīng)表。
[0014]所述的基于移動(dòng)終端距離傳感器的對焦系統(tǒng),其中,所述判斷模塊還包括:
判斷與控制單元,用于如果距離沒有發(fā)生變化,控制馬達(dá)在當(dāng)前位置不移動(dòng)。
[0015]所述的基于移動(dòng)終端距離傳感器的對焦系統(tǒng),其中,所述查詢與圖像采集模塊具體包括:
檢測與獲取單元,用于如果檢測到距離發(fā)生了變化,獲取距離傳感器與待拍攝物體的當(dāng)前距離;
查詢單元,用于根據(jù)當(dāng)前距離查詢預(yù)先存儲(chǔ)的對焦微調(diào)范圍表,獲取馬達(dá)的微調(diào)范圍;
控制與采集單元,用于控制馬達(dá)在微調(diào)范圍內(nèi)移動(dòng),并實(shí)時(shí)采集圖像。
[0016]所述的基于移動(dòng)終端距離傳感器的對焦系統(tǒng),其中,所述獲取與控制模塊具體包括:
獲取與存儲(chǔ)單元,用于獲取馬達(dá)在微調(diào)范圍內(nèi)不同位置采集到的圖像的聚焦值并存儲(chǔ);
對比單元,用于對比聚焦值獲取聚焦值最大時(shí)的位置;
控制單元,用于控制馬達(dá)移動(dòng)至聚焦值最大的位置,完成對焦。
[0017]本發(fā)明提供了一種基于移動(dòng)終端距離傳感器的對焦方法及對焦系統(tǒng),所述方法包括步驟:檢測到移動(dòng)終端啟動(dòng)照相功能,距離傳感器獲取當(dāng)前攝像頭與待拍攝物體的距離并存儲(chǔ);距離傳感器判斷當(dāng)前距離與上一次距離傳感器與待拍攝物體的距離是否發(fā)生變化;如果檢測到距離發(fā)生了變化,則根據(jù)當(dāng)前距離查詢預(yù)先存儲(chǔ)的對焦微調(diào)范圍表獲取馬達(dá)的微調(diào)范圍,控制馬達(dá)在微調(diào)范圍內(nèi)移動(dòng),并實(shí)時(shí)采集圖像;獲取馬達(dá)在微調(diào)范圍內(nèi)不同位置移動(dòng)時(shí)的采集到的圖像的聚焦值,控制馬達(dá)移動(dòng)至聚焦值最大的位置,完成對焦。本發(fā)明在能夠?qū)崿F(xiàn)物體不動(dòng),不進(jìn)行對焦。物體發(fā)生相對移動(dòng),馬上觸發(fā)對焦。并且由于調(diào)試階段已經(jīng)設(shè)置好了對焦微調(diào)范圍,并不需要大范圍的搜索對焦表,僅僅需要對比0-3幀就能找到最佳的焦距,完成對焦,提高了對焦速度,為用戶拍照提供了方便。
【附圖說明】
[0018]圖1是本發(fā)明的一種基于移動(dòng)終端距離傳感器的對焦方法的較佳實(shí)施例的流程圖。
[0019]圖2是本發(fā)明的一種基于移動(dòng)終端距離傳感器的對焦方法的一種應(yīng)用實(shí)施例的距離傳感器位置與馬達(dá)微調(diào)范圍的對應(yīng)表示意圖。
[0020]圖3是本發(fā)明的一種基于移動(dòng)終端距離傳感器的對焦方法的一種應(yīng)用實(shí)施例的流程圖。
[0021]圖4是本發(fā)明的一種基于移動(dòng)終端距離傳感器的對焦系統(tǒng)的較佳實(shí)施例的功能原理框圖。
【具體實(shí)施方式】
[0022]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚、明確,以下參照附圖并舉實(shí)施例對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0023]本發(fā)明第一實(shí)施例所述的一種基于移動(dòng)終端距離傳感器的對焦方法,如圖1所示,包括:
步驟S100、檢測到移動(dòng)終端啟動(dòng)照相功能,距離傳感器獲取當(dāng)前攝像頭與待拍攝物體的距離并存儲(chǔ)。
[0024]具體實(shí)施時(shí),本發(fā)明中在移動(dòng)終端中引入距離傳感器,距離傳感器需要和圖像傳感器位于同一個(gè)平面。目的是確保距離傳感器和圖像傳感器相對與物體的距離保持一致。
[0025]具體的,移動(dòng)終端預(yù)先注冊新的驅(qū)動(dòng)設(shè)備,即預(yù)先在系統(tǒng)中注冊驅(qū)動(dòng)距離傳感器,具體方法為:Linux系統(tǒng)允許通過bus匹配driver device的方式增加新的新的器件。因此本發(fā)明的設(shè)備注冊時(shí)注冊成一個(gè)在iic總線上的misc設(shè)備。具體方法在probe中ret=i2c_add_driver(&stmv16180_driver) ; i2c_register_board_info(1,&i2c_stmvl6180,I);這樣把stmv6180設(shè)備注冊到iic總線上。在總線probe的時(shí)候進(jìn)行設(shè)備注冊misc_register (&stmvl6180_ranging_dev)。為以后算法獲取距離信息做好準(zhǔn)備。
[0026]具體的距離獲取方法為:通過設(shè)備結(jié)點(diǎn)的方式打開新注冊的設(shè)備并且通過1ctl來獲取當(dāng)前的距離信息。具體如下UCHAR cBuf [128] = 〃/dev/stmvl6180〃;1STMV6180 = open(cBuf, 0_RDWR);獲取距離信息:1ctlerr=1ctl (1STMV6180_HANDLE, VL6180_10CTL_GETDATA, &distance);通過以上的工作對焦算法就能夠獲取實(shí)時(shí)的距離信息。
[0027]距離傳感器安裝在平行與圖像傳感器的位置,設(shè)置有發(fā)射激光裝置和接受激光裝置。使用時(shí)發(fā)射紅外裝置會(huì)發(fā)出一束激光,通過發(fā)送和接受之間的差別來計(jì)算當(dāng)前距離并進(jìn)行存儲(chǔ)。
[0028]具體地,所述步驟SlOO之前還包括;
步驟S1、預(yù)先設(shè)置并存儲(chǔ)距離傳感器與待拍攝物體的距離和馬達(dá)對焦微調(diào)范圍的對應(yīng)表。
[0029]具體實(shí)施時(shí),如圖2所示,為本發(fā)明的距離傳感器與待拍攝物體的距離和馬達(dá)對焦微調(diào)范圍的對應(yīng)表的一種實(shí)施例,其中當(dāng)距離傳感器與物體之間的距離超過580cm時(shí),對焦微調(diào)范圍的調(diào)整范圍為在227 (+/-)5code的范圍內(nèi),而當(dāng)距離傳感器與物體之間的距離小于IlOcm時(shí),對焦微調(diào)范圍的調(diào)整范圍為450code,具體地,一般常用code做他單位,這個(gè)值我解釋下,是一個(gè)比例值,具體是一個(gè)10位的dac電流比例,大小在0-1023(0對應(yīng)10位全0,1023對應(yīng)10位全I(xiàn))之間。一般一個(gè)馬達(dá)工作最大電流在100mA,那么本發(fā)明中的227 指的是馬達(dá)電流在 10ma * 227/1024=22.16mA 那么 227+/-5 就是 22.16+/-L 11 mA,當(dāng)然不同的馬達(dá)驅(qū)動(dòng)電流是不同的,其他馬達(dá)可能是120mA的最大電流,那么按這個(gè)比例,電流計(jì)算也會(huì)不同。本發(fā)明中具體是通過調(diào)整馬達(dá)驅(qū)動(dòng)電流而驅(qū)動(dòng)馬達(dá)運(yùn)動(dòng)。
[0030]步驟S200、距離傳感器判斷當(dāng)前距離與上一次距離傳感器與待拍攝物體的距離是否發(fā)生變化。
[0031]具體實(shí)施時(shí),所述步驟S200還包括:
所述步驟S201、如果距離沒有發(fā)生變化,控制馬達(dá)在當(dāng)前位置不移動(dòng)。
[0032]具體地,距離傳感器獲取當(dāng)前物體距離,并與之前存儲(chǔ)的物體距離進(jìn)行判斷,是否距離發(fā)生變化,如果要拍攝的物體的距離仍是原來的位置,則直接用原來的馬達(dá)位置進(jìn)行拍攝,節(jié)省了時(shí)間。
[0033]步驟S300、如果檢測到距離發(fā)生了變化,則根據(jù)當(dāng)前距離查詢預(yù)先存儲(chǔ)的對焦微調(diào)范圍表獲取馬達(dá)的微調(diào)范圍,控制馬達(dá)在微調(diào)范圍內(nèi)移動(dòng),并實(shí)時(shí)采集圖像。
[003