本發(fā)明涉及自動(dòng)識(shí)別行業(yè),特別是涉及一種對(duì)攝像鏡頭自動(dòng)調(diào)焦方法。
背景技術(shù):
焦距,是光學(xué)系統(tǒng)中衡量光的聚集或發(fā)散的度量方式,指平行光入射時(shí)從透鏡光心到光聚集之焦點(diǎn)的距離,物體在這個(gè)距離時(shí)成像最清晰。對(duì)于自動(dòng)識(shí)別行業(yè),一般使用固定焦距的鏡頭,而不同的產(chǎn)品不同的應(yīng)用所需焦距是不一樣的,所以在掃碼設(shè)備出廠前,就需要做好調(diào)焦工作。調(diào)焦,是指通過(guò)旋轉(zhuǎn)鏡頭,使之在某個(gè)距離上的成像的清晰度最高。
傳統(tǒng)條碼解碼設(shè)備的調(diào)焦,主要為手動(dòng)調(diào)焦,通過(guò)人工旋轉(zhuǎn)鏡頭,調(diào)節(jié)焦距,使之達(dá)到一定的景深要求,人工調(diào)焦不精確容易造成誤差,而且每調(diào)節(jié)一次焦距,就需測(cè)量一次景深是否符合要求,如果景深不符合要求,根據(jù)景深太遠(yuǎn)或太近,需向前或向后調(diào)節(jié)焦距,旋轉(zhuǎn)鏡頭的角度多少,只能依賴調(diào)焦工人的經(jīng)驗(yàn),而且只能旋轉(zhuǎn)個(gè)大概角度,需要多次反復(fù)調(diào)節(jié)焦距,所以整個(gè)調(diào)焦過(guò)程效率低下。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種自動(dòng)調(diào)焦方法,通過(guò)自動(dòng)調(diào)焦可以實(shí)現(xiàn)機(jī)器智能化批量調(diào)焦,提高效率降低成本,提高整個(gè)調(diào)焦的精確度和一致性,使整個(gè)產(chǎn)品質(zhì)量更加穩(wěn)定。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供的一種自動(dòng)調(diào)焦方法,包括:
步驟1:設(shè)計(jì)棋盤圖片,根據(jù)不同的鏡頭和不同的景深要求,通過(guò)實(shí)際拍照去調(diào)整不同棋盤圖片的大小和數(shù)量;
步驟2:將棋盤圖片放置在指定位置,具體為根據(jù)不同產(chǎn)品的實(shí)際應(yīng)用,需要有不同的焦距要求,將棋盤圖片放置在產(chǎn)品所需焦距所對(duì)應(yīng)的位置;
步驟3:通過(guò)調(diào)焦設(shè)備獲取圖像,具體為上位機(jī)發(fā)送取圖命令給調(diào)焦設(shè)備,調(diào)焦設(shè)備獲取圖像后上傳到上位機(jī)進(jìn)行算法分析;
步驟4:對(duì)圖像進(jìn)行清晰度分析,根據(jù)獲取的圖像,對(duì)圖像進(jìn)行清晰度分析,即通過(guò)當(dāng)前像素與右邊和下邊的像素差的平方作為清晰度函數(shù),采用以下公式對(duì)圖片進(jìn)行清晰度計(jì)算:
其中,x,y為圖像的像素坐標(biāo),N為截取的棋盤區(qū)域圖片大小,s則為計(jì)算得到的清晰度;
步驟5:采用二分法確定調(diào)焦的角度,具體為:
a:預(yù)先設(shè)定一個(gè)比較大的調(diào)焦角度W,W需要根據(jù)實(shí)際多次試驗(yàn)獲?。?/p>
b:根據(jù)當(dāng)前計(jì)算得到的清晰度S_cur,與上一次的清晰度S_pre進(jìn)行比較;對(duì)于上一次清晰度不存在的情況,我們默認(rèn)S_pre=0;
c:當(dāng)|S_cur-S_pre|<T時(shí),即圖像的清晰度最高時(shí),T為經(jīng)驗(yàn)指定閾值,則完成調(diào)焦;如果|S_cur-S_pre|>T,則進(jìn)入步驟6:
步驟6:向調(diào)節(jié)設(shè)備發(fā)送調(diào)焦指令并完成調(diào)節(jié);具體為若S_cur>S_pre,則控制調(diào)節(jié)設(shè)備繼續(xù)向前調(diào)節(jié)W度;若S_cur<S_pre,則控制調(diào)節(jié)設(shè)備向后調(diào)焦W度,并且調(diào)焦角度W減半,完成一輪調(diào)焦,向上位機(jī)發(fā)送反饋,等待下一次命令。
優(yōu)選的,步驟1中所述通過(guò)實(shí)際拍照去調(diào)整,具體為調(diào)整棋盤的大小和數(shù)量,使得調(diào)焦成功的鏡頭的實(shí)際成像清晰可辨即可。
優(yōu)選的,步驟3中所述獲取圖像的方式為通過(guò)所述調(diào)節(jié)設(shè)備鏡頭在CMOS或CCD上成像。
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種自動(dòng)調(diào)焦方法,能通過(guò)自動(dòng)調(diào)焦可以實(shí)現(xiàn)機(jī)器智能化批量調(diào)焦,提高效率降低成本,提高整個(gè)調(diào)焦的精確度和一致性,使整個(gè)產(chǎn)品質(zhì)量更加穩(wěn)定。
附圖說(shuō)明
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明:
圖1是棋盤圖片示意圖;
圖2是本發(fā)明自動(dòng)調(diào)焦方法流程圖。
具體實(shí)施方式
為對(duì)本發(fā)明的目的、特征及功效做更進(jìn)一步的了解與認(rèn)識(shí),以下配合附圖詳述如后。
調(diào)焦,是指通過(guò)旋轉(zhuǎn)鏡頭,使之在某個(gè)距離上的成像的清晰度最高。而圖像清晰度,是指圖片上各部分紋理及其邊界的清晰程度。所以圖像清晰與否主要反映在邊界上。而棋盤圖片是由許多排列整齊黑白相間的正方形組成的,如圖1所示,具有許多邊界,對(duì)于焦距的變化比較敏感。而棋盤圖像中的正方形還具有一定的寬度,可以降低圖像噪聲對(duì)于邊界的影響。所以棋盤圖像是我們?cè)O(shè)計(jì)自動(dòng)調(diào)焦算法的最佳選擇。
如圖2所示,步驟101,設(shè)計(jì)棋盤圖片;根據(jù)不同的鏡頭和不同的景深要求,需要設(shè)計(jì)不同棋盤圖片的大小和數(shù)量。具體的設(shè)計(jì)則需要通過(guò)實(shí)際拍照去調(diào)整。具體的調(diào)整規(guī)則為,調(diào)整棋盤的大小和數(shù)量,使得調(diào)焦成功的鏡頭的實(shí)際成像清晰可辨即可。比如:對(duì)于焦距較遠(yuǎn)的,我們需要正方形大一點(diǎn),因?yàn)橄嗤笮〉恼叫?,放置在越遠(yuǎn)的地方,成像就越小,也就是說(shuō)正方形在我們成像的圖像上有足夠的邊界;對(duì)于焦距較近的,則反之,需要正方形小一點(diǎn)。以本是實(shí)施例為例,我們需要正方形在成像的圖像上時(shí)能夠占據(jù)8個(gè)像素左右。
步驟102,將棋盤圖片放置在指定位置;根據(jù)不同產(chǎn)品的實(shí)際應(yīng)用,需要有不同的焦距要求,就需要將棋盤圖片放置在產(chǎn)品所需焦距位置。假如某一產(chǎn)品所需焦距為10cm,我們就需要把棋盤圖像放置在距離鏡頭10cm處。
步驟103,通過(guò)調(diào)焦設(shè)備獲取圖像;上位機(jī)發(fā)送取圖命令給調(diào)焦設(shè)備,調(diào)焦設(shè)備拍攝并上傳圖像。圖像的獲取方式主要是通過(guò)鏡頭在CMOS、或CCD上成像,成像后上傳到上位機(jī)進(jìn)行算法分析。
步驟104,對(duì)圖像進(jìn)行清晰度分析;根據(jù)獲取的圖像,對(duì)圖像進(jìn)行清晰度分析。圖像清晰度,是指圖片上各部分紋理及其邊界的清晰程度。反應(yīng)到調(diào)焦過(guò)程中,就是當(dāng)圖片的位置平面剛好在鏡頭的焦距上時(shí)邊界最銳利最清晰。實(shí)際中通過(guò)當(dāng)前像素與右邊和下邊的像素差的平方作為清晰度函數(shù)。即采用以下公式對(duì)圖片進(jìn)行清晰度計(jì)算
其中,x,y為圖像的像素坐標(biāo),N為截取的棋盤區(qū)域圖片大小,s則為計(jì)算得到的清晰度。
在自動(dòng)調(diào)焦中典型的圖像清晰度評(píng)價(jià)函數(shù)有空域方法、頻域方法、小波變換方法以及信息學(xué)方法等。我們采用的是空域的方法,空域方法的優(yōu)勢(shì)是計(jì)算速度較快,可以提升我們調(diào)焦的效率。其原理是當(dāng)邊界越清晰其邊界的灰度差越大,所以我們通過(guò)計(jì)算棋盤的整體灰度差的平方和,以此標(biāo)準(zhǔn)來(lái)衡量圖像的清晰度。
步驟105,采用二分法確定調(diào)焦的角度;我們采用二分逐漸逼近的方法,去找到清晰度最高的位置。我們先設(shè)定一個(gè)較大的調(diào)焦角度,假設(shè)為W,如果當(dāng)前清晰度比上一次測(cè)量到的清晰度下降,W則減半,繼續(xù)搜索。采用二分法相比等距逐步搜索,可以快速的搜索到清晰度最高的位置。提高整個(gè)調(diào)焦的效率。二分法的具體步驟如下:
1.預(yù)先設(shè)定一個(gè)比較大的調(diào)焦角度W,W需要根據(jù)實(shí)際多次試驗(yàn)獲??;
2.根據(jù)當(dāng)前計(jì)算得到的清晰度S_cur,與上一次的清晰度S_pre進(jìn)行比較;對(duì)于上一次清晰度不存在(即第一次測(cè)量清晰度)的情況,我們默認(rèn)S_pre=0;
3.如果|S_cur-S_pre|<T時(shí),即圖像的清晰度最高時(shí)(T為經(jīng)驗(yàn)指定閾值),則完成調(diào)焦;如果|S_cur-S_pre|>T,則進(jìn)入下一步驟。
步驟106、向調(diào)節(jié)設(shè)備發(fā)送調(diào)焦指令并完成調(diào)節(jié);具體為若S_cur>S_pre,則控制調(diào)節(jié)設(shè)備繼續(xù)向前調(diào)節(jié)W度;若S_cur<S_pre,則控制調(diào)節(jié)設(shè)備向后調(diào)焦W度,并且調(diào)焦角度W減半,將鏡頭向前或向后旋轉(zhuǎn)指定角度后,完成一輪調(diào)焦,向上位機(jī)發(fā)送反饋,等待下一次命令。
經(jīng)過(guò)調(diào)焦設(shè)備取圖、圖像分析、調(diào)焦設(shè)備調(diào)焦,這個(gè)過(guò)程我們簡(jiǎn)稱為一輪調(diào)焦。那么經(jīng)過(guò)多輪這樣的調(diào)焦過(guò)程后,如果|S_cur-S_pre|<T,也就是說(shuō)兩次測(cè)量計(jì)算得到清晰度相差很小(根據(jù)經(jīng)驗(yàn)得到一個(gè)閾值T),我們認(rèn)為完成一個(gè)鏡頭調(diào)焦。
以上通過(guò)具體實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,但這些并非構(gòu)成對(duì)本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也應(yīng)視為本發(fā)明的保護(hù)范圍。