两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于機(jī)器視覺的圖像采集與重建方法及裝置與流程

文檔序號:12133249閱讀:369來源:國知局
一種基于機(jī)器視覺的圖像采集與重建方法及裝置與流程

本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,具體涉及一種基于機(jī)器視覺的圖像采集與重建方法及裝置。



背景技術(shù):

目前,進(jìn)行圖像采集后獲得的圖像一般的幅面都比較小,如A4/A3幅面的掃描儀或者數(shù)字化儀等,可以采集圖像的一般也是比較薄的圖紙等,對于比較厚的實(shí)體物品,如鞋底等實(shí)體物品的形狀,則不能準(zhǔn)確地進(jìn)行掃描。

為了實(shí)現(xiàn)對實(shí)物的全幅面圖像掃描,目前需將多根CIS圖像傳感器并列后進(jìn)行拍照掃描,形成長條狀圖像采集組合相機(jī),將每根CIS掃描的圖像順序組合成為一張寬幅圖像,以進(jìn)行一次性全幅圖像采集,然而最終圖像必然是鄰接的兩個CIS通道呈現(xiàn)上下交替錯位,且在接縫處有重疊區(qū)域,必須消除水平重疊和縱向錯位,才能保證采集的圖像真實(shí)反映掃描對象。

CIS作為一種圖像傳感器,其感光單元一般是CMOS和CCD,其光場則由線陣排列的LED點(diǎn)陣提供,這種線陣排列的LED產(chǎn)生的光照強(qiáng)弱分布函數(shù)不是均勻的,而且每個感光單元對光子的響應(yīng)率并不完全一致,即使是同一個感光單元對不同光照強(qiáng)度的響應(yīng)也并非線性。因而表現(xiàn)在圖像上,將出現(xiàn)兩種現(xiàn)象,一種是豎條紋,一種是圖像不均勻,往往需要進(jìn)行圖像的校正處理。

現(xiàn)有技術(shù)中,處理大幅面的物料圖像數(shù)據(jù)的矢量化過程非常繁瑣復(fù)雜,其要從實(shí)體物料變成線條文件,一般通過人工對實(shí)物進(jìn)行測量之后直接采用相關(guān)繪圖軟件進(jìn)行線條繪制,或者局部拍照,在計算機(jī)中拼接完整后,將拼接后的整幅圖片嵌入相關(guān)繪圖軟件中,由人工在圖片上進(jìn)行線條臨摹描繪,無論是前者還是后者,其過程步驟多,操作麻煩,人工技術(shù)水平依賴性高,而且存在成本高、時間長、精度低等缺陷。

現(xiàn)有的做矢量文件的方法和特點(diǎn)如下:一是用掃描儀對物料掃描,再用PS等相關(guān)軟件進(jìn)行手動描線,達(dá)到做出矢量文件的目的;二是用數(shù)字化儀對物料點(diǎn)讀,達(dá)到矢量文件的目的;其速度慢,精度低,專業(yè)操作水平要求高,管理成本高。

總之,現(xiàn)有的針對實(shí)物的圖像采集與矢量重建方法,其獲得的圖像輪廓邊緣細(xì)節(jié)的保真能力差,不能更好的優(yōu)化矢量化步驟,更不能滿足大幅度圖像采集后的圖像矢量重建,對掃描對象位圖輪廓的不能準(zhǔn)確提取、精度不高。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明是針對現(xiàn)有技術(shù)中的不足,提供一種基于機(jī)器視覺的圖像采集與重建方法及裝置,以解決現(xiàn)有圖像采集或重建中存在的精度低、保真效果差及圖像幅面過小等問題。

為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:

一種基于機(jī)器視覺的圖像采集與重建方法,其包括如下步驟:

1)采用全幅圖像數(shù)字化采集儀,通過設(shè)置的圖像采集機(jī)構(gòu),對具 有特定形狀或設(shè)有圖案信息的待測物料進(jìn)行圖像采集;

2)設(shè)置一圖像處理機(jī)構(gòu),對采集的圖像依次進(jìn)行如下處理:

a)CIS拼接處理;

b)圖像一致性校正處理;

c)圖像高精度重采樣處理;

d)位圖轉(zhuǎn)矢量處理,并將獲得的矢量數(shù)據(jù)輸出;

3)根據(jù)輸出的矢量數(shù)據(jù),對待測物料所具有的特定形狀或設(shè)置的圖案信息進(jìn)行矢量化重建。

所述的全幅圖像數(shù)字化采集儀包括平臺及與該平臺相對運(yùn)動設(shè)置的圖像采集機(jī)構(gòu),所述的圖像采集機(jī)構(gòu)包括由若干圖像傳感器連續(xù)排列后拼接而成的長條狀圖像采集組合相機(jī)。其中所述圖像傳感器為CIS線性圖像傳感器。

所述的平臺固定設(shè)置,所述圖像采集機(jī)構(gòu)通過移動機(jī)構(gòu)設(shè)于平臺上方或下方,或所述圖像采集機(jī)構(gòu)為兩個,通過移動機(jī)構(gòu)分別設(shè)于平臺上方和下方;或者,所述圖像采集機(jī)構(gòu)固定設(shè)置,所述平臺通過移動機(jī)構(gòu)設(shè)于圖像采集機(jī)構(gòu)下方或上方,或所述圖像采集機(jī)構(gòu)為兩個,所述平臺通過移動機(jī)構(gòu)設(shè)于該兩個圖像采集機(jī)構(gòu)的中間。所述移動機(jī)構(gòu)包括使平臺與圖像采集機(jī)構(gòu)相對運(yùn)動的導(dǎo)軌,及絲桿傳動組件或帶輪傳動組件。

所述的CIS拼接處理包括如下步驟:

(a.1)將所述的圖像采集機(jī)構(gòu)內(nèi)設(shè)置多根CIS圖像傳感器且整體呈“之”字型排列,所述的多根CIS圖像傳感器的相鄰兩根CIS在水平方向有重疊區(qū)域、垂直方向有錯位區(qū)域,且設(shè)定重疊區(qū)域、錯位區(qū)域、每根CIS掃描的寬度均固定;

(a.2)在水平方向?qū)?-L像素、L-2L像素分別設(shè)為相鄰的第一根CIS通道圖像數(shù)據(jù)、第二根CIS通道圖像數(shù)據(jù);

(a.3)制作可覆蓋整個圖像采集區(qū)域的具有豐富對位標(biāo)志的拼接紙,之后輸入拼接紙圖像,利用拼接工具手動將所述相鄰兩根CIS交接處的重疊區(qū)域整體向左移動像素w、兩者的錯位區(qū)域整體向上移動像素h,直到圖像中不存在水平重疊區(qū)域和上下錯位區(qū)域,同時利用軟件后臺算法記錄下拼接參數(shù)w、h,并生成配置文件,之后每次掃描圖像時只需加載配置文件,即可實(shí)現(xiàn)圖像的自動拼接。

所述的圖像一致性校正處理包括下列步驟:

(b.1)采集一張飽和亮場白圖和一張暗場黑圖,得到校正數(shù)據(jù);

(b.2)采用兩點(diǎn)校正法,按如下公式進(jìn)行圖像校正:

其中,G校正(x,y)為校正后的圖像數(shù)據(jù),G原始(x,y)為原始圖像數(shù)據(jù),G亮場為校正工具得到的飽和亮場數(shù)據(jù),G暗場為校正工具得到的暗場數(shù)據(jù),C為校正因子,通常取255。

所述的圖像高精度重采樣是在后端通過立方插值算法來實(shí)現(xiàn)的。

所述的位圖轉(zhuǎn)矢量處理是通過位圖轉(zhuǎn)矢量算法實(shí)現(xiàn)的,包括如 下步驟:

(d.1)將位圖分解為封閉路徑集合,其構(gòu)成黑白區(qū)域之間的邊界:

(d.1.1)假定位圖放置在一個坐標(biāo)系且每個像素的轉(zhuǎn)角都有整形坐標(biāo),同時進(jìn)一步假定背景為白色,前景為黑色,且超出位圖邊界的區(qū)域的被假定為白色填充;

(d.1.2)構(gòu)造一個有向圖G:設(shè)定p是一個整形坐標(biāo)的點(diǎn),且該點(diǎn)與4個像素相鄰,若這4個像素不是同一種顏色則這個點(diǎn)p被稱作頂點(diǎn);假定v和w是頂點(diǎn),且v和w的歐幾里得距離為1,則認(rèn)為此時有一條從v到w的邊,該直線片段將v和w分為一個黑色像素和一個白色像素,當(dāng)從v移向w使黑色像素在該直線片段的左邊、白色像素在其右邊,則形成所述的有向圖G;

(d.1.3)假定一個路徑是一系列頂點(diǎn)(v0,…,vn),對所有的i=0,…,n-1都有一條從vi到vi+1的邊;如果vn=v0,一條路徑被稱為封閉;路徑的長度為邊的個數(shù);則通過路徑分解可以實(shí)現(xiàn)將有向圖G分解為封閉路徑,即找到一個封閉路徑的集合使G的每條邊都只出現(xiàn)一次;

(d.1.4)從位圖到路徑的具體方法為:從一對有不同顏色的相鄰像素開始,通過選擇某一行最左邊的黑色像素,兩個被選擇的像素在一條邊上相遇,通過改變這條邊的朝向使黑色像素在邊的左邊、白色像素在邊的右邊;通過迭代繼續(xù)擴(kuò)張這條路徑,使新的邊相對于邊的方向都有一個黑色像素在其左邊、一個白色像素在其右邊,在像素間沿著邊移動時每遇到一個轉(zhuǎn)角,則需要根據(jù)周圍像素的顏色來決定是直走、左轉(zhuǎn)或右轉(zhuǎn);通過不斷迭代直到返回假定的封閉圖的起點(diǎn)為止, 從而完成位圖中一個封閉輪廓路徑的搜索,之后通過反轉(zhuǎn)使所有像素的顏色從位圖中移除,重新定義新圖,之后對該新圖繼續(xù)遞歸應(yīng)用所述的路徑分解算法,直到?jīng)]有黑色像素余留,得到位圖中所有封閉路徑的集合;

(d.1.5)在完成(d.1.4)過程中,設(shè)定如下轉(zhuǎn)向策略:

左:表示在需要轉(zhuǎn)向時一直左轉(zhuǎn);

右:表示在需要轉(zhuǎn)向時一直右轉(zhuǎn);

黑:表示更傾向于鏈接黑色像素單元;

白:表示更傾向于鏈接白色像素單元;

最少鏈接:表示更傾向于鏈接當(dāng)前點(diǎn)鄰域內(nèi)出現(xiàn)的最少顏色;

最多鏈接:表示更傾向于鏈接當(dāng)前點(diǎn)鄰域內(nèi)出現(xiàn)的最多顏色;

隨機(jī)鏈接:表示隨機(jī)轉(zhuǎn)向;

(d.1.6)清除雜點(diǎn)干擾:設(shè)定一個路徑內(nèi)部面積閾值t來消除封閉路徑的細(xì)小輪廓,且路徑面積的計算公式如下:

area=∫ydx=∫yx'dt (2)

其中,area為路徑面積,x為圖像像素行坐標(biāo),y為圖像像素列坐標(biāo),t為閾值變量。

(d.2)將經(jīng)過步驟(d.1)所得的封閉路徑集合轉(zhuǎn)化為一條近似該路徑的最優(yōu)多邊形:

(d.2.1)設(shè)定直線路徑:

設(shè)定在平面坐標(biāo)系中兩點(diǎn)z0(x0,y0)和z1(x1,y1),且兩點(diǎn)間的最大距離為d(z0,z1)=max{|x1–x0|,|y1–y0|},則離點(diǎn)(1/2,1/2) 最大距離為最多1/2的點(diǎn)的集合是那些以(1/2,1/2)為中心的點(diǎn);同時設(shè)定坐標(biāo)平面的任兩點(diǎn)a,b,令表示鏈接a和b直線的直線片段,給點(diǎn)一組非封閉的路徑p={v0,…,vn},則線片段近似這條路徑;如果d(v0,a)≤1/2,d(vn,b)≤1/2,并且對于每一個i=1,…,n-1,存在點(diǎn)ci使得d(vn,b)≤1/2;對于一條路徑p={v0,…,vn},其在索引i上的方向?yàn)関i+1-vi,i=0,…,n-1,且存在四種可能的方向:(0,1),(1,0),(0,-1),和(-1,0);當(dāng)一條路徑可以被線片段近似而且上述4種方向都沒有出現(xiàn),則稱該條路徑是直的,同樣,該路徑的所有的子路徑也是直的;

(d.2.2)獲取多邊形:

當(dāng)p={vj,…,vn}是一封閉路徑,則有vn=v0,路徑的長度為n;當(dāng)任一對索引i,j∈{0,…,n-1}定義一個子路徑pi,j,其中路徑vi,…,vj,i<=j(luò)或路徑vi,…,vn-1,v0,…,vj,j<i,記為對i和j之間的環(huán)形差異,當(dāng)i£j時當(dāng)j<i時因此子路徑pi,j的長度被精確為jΘi;對于封閉路徑,下述加法和減法均對n取模;

假設(shè)從封閉路徑p中構(gòu)建一個多邊形,當(dāng)且子路徑pi-1,j+1按步驟(d.2.1)所述算法是直的,則此時存在一個可能從i到j(luò)的可能的片段;或當(dāng)子路徑可以在兩邊方向上均擴(kuò)張1個像素,且保持是直的,則一個子路徑對應(yīng)一個可能的片段;

一個多邊形是一序列索引i0£i1£…£im-1,對于每個k=0,…,m-2,及從im-1到i0,有一個從ik到ik+1的可能的片段;

(d.2.3)懲罰:

最優(yōu)多邊形的設(shè)定為一個擁有更少片段的多邊形,其比一個擁有更多片段的多邊形更優(yōu);當(dāng)多邊形中的片段數(shù)相同時,要選出最優(yōu)多邊形,則賦予每個片段一個懲罰,并按照如下方式來選擇最優(yōu)多邊形:

假定一個從i到j(luò)的片段,記為直線片段賦予這個片段的懲罰等于的歐幾里得長度乘以一個路徑上的每個點(diǎn)到歐幾里得距離的標(biāo)準(zhǔn)差,具體計算公式如下:

其中,表示某點(diǎn)距離一條直線的歐幾里得距離,當(dāng)該點(diǎn)偏離直線片段越小,則受到的懲罰越小,則組成的多邊形更優(yōu);

(d.2.4)優(yōu)化多邊形:

將給定的封閉路徑p={v0,…,vn}視為一個有頂點(diǎn)0,…,n-1的有向圖,當(dāng)從i到j(luò)有可能的片段,則路徑有從i指向j的箭頭;對于序列 賦予一個懲罰(k,P),其中k是箭頭的數(shù)量,P是他們的懲罰的和,當(dāng)k<k’或k=k’且P<P’,則(k,P)比(k’,P’)是更優(yōu)的多邊形,使得最優(yōu)多邊形為在一個有向圖中的一個最優(yōu)的環(huán)形,之后采用標(biāo)準(zhǔn)圖論算法來尋找有向圖中的最優(yōu)環(huán)形,則最優(yōu)環(huán)形可在時間復(fù)雜度為O(nm)內(nèi)找到,其中n是輸入路徑的大小,m是最長的可能片段長度;

(d.3)將多邊形轉(zhuǎn)化為光滑的矢量輪廓:

(d.3.1)調(diào)整多邊形頂點(diǎn)位置使其符合源位圖:

經(jīng)過前述步驟(d.2)后得到一個多邊形{i0,…,im-1}關(guān)聯(lián)一個封閉路徑{v0,…,vn},索引i0,…,im-1及其關(guān)聯(lián)的作為多邊形頂點(diǎn)的點(diǎn) 當(dāng)多邊形為環(huán)形時將索引取模m;

關(guān)聯(lián)每個頂點(diǎn)ik、一個點(diǎn)ak在坐標(biāo)系,使ak離很近,而且對于多邊形任意兩個連續(xù)頂點(diǎn)ik和ik+1,結(jié)果線片段是合理接近于源子路徑的;

其中,點(diǎn)ak是通過如下算法來放置的:

對每個連續(xù)的頂點(diǎn)ik和ik+1,獲得最佳近似點(diǎn)的直線Lk,k+1,使這些點(diǎn)離直線的歐幾里得距離最小化;當(dāng)ik-1,ik和ik+1是連續(xù)的頂點(diǎn),則將點(diǎn)ak放置在Lk-1,k和Lk,k+1的交叉處;但為了使ak不遠(yuǎn)離原定點(diǎn)當(dāng)Lk-1,k和Lk,k+1的交點(diǎn)在該單位正方形里,將ak作為單位正方形里的最大距離的點(diǎn),使得從ak到Lk-1,k和Lk,k+1的歐幾里得距離的平方和為最小;當(dāng)Lk-1,k和Lk,k+1的交點(diǎn)不在該單位正方形里,將ak放置在離交叉點(diǎn)很近的點(diǎn);

(d.3.2)通過貝塞爾曲線算法進(jìn)行貝塞爾曲線連接,以獲取矢量輪廓的曲線部分,其中貝塞爾曲線算法具體如下:

貝塞爾曲線由4個控制點(diǎn)z0,z1,z2,z3和參數(shù)方程z=(1-t)3z0+3t(1-t)2z1+3t2(1-t)z2+t3z3給定,限制通過z0z1和z3z2的直線交叉于點(diǎn)O,設(shè)定曲線為凸的、且改變方向小于180度,則z1位于z0和O之間,z2位于z3和O之間;通過一個坐標(biāo)系的線性轉(zhuǎn)化,假定z0=(-1,0),z3=(1,0),O=(0,1),得到的特殊貝塞爾曲線都有兩個參數(shù)決定,α,β∈[0,1],z1=(-1+α,α),z2=(1-β,β);

設(shè)定并限制α=β,得到的貝塞爾曲線和x軸包圍的面積等于3/10*(2α+2β-αβ)或3/10*(4-(2-α)(2-β),則可以用相等的參數(shù) 近似任何參數(shù)α和β的曲線;同時通過設(shè)定當(dāng)α=β,最高點(diǎn)將在t=1、2時到達(dá),其對應(yīng)的y坐標(biāo)為3α/4.

(d.3.3)通過如下算法實(shí)現(xiàn)轉(zhuǎn)角檢測和平滑化:

假定多邊形的頂點(diǎn)為vi+1,…,ak-1,bi=(ai+ai+1)/2,b0,…,bk-1為多邊形邊的中點(diǎn),對于每個i,轉(zhuǎn)角bi-1,ai,bi,將有一個光滑曲線來近似;

先在點(diǎn)ai上畫一個單位正方形、平行于的線Li、且使ai的周圍接觸到正方形及接近直線令c為Li和的交點(diǎn)、γ為的長度和的商、令α=4γ/3,且貝塞爾曲線鏈接bi-1和bi、該曲線的三條切線為Li,aibi;

之后,將貝塞爾曲線涉及的參數(shù)α來進(jìn)行轉(zhuǎn)角檢測及決定最終從bi-1到bi的曲線;當(dāng)α£1時在該頂點(diǎn)繪制一條光滑的貝塞爾曲線;當(dāng)α>1,則不存在凸的貝塞爾曲線來鏈接bi-1和bi并相切于Li,此時可檢測到一個轉(zhuǎn)角、且通過兩條相交于點(diǎn)ai的直線片段鏈接bi-1和bi,設(shè)定轉(zhuǎn)角閾值參數(shù)αmax,當(dāng)α<αmax時頂點(diǎn)為圓角、當(dāng)α>αmax時頂點(diǎn)為轉(zhuǎn)角,且αmax越小導(dǎo)致更多的轉(zhuǎn)角,αmax越大導(dǎo)致更多的圓角,當(dāng)αmax>3/4,將完全沒有轉(zhuǎn)角,輸出全是光滑曲線;轉(zhuǎn)角檢測完成后,α值調(diào)整在0.55~1之間;

(d.3.4)曲線優(yōu)化:

經(jīng)前述步驟(d.3.3)處理之后輸出的結(jié)果曲線由貝塞爾曲線片段 和直線片段構(gòu)成,通過如下算法以找到一條單一的貝塞爾曲線來近似給定的一組更短的貝塞爾曲線,使結(jié)果曲線由更少的片段來構(gòu)成:

假定一條曲線C、C與直線和相切、和的交點(diǎn)O,使被曲線C包圍的面積和原曲線片段包圍的面積相等,可得貝塞爾曲線中的參數(shù)α、算出面積,之后得到一條近似于給定片段的曲線C;

之后檢測曲線C,且當(dāng)檢測到曲線C近似于給定片段,則給其一個懲罰值,具體檢測的算法如下:對于每個i=1,…,n-1,點(diǎn)zi在C上平行于ai、ai+1的切線,令di為點(diǎn)zi到線片段aiai+1的歐幾里得距離,同時對于每個i=1,…,n,曲線C上的點(diǎn)z’平行于bi-1bi的切線,令di’為z’i到線片段Li的歐幾里得距離,如果z’i和Li和ai一樣的一邊,記為正,否則為負(fù),當(dāng)di<e,di’>-e,且zi在線aiai+1上的正交投影位于ai和ai+1之間,e為常量且設(shè)為0.2、可調(diào)整,同時設(shè)定懲罰為所有di和di’的平方和;

之后,通過最短路徑算法來分解給定的曲線片段至可接受的近似,先優(yōu)化片段數(shù)量,然后再優(yōu)化總的懲罰量;

通過完成上述步驟(d.1)~(d.3),最后輸出一序列的曲線集,且每個曲線都是由一系列的直線片段和貝塞爾曲線片段構(gòu)成,并采用冗余編碼的方式存儲所得曲線集。

進(jìn)一步,所述的步驟(d.2.1)中路徑采用如下算法實(shí)現(xiàn)路徑為直的:

設(shè)定平直度為一個3元組屬性,假設(shè)路徑p={v0,…,vn}沒有出現(xiàn)所述步驟(d.2.1)中設(shè)定的直線路徑的方向,則當(dāng)且僅當(dāng)對于所有 索引的3元組(i,j,k)使0£i<j<k£n時,p是直的;且在該直線p上通過vi和vk存在一個點(diǎn)w使d(vj,w)≤1,通過平直測試算法,對所有3元組(i,j,k)進(jìn)行測試;當(dāng)最壞的情況下,時間復(fù)雜度為O(n3),此時,通過計算每對(i,j)約束所有將來的的位置,當(dāng)i固定、j增長時,只要檢查一次每個j的約束,其中一個約束由最多兩個不等式構(gòu)成、且可在固定的時間內(nèi)被更新和檢查,使得在最壞的情況下找到一個給定長度n的封閉路徑所有直的子路徑時間復(fù)雜度僅為O(n2)。

進(jìn)一步,所述的步驟(d.2.3)中Pi,j的公式采用如下公式替代:

令(x,y)=ik-1-vi,(x,y)=(vi+vj)/2,則

其中:

為的平方的數(shù)學(xué)期望值,k=i,…j。

一種實(shí)現(xiàn)上述基于機(jī)器視覺的圖像采集與重建方法的裝置,該裝置采用全幅圖像數(shù)字化采集儀,其包括平臺及與該平臺相對運(yùn)動設(shè)置的圖像采集機(jī)構(gòu),該圖像采集機(jī)構(gòu)包括由若干圖像傳感器連續(xù)排列后拼接而成的長條狀圖像采集組合相機(jī),其中所述的平臺固定設(shè)置,所述圖像采集機(jī)構(gòu)通過移動機(jī)構(gòu)設(shè)于平臺上方或下方,或所述圖像采集機(jī)構(gòu)為兩個,通過移動機(jī)構(gòu)分別設(shè)于平臺上方和下方;或者,所述圖像采集機(jī)構(gòu)固定設(shè)置,所述平臺通過移動機(jī)構(gòu)設(shè)于圖像采集機(jī)構(gòu)下 方或上方,或所述圖像采集機(jī)構(gòu)為兩個,所述平臺通過移動機(jī)構(gòu)設(shè)于該兩個圖像采集機(jī)構(gòu)的中間;所述的移動機(jī)構(gòu)包括使平臺與圖像采集機(jī)構(gòu)相對運(yùn)動的導(dǎo)軌、滑座及驅(qū)動組件;該圖像采集機(jī)構(gòu)還包括可使所述長條狀圖像采集組合相機(jī)相對于所述平臺上下調(diào)整的U型機(jī)構(gòu)及配合該U型機(jī)構(gòu)運(yùn)動的螺釘螺栓、滑座及驅(qū)動組件;所述圖像傳感器為CIS線性圖像傳感器。

本發(fā)明的優(yōu)點(diǎn)在于:

1、本發(fā)明方法及裝置,采用多根CIS圖像傳感器連續(xù)排列后拼接而成的長條狀圖像采集組合相機(jī),可實(shí)現(xiàn)對大幅面平面物料或卷型物料、鞋底等實(shí)體物品進(jìn)行一次性全幅圖像采集;同時針對大幅面圖像采集獲得的圖像數(shù)據(jù),采用特定的CIS拼接算法,消除多根CIS拍照后圖像存在的水平重疊和縱向錯位;同時本發(fā)明利用軟件后臺算法記錄下拼接參數(shù)w、h,并生成配置文件,之后每次掃描圖像時只需加載配置文件,即可實(shí)現(xiàn)圖像的自動拼接,呈現(xiàn)完美的寬幅圖像,可精準(zhǔn)地保證采集的圖像真實(shí)反映掃描對象。

2、本發(fā)明可實(shí)現(xiàn)快速圖像校正,消除圖像中的豎條紋、圖像不均勻等現(xiàn)象;具有很強(qiáng)的圖像輪廓邊緣細(xì)節(jié)的保真能力,同時對于邊緣鋸齒失真的校正效果突出。

3、本發(fā)明采用獨(dú)特的位圖轉(zhuǎn)矢量算法處理,能夠完成對掃描對象位圖輪廓的準(zhǔn)確提取,獲得高精度的輪廓圖像。

下面結(jié)合附圖與具體實(shí)施方式,對本發(fā)明進(jìn)一步詳細(xì)說明。

附圖說明

圖1為本發(fā)明的實(shí)施例1的全幅圖像數(shù)字化采集儀的整體結(jié)構(gòu)示意圖;

圖2為圖1的C部局部放大示意圖;

圖3為本發(fā)明的實(shí)施例2的全幅圖像數(shù)字化采集儀的整體結(jié)構(gòu)示意圖;

圖4為圖3的A部局部放大示意圖;

圖5為圖3的另一視角結(jié)構(gòu)示意圖;

圖6為圖5的B部局部放大示意圖;

圖7為本發(fā)明的兩根CIS拼接模型的示意圖;

圖8為本發(fā)明的兩根CIS未拼接圖像數(shù)據(jù)的內(nèi)存布局的示意圖;

圖9為本發(fā)明的CIS傳感器光場圖的示意圖;

圖10為本發(fā)明的位圖到路徑中路徑擴(kuò)張算法的示意圖;

圖11為本發(fā)明的路徑定義為直或非直的示意圖;

圖12為本發(fā)明的同一路徑最優(yōu)與非最優(yōu)多邊形的示意圖;

圖13為本發(fā)明的一個典型的貝塞爾曲線的示意圖;

圖14為本發(fā)明的一個兩參數(shù)的貝塞爾曲線家族的示意圖;

圖15為本發(fā)明的轉(zhuǎn)角檢測及光滑化的示意圖;

圖16為本發(fā)明的曲線優(yōu)化的示意圖;

圖17為本發(fā)明的流程圖。

具體實(shí)施方式

實(shí)施例1:本實(shí)施例提供的基于機(jī)器視覺的圖像采集與重建方法,包括如下步驟:

1)采用全幅圖像數(shù)字化采集儀,通過設(shè)置的圖像采集機(jī)構(gòu),對具有特定形狀或設(shè)有圖案信息的待測物料進(jìn)行圖像采集;

2)設(shè)置一圖像處理機(jī)構(gòu),對采集的圖像依次進(jìn)行如下處理:

a)CIS拼接處理;

b)圖像一致性校正處理;

c)圖像高精度重采樣處理;

d)位圖轉(zhuǎn)矢量處理,并將獲得的矢量數(shù)據(jù)輸出;

3)根據(jù)輸出的矢量數(shù)據(jù),對待測物料所具有的特定形狀或設(shè)置的圖案信息進(jìn)行矢量化重建。

參見圖1-圖2,所述的全幅圖像數(shù)字化采集儀包括平臺1及與該平臺相對運(yùn)動設(shè)置的圖像采集機(jī)構(gòu)2,所述的圖像采集機(jī)構(gòu)2包括由若干圖像傳感器連續(xù)排列后拼接而成的長條狀圖像采集組合相機(jī)3。其中所述圖像傳感器為CIS線性圖像傳感器。所述的平臺固定設(shè)置,所述圖像采集機(jī)構(gòu)通過移動機(jī)構(gòu)設(shè)于平臺上方或下方,或所述圖像采集機(jī)構(gòu)為兩個,通過移動機(jī)構(gòu)分別設(shè)于平臺上方和下方;或者,所述圖像采集機(jī)構(gòu)固定設(shè)置,所述平臺通過移動機(jī)構(gòu)設(shè)于圖像采集機(jī)構(gòu)下方或上方,或所述圖像采集機(jī)構(gòu)為兩個,所述平臺通過移動機(jī)構(gòu)設(shè)于該兩個圖像采集機(jī)構(gòu)的中間。所述的移動機(jī)構(gòu)包括使平臺與圖像采集機(jī)構(gòu)相對運(yùn)動的導(dǎo)軌7、滑座6及驅(qū)動組件。該圖像采集機(jī)構(gòu)還包括可使所述長條狀圖像采集組合相機(jī)相對于所述平臺上下調(diào)整的U型機(jī)構(gòu)4及配合該U型機(jī)構(gòu)運(yùn)動的螺釘螺栓5、滑座6及驅(qū)動組件。

所述的CIS拼接處理包括如下步驟:

(a.1)將所述的圖像采集機(jī)構(gòu)內(nèi)設(shè)置多根CIS圖像傳感器且整體呈“之”字型排列,所述的多根CIS圖像傳感器的相鄰兩根CIS在水平方向有重疊區(qū)域、垂直方向有錯位區(qū)域,且設(shè)定重疊區(qū)域、錯位區(qū) 域、每根CIS掃描的寬度均固定;

(a.2)在水平方向?qū)?-L像素、L-2L像素分別設(shè)為相鄰的第一根CIS通道圖像數(shù)據(jù)、第二根CIS通道圖像數(shù)據(jù);

(a.3)制作可覆蓋整個圖像采集區(qū)域的具有豐富對位標(biāo)志的拼接紙,之后輸入拼接紙圖像,利用拼接工具手動將所述相鄰兩根CIS交接處的重疊區(qū)域整體向左移動像素w、兩者的錯位區(qū)域整體向上移動像素h,直到圖像中不存在水平重疊區(qū)域和上下錯位區(qū)域,同時利用軟件后臺算法記錄下拼接參數(shù)w、h,并生成配置文件,之后每次掃描圖像時只需加載配置文件,即可實(shí)現(xiàn)圖像的自動拼接。

在前述CIS拼接處理中,因本發(fā)明為實(shí)現(xiàn)寬幅,采用多根CIS圖像傳感器進(jìn)行圖像采集,其物理上排列結(jié)構(gòu)為“之”字型,相鄰兩根CIS在水平方向有重疊區(qū)域,垂直方向有錯位,如果簡單的將每根CIS掃描的圖像順序組合成為一張寬幅圖像,最終圖像必然是鄰接的兩個CIS通道呈現(xiàn)上下交替錯位,且在接縫處有重疊區(qū)域,故為了保證采集的圖像真實(shí)反映掃描對象,必須消除水平重疊和縱向錯位。

本實(shí)施例為了便于論且不是一般性,只分析最簡單的兩根CIS的情形,見說明書附圖7,其為兩根CIS拼接模型,設(shè)定重疊區(qū)域固定,錯位固定;每根CIS掃描寬度固定;從圖7可知,對于水平方向的重疊區(qū)域,原始圖像數(shù)據(jù)在通道鄰接處是有冗余的,因而鄰接的CIS間只需取其一即可;而垂直方向的錯位,則需要將其中一根CIS通道的數(shù)據(jù)整體上移;因而從圖像空間考慮,只需要按照某種映射關(guān)系將圖像數(shù)據(jù)進(jìn)行空間重構(gòu),就能從源圖像中還原真實(shí)圖像數(shù)據(jù);

為此,首先分析未經(jīng)拼接下圖像數(shù)據(jù)在內(nèi)存中布局方式,仍然以兩根CIS作參考,其布局情況如圖8所示:圖8(a)中,從0像素到L像素為第一根CIS通道圖像數(shù)據(jù),從L像素到2L像素為第二CIS通道圖像數(shù)據(jù);其中以L為中心左右兩邊的紅色區(qū)域表示兩根CIS水平重疊區(qū)域,反映了CIS水平方向的數(shù)據(jù)冗余;而第一根CIS尾部的黑色區(qū)域和第二根CIS首部的黑色區(qū)域表示兩根CIS在一次掃描中物理上沒有互相覆蓋到的區(qū)域,反映了兩根CIS在垂直方向的錯位。由圖可知,第一根CIS第一行數(shù)據(jù)應(yīng)該和第二根CIS第h行銜接,因?yàn)樗麄儝呙璧氖俏锢砩系耐恍?,而且第二根CIS還需要在橫向上偏移w個像素,因?yàn)檫@w個像素跟第一根CIS尾部重疊。因而只要知道w和h這兩個參數(shù),就能完整的進(jìn)行圖像還原,在程序上只需要簡單的進(jìn)行指針的偏移,其偏移偽碼如下:

為了獲取w和h參數(shù),制作一張可覆蓋整個掃描區(qū)域的具有豐富 對位標(biāo)志的拼接紙,并編寫了一款用于手動拼接的工具軟件,通過輸入拼接紙圖像后,可在拼接工具中通過手動將每根CIS重疊區(qū)域的圖像可視化左右和上下移位,直到圖像中無水平重疊區(qū)域和上下錯位區(qū)域停止,此時軟件后臺算法已經(jīng)記錄下所需的拼接參數(shù),即上文中提到的w和h參數(shù),并最終生成配置文件。此后,每次掃描圖像時只需加載配置文件,即可實(shí)現(xiàn)圖像的自動拼接,呈現(xiàn)完美的寬幅圖像。

進(jìn)一步,所述的圖像一致性校正處理包括下列步驟:

(b.1)采集一張飽和亮場白圖和一張暗場黑圖,得到校正數(shù)據(jù);

(b.2)采用兩點(diǎn)校正法,按如下公式進(jìn)行圖像校正:

其中,G校正(x,y)為校正后的圖像數(shù)據(jù),G原始(x,y)為原始圖像數(shù)據(jù),G亮場為校正工具得到的飽和亮場數(shù)據(jù),G暗場為校正工具得到的暗場數(shù)據(jù),C為校正因子,通常取255。

當(dāng)相機(jī)采集均勻、純色物體時,理論上應(yīng)該得到一張像素強(qiáng)度值相同的圖像,而事實(shí)上,圖像的中不同位置的強(qiáng)度起伏較大,主要原因是(1)傳感單元彼此響應(yīng)不一致(2)圖像傳感器邊緣效應(yīng)(3)光照不均勻(4)背景噪聲;對均勻目標(biāo)響應(yīng)的不一致,導(dǎo)致圖像出現(xiàn)不同區(qū)域明暗不一,在CIS中這將導(dǎo)致出現(xiàn)豎條紋。

為了消除這種豎條紋,需要對圖像進(jìn)行校正,采用的校正算法即所謂的平場校正算法,可以有效的校正CIS傳感器對均勻目標(biāo),均勻光場響應(yīng)的不一致性,從而最終消除圖像豎條紋現(xiàn)象。

通過考察一個象元對不同光強(qiáng)的輸入響應(yīng),發(fā)現(xiàn)響應(yīng)強(qiáng)度和光入 射強(qiáng)度大致呈正比例關(guān)系;通過輸出不同的象元的光響應(yīng)直線,對比發(fā)現(xiàn),他們的斜率和起點(diǎn)均不相同,這也解釋了在對均勻目標(biāo)成像時表現(xiàn)出的不一致性。因而理想情況下對圖像的校正目的就是要是不同象元的光響應(yīng)直線起點(diǎn)(即0輸入偏置)一致,直線斜率一致(即增益),實(shí)際中不可能達(dá)到完全一致,但可以校正到基本一致。

CIS作為一種圖像傳感器,其感光單元一般是CMOS和CCD,其光場則由線陣排列的LED點(diǎn)陣提供,這種線陣排列的LED產(chǎn)生的光照強(qiáng)弱分布函數(shù)不是均勻的,具體可由圖9揭示;而且每個感光單元對光子的響應(yīng)率并不完全一致,即使是同一個感光單元對不同光照強(qiáng)度的響應(yīng)也并非線性。因而表現(xiàn)在圖像上,將出現(xiàn)兩種現(xiàn)象,一種是豎條紋,一種是圖像不均勻、尤其在多根CIS拼接的情況下,這種現(xiàn)象尤為明顯;要克服CIS這種固有缺陷,必須要對圖像進(jìn)行平場校正,從軟件上提升圖像的質(zhì)量。

本實(shí)施例由于針對的應(yīng)用對圖像顏色精度要求較低,故采用的是兩點(diǎn)校正法,這種方式既能滿足整個系統(tǒng)對于校正需求(主要是要消除圖像中的豎條紋現(xiàn)象),又可以實(shí)現(xiàn)快速圖像校正。

進(jìn)一步,所述的圖像高精度重采樣是在后端通過立方插值算法來實(shí)現(xiàn)的;

由于寬幅圖像數(shù)據(jù)量較大,前端采集屬于慢速設(shè)備,無法應(yīng)對實(shí)時性要求,因而,前端對圖像的分辨率做出了平衡,但為了獲取更高精度的輪廓圖像,本實(shí)施例在后端進(jìn)行了圖像的高精度重采樣操作,采用的算法為立方插值算法,而且立方插值算法會同時考慮鄰域內(nèi)像 素點(diǎn)的灰度值影響和灰度變化率的影響,因而具有很強(qiáng)的圖像輪廓邊緣細(xì)節(jié)的保真能力,同時對于邊緣鋸齒失真的校正效果突出。

進(jìn)一步,所述的位圖轉(zhuǎn)矢量處理是通過位圖轉(zhuǎn)矢量算法實(shí)現(xiàn)的。位圖轉(zhuǎn)矢量算法需要完成對掃描對象位圖輪廓的準(zhǔn)確提取,并將輪廓路徑以函數(shù)的方式保存起來。該算法主要分為三個步驟:第一,位圖被分解為一些路徑,他們構(gòu)成了黑白區(qū)域之間的邊界;第二,每條路徑都被近似成為一個最優(yōu)多邊形;第三,每個多邊形都轉(zhuǎn)化成為光滑的輪廓。其具體包括如下步驟:

(d.1)將位圖分解為封閉路徑集合,其構(gòu)成黑白區(qū)域之間的邊界:

(d.1.1)假定位圖放置在一個坐標(biāo)系且每個像素的轉(zhuǎn)角都有整形坐標(biāo),同時進(jìn)一步假定背景為白色,前景為黑色,且超出位圖邊界的區(qū)域的被假定為白色填充;

(d.1.2)構(gòu)造一個有向圖G:設(shè)定p是一個整形坐標(biāo)的點(diǎn),且該點(diǎn)與4個像素相鄰,若這4個像素不是同一種顏色則這個點(diǎn)p被稱作頂點(diǎn);假定v和w是頂點(diǎn),且v和w的歐幾里得距離為1,則認(rèn)為此時有一條從v到w的邊,該直線片段將v和w分為一個黑色像素和一個白色像素,當(dāng)從v移向w使黑色像素在該直線片段的左邊、白色像素在其右邊,則形成所述的有向圖G;

(d.1.3)假定一個路徑是一系列頂點(diǎn)(v0,…,vn),對所有的i=0,…,n-1都有一條從vi到vi+1的邊;如果vn=v0,一條路徑被稱為封閉;路徑的長度為邊的個數(shù);則通過路徑分解可以實(shí)現(xiàn)將有向圖G分解為封閉路徑,即找到一個封閉路徑的集合使G的每條邊都只出現(xiàn)一次;

(d.1.4)從位圖到路徑的具體方法為:從一對有不同顏色的相鄰像素開始,通過選擇某一行最左邊的黑色像素,兩個被選擇的像素在一條邊上相遇,通過改變這條邊的朝向使黑色像素在邊的左邊、白色像素在邊的右邊;通過迭代繼續(xù)擴(kuò)張這條路徑,使新的邊相對于邊的方向都有一個黑色像素在其左邊、一個白色像素在其右邊,也就是說,在像素間沿著邊移動時每遇到一個轉(zhuǎn)角,則需要根據(jù)周圍像素的顏色來決定是直走、左轉(zhuǎn)或右轉(zhuǎn),其路徑擴(kuò)張算法可見圖10;通過不斷迭代直到返回假定的封閉圖的起點(diǎn)為止,從而完成位圖中一個封閉輪廓路徑的搜索,之后通過反轉(zhuǎn)使所有像素的顏色從位圖中移除,重新定義新圖,之后對該新圖繼續(xù)遞歸應(yīng)用所述的路徑分解算法,直到?jīng)]有黑色像素余留,得到位圖中所有封閉路徑的集合。

(d.1.5)在前述步驟中圖10的最后一種情況下,選擇左轉(zhuǎn)和右轉(zhuǎn)對于路徑分解算法的成功與否沒有影響,不論哪種方式都將以封閉路徑的集合結(jié)束,但卻會對封閉路徑的形狀產(chǎn)生影響。為此,在完成(d.1.4)過程中,設(shè)定如下轉(zhuǎn)向策略:

左:表示在需要轉(zhuǎn)向時一直左轉(zhuǎn);

右:表示在需要轉(zhuǎn)向時一直右轉(zhuǎn);

黑:表示更傾向于鏈接黑色像素單元;

白:表示更傾向于鏈接白色像素單元;

最少鏈接:表示更傾向于鏈接當(dāng)前點(diǎn)鄰域內(nèi)出現(xiàn)的最少顏色;

最多鏈接:表示更傾向于鏈接當(dāng)前點(diǎn)鄰域內(nèi)出現(xiàn)的最多顏色;

隨機(jī)鏈接:表示隨機(jī)轉(zhuǎn)向;

(d.1.6)清除雜點(diǎn)干擾:設(shè)定一個路徑內(nèi)部面積閾值t來消除封閉路徑的細(xì)小輪廓,且路徑面積的計算公式如下:

area=∫ydx=∫yx'dt (2)

其中,area為路徑面積,x為圖像像素行坐標(biāo),y為圖像像素列坐標(biāo),t為閾值變量。

(d.2)將經(jīng)過步驟(d.1)所得的封閉路徑集合轉(zhuǎn)化為一條近似該路徑的最優(yōu)多邊形:

(d.2.1)設(shè)定直線路徑:

設(shè)定在平面坐標(biāo)系中兩點(diǎn)z0(x0,y0)和z1(x1,y1),且兩點(diǎn)間的最大距離為d(z0,z1)=max{|x1–x0|,|y1–y0|},則離點(diǎn)(1/2,1/2)最大距離為最多1/2的點(diǎn)的集合是那些以(1/2,1/2)為中心的點(diǎn);同時設(shè)定坐標(biāo)平面的任兩點(diǎn)a,b,令表示鏈接a和b直線的直線片段,給點(diǎn)一組非封閉的路徑p={v0,…,vn},則線片段近似這條路徑;如果d(v0,a)≤1/2,d(vn,b)≤1/2,并且對于每一個i=1,…,n-1,存在點(diǎn)ci使得d(vn,b)≤1/2;對于一條路徑p={v0,…,vn},其在索引i上的方向?yàn)関i+1-vi,i=0,…,n-1,且存在四種可能的方向:(0,1),(1,0),(0,-1),和(-1,0),當(dāng)一條路徑可以被線片段近似而且上述4種方向都沒有出現(xiàn),則稱該條路徑是直的,同樣,該路徑的所有的子路徑也是直的,圖11顯示了直和非直的路徑,圖中,點(diǎn)表示源位圖坐落于轉(zhuǎn)角而非中心的頂點(diǎn),顯示的正方形不是像素、而是路徑點(diǎn)周圍的像素;路徑的頂點(diǎn)以原點(diǎn)顯示,它們1/2的臨近像素以方形顯示,其中 (a),(b),和(d)是直的,(c)和(e)不是直的,(e)顯示了一個非直的路徑例子,雖然它被一些線片段近似,但是4種方向都在路徑中出現(xiàn)了。

進(jìn)一步,所述的步驟(d.2.1)中路徑采用如下算法實(shí)現(xiàn)路徑為直的:

設(shè)定平直度為一個3元組屬性,假設(shè)路徑p={v0,…,vn}沒有出現(xiàn)所述步驟(d.2.1)中圖11顯示的方向,則當(dāng)且僅當(dāng)對于所有索引的3元組(i,j,k)使0£i<j<k£n時,p是直的;且在該直線p上通過vi和vk存在一個點(diǎn)w使d(vj,w)≤1,通過平直測試算法,對所有3元組(i,j,k)進(jìn)行測試;當(dāng)最壞的情況下,時間復(fù)雜度為O(n3),此時,通過計算每對(i,j)約束所有將來的的位置,當(dāng)i固定、j增長時,只要檢查一次每個j的約束,其中一個約束由最多兩個不等式構(gòu)成、且可在固定的時間內(nèi)被更新和檢查,使得在最壞的情況下找到一個給定長度n的封閉路徑所有直的子路徑時間復(fù)雜度僅為O(n2)。

上述算法的實(shí)現(xiàn)中,采用了一種優(yōu)化保證在最壞的情況下找到一個給定長度n的封閉路徑所有直的子路徑時間復(fù)雜度僅為O(n2),其方法的精髓在于計算每對(i,j),約束所有將來的vk的位置,如果i是固定的而j是增長的,只要檢查一次每個j的約束就可以,而且,一個約束由最多兩個不等式構(gòu)成并且可以在固定的時間內(nèi)被更新和檢查。

(d.2.2)獲取多邊形:

當(dāng)p={vj,…,vn}是一封閉路徑,則有vn=v0,路徑的長度為n;當(dāng)任一對索引i,j∈{0,…,n-1}定義一個子路徑pi,j,其中路徑vi,…, vj,i<=j(luò)或路徑vi,…,vn-1,v0,…,vj,j<i,記為對i和j之間的環(huán)形差異,當(dāng)i£j時當(dāng)j<i時因此子路徑pi,j的長度被精確為jΘi;對于封閉路徑,下述加法和減法均對n取模;

假設(shè)從封閉路徑p中構(gòu)建一個多邊形,當(dāng)且子路徑pi-1,j+1按步驟(d.2.1)所述算法是直的,則此時存在一個可能從i到j(luò)的可能的片段;也就是說,當(dāng)子路徑可以在兩邊方向上均擴(kuò)張1個像素,且保持是直的,則一個子路徑對應(yīng)一個可能的片段;某條直的路徑兩邊端點(diǎn)的特殊“裁剪”對于整個輪廓矢量算法的輸出十分重要,沒有特將在轉(zhuǎn)角處導(dǎo)致奇怪的現(xiàn)象,根據(jù)d.2.1的定義任何長度3的路徑為直的,因此它被保證總有一個可能的片段從i到i+1。一個多邊形是一序列索引i0£i1£…£im-1,對于每個k=0,…,m-2,及從im-1到i0,有一個從ik到ik+1的可能的片段;圖12顯示了同一個路徑的兩個可能的多邊形,即同一路徑下最優(yōu)和非最優(yōu)的多邊形,同時圖12中的多邊形片段沒有真正的必須近似他們對應(yīng)的子路徑,他們只是簡單呈現(xiàn)了一個近似線片段存在的事實(shí)。(d.2.3)懲罰:

經(jīng)過前述步驟現(xiàn)已找到的所有可能的多邊形,要從所有多邊形中尋找一個最優(yōu)的,本實(shí)施例將最優(yōu)多邊形設(shè)定為一個擁有更少片段的多邊形,其比一個擁有更多片段的多邊形更優(yōu),如圖12中,左邊多邊形有14個片段,而右邊的有17個片段,因而左邊的比右邊的更優(yōu);當(dāng)多邊形中的片段數(shù)相同時,要選出最優(yōu)多邊形,需賦予每個片段一 個懲罰,并按照如下方式來選擇最優(yōu)多邊形:

假定一個從i到j(luò)的片段,記為直線片段如圖11中帶*線條;賦予這個片段的懲罰等于的歐幾里得長度乘以一個路徑上的每個點(diǎn)到歐幾里得距離的標(biāo)準(zhǔn)差,具體計算公式如下:

其中,表示某點(diǎn)距離一條直線的歐幾里得距離,當(dāng)該點(diǎn)偏離直線片段越小,則受到的懲罰越小,則組成的多邊形更優(yōu);這些點(diǎn)偏離片段越遠(yuǎn),受到的懲罰越大。

進(jìn)一步,此處中Pi,j的公式可采用如下公式替代:

令(x,y)=ik-1-vi,(x,y)=(vi+vj)/2,則

其中:

為的平方的數(shù)學(xué)期望值,k=i,…j。

可以通過提前算好一個的累加值表,為每一個數(shù)量總計qk的值。建好表后,這將使算法的時間消耗與空間呈線性關(guān)系。

(d.2.4)優(yōu)化多邊形:

將給定的封閉路徑p={v0,…,vn}視為一個有頂點(diǎn)0,…,n-1的有向 圖,當(dāng)從i到j(luò)有可能的片段,則路徑有從i指向j的箭頭;對于序列 賦予一個懲罰(k,P),其中k是箭頭的數(shù)量,P是他們的懲罰的和,當(dāng)k<k’或k=k’且P<P’,則(k,P)比(k’,P’)是更優(yōu)的多邊形,此時,找到一個最優(yōu)多邊形被降為在一個有向圖中找到一個最優(yōu)的環(huán)形,通過采用標(biāo)準(zhǔn)圖論算法來尋找有向圖中的最優(yōu)環(huán)形,則最優(yōu)環(huán)形可在時間復(fù)雜度為O(nm)內(nèi)找到,其中n是輸入路徑的大小,m是最長的可能片段長度;

這個優(yōu)化使算法只需考慮局部領(lǐng)域,因?yàn)槊恳淮慰紤]整個路徑,優(yōu)化多邊形的每部分可能取決于其他的布馮,在前面計算一個位圖路徑的階段,和接下來把多邊形轉(zhuǎn)為矢量輪廓的階段,都是局部的,即他們每次只查看很少的相鄰的點(diǎn)。

(d.3)將多邊形轉(zhuǎn)化為光滑的矢量輪廓:

在算法最后的階段是將前面獲得的多邊形轉(zhuǎn)化為光滑的矢量輪廓。

(d.3.1)調(diào)整多邊形頂點(diǎn)位置使其符合源位圖:

經(jīng)過前述步驟(d.2)后得到一個多邊形{i0,…,im-1}關(guān)聯(lián)一個封閉路徑{v0,…,vn},索引i0,…,im-1及其關(guān)聯(lián)的作為多邊形頂點(diǎn)的點(diǎn) 當(dāng)多邊形為環(huán)形時將索引取模m;

因?yàn)樵O(shè)定多邊形為環(huán)形,所以按照慣例把索引取摸m,為了計算懲罰,將多邊形的頂點(diǎn)i精確的放置在對應(yīng)路徑的vi,即在坐標(biāo)系有整形坐標(biāo)的點(diǎn),這種放置頂點(diǎn)允許高效的計算懲罰,這在優(yōu)化范圍內(nèi)并不是必要的。

此時,先關(guān)聯(lián)每個頂點(diǎn)ik、一個點(diǎn)ak在坐標(biāo)系,使ak離很近,而且對于多邊形任意兩個連續(xù)頂點(diǎn)ik和ik+1,結(jié)果線片段是合理接近于源子路徑的;

其中,點(diǎn)ak是通過如下算法來放置的:

對每個連續(xù)的頂點(diǎn)ik和ik+1,獲得最佳近似點(diǎn)的直線Lk,k+1,使這些點(diǎn)離直線的歐幾里得距離最小化;當(dāng)ik-1,ik和ik+1是連續(xù)的頂點(diǎn),則將點(diǎn)z3放置在Lk-1,k和Lk,k+1的交叉處最好;但為了使ak不遠(yuǎn)離原定點(diǎn)當(dāng)Lk-1,k和Lk,k+1的交點(diǎn)在該單位正方形里,將ak作為單位正方形里的最大距離的點(diǎn),使得從ak到Lk-1,k和Lk,k+1的歐幾里得距離的平方和為最??;當(dāng)Lk-1,k和Lk,k+1的交點(diǎn)不在該單位正方形里,將ak放置在離交叉點(diǎn)很近的點(diǎn),即放置在離很近的點(diǎn);(d.3.2)通過貝塞爾曲線算法進(jìn)行貝塞爾曲線連接,以獲取矢量輪廓的曲線部分,其中貝塞爾曲線算法具體如下:

貝塞爾曲線由4個控制點(diǎn)z0,z1,z2,z3和參數(shù)方程z=(1-t)3z0+3t(1-t)2z1+3t2(1-t)z2+t3z3給定,限制通過z0z1和z3z2的直線交叉于點(diǎn)O,設(shè)定曲線為凸的、且改變方向小于180度,則z1位于z0和O之間,z2位于z3和O之間;通過一個坐標(biāo)系的線性轉(zhuǎn)化,假定z0=(-1,0),z3=(1,0),O=(0,1),這種特殊的貝塞爾曲線都有兩個參數(shù)決定,α,β∈[0,1],z1=(-1+α,α),z2=(1-β,β),圖15給出了這種情況下α和β的值每次乘以0.2的貝塞爾曲線,且控制點(diǎn)z1和z2顯示為不同于O、z1、z3的圓點(diǎn);從圖中發(fā)現(xiàn)貝塞爾曲線在任何特殊水平線上視覺上都幾乎無法曲風(fēng),除了大概α或者β非常接 近于0的情況;使算法從不產(chǎn)生α,β很小的貝塞爾曲線,這樣可以避免后面的可能性,于是,設(shè)定并限制α=β,可消除一個角度,簡化找最優(yōu)曲線;

在線性變化的情況下,貝塞爾曲線如圖14所示;如果給定z0和z3,這里有兩個在O位置的自由度,而且一個額外的自由度取決于α的選擇,通過設(shè)置α=β,第四個自由度被消除了。

綜上分析,得到的貝塞爾曲線和x軸包圍的面積等于3/10*(2α+2β-αβ)或3/10*(4-(2-α)(2-β),同時從圖14可以得出兩曲線包圍的面積相同,兩曲線相似。于是,可以用相等的參數(shù)近似任何參數(shù)α和β的曲線;同時通過設(shè)定當(dāng)α=β時,最高點(diǎn)將在t=1、2時到達(dá),其對應(yīng)的y坐標(biāo)為3α/4。

(d.3.3)通過如下算法實(shí)現(xiàn)轉(zhuǎn)角檢測和平滑化:

在算法的最后階段的輸入是d.3.1中調(diào)整后的多邊形,假定多邊形的頂點(diǎn)為vi+1,…,ak-1,bi=(ai+ai+1)/2,b0,…,bk-1為多邊形邊的中點(diǎn),對于每個i,轉(zhuǎn)角bi-1,ai,bi,將有一個光滑曲線來近似,如圖15(d)中所示;

接下來,先在點(diǎn)ai上畫一個單位正方形、平行于的線Li、且使ai的周圍接觸到正方形及接近直線令c為Li和的交點(diǎn)、γ為的長度和的商、令α=4γ/3,且貝塞爾曲線用參數(shù)α鏈接bi-1和bi、該曲線的三條切線為Li,aibi;

之后,將參數(shù)α來進(jìn)行轉(zhuǎn)角檢測及決定最終從bi-1到bi的曲線;當(dāng)α£1時在該頂點(diǎn)繪制一條光滑的貝塞爾曲線,如圖15(a)-(c),當(dāng)α>1,則不存在凸的貝塞爾曲線來鏈接bi-1和bi并相切于Li,此時可檢測到一個轉(zhuǎn)角、且通過兩條相交于點(diǎn)ai的直線片段鏈接bi-1和bi

上述算法中,轉(zhuǎn)角檢測可以通過設(shè)定轉(zhuǎn)角閾值參數(shù)αmax,當(dāng)α<αmax時頂點(diǎn)為圓角、當(dāng)α>αmax時頂點(diǎn)為轉(zhuǎn)角,且αmax越小導(dǎo)致更多的轉(zhuǎn)角如圖15(b)所示,αmax越大導(dǎo)致更多的圓角如圖15(c)所示,當(dāng)αmax>3/4,將完全沒有轉(zhuǎn)角,輸出全是光滑曲線;轉(zhuǎn)角檢測完成后,α值調(diào)整在0.55和1之間;

α>0.55是為了阻止曲線太平,因?yàn)棣?lt;0.55常導(dǎo)致奇怪的圖像;而α<1是為了保證結(jié)果貝塞爾曲線是凸的。

α=0.55常使圓形物體被良好的近似出來,是因?yàn)槔碚撋希?/p>

前述可以看出,該轉(zhuǎn)角檢測算法有如下特點(diǎn):尖銳的角度和長片段更有利于轉(zhuǎn)角,因此,將會在兩個短片段相較于一個很小角度或者兩個很長的片段相交于一個輕微角度的地方檢測到轉(zhuǎn)角。

(d.3.4)曲線優(yōu)化:

經(jīng)前述步驟(d.3.3)處理之后輸出的結(jié)果曲線由貝塞爾曲線片段和直線片段構(gòu)成,該曲線集已經(jīng)十分接近最終輸出結(jié)果,但可以做最后一個優(yōu)化,即嘗試通過連接臨近的貝塞爾曲線來優(yōu)化,這階段的優(yōu)化目的主要是為了將結(jié)果曲線由更少的片段來構(gòu)成。

首先,僅僅嘗試去連接臨近的曲線片段,對于轉(zhuǎn)角和直線片段不做考慮;其次只連接角度凸的曲線片段,即他們都向右或者向左轉(zhuǎn)彎; 最后連接總的方向改變少于179度的曲線片段?;诖耍沟脙H要考慮的是如圖16所示的片段序列。

接下來,需要找到一條單一的貝塞爾曲線來近似給定的一組更短的貝塞爾曲線,假定一條曲線C、C與直線和相切、可以找到 和的交點(diǎn)O,依據(jù)步驟d.3.2的討論只留下了一個自由度在需要考慮的曲線中,即參數(shù)α,此時使被曲線C包圍的面積和原曲線片段包圍的面積相等,可確定參數(shù)α、算出面積,之后得到一條特殊的近似于給定片段的曲線C,如圖16所示。

之后需要檢測曲線C是否真的近似給定的曲線片段,當(dāng)檢測到曲線C近似于給定片段,則給其一個懲罰值,并用是否相切來驗(yàn)證,具體檢測的算法如下:對于每個i=1,…,n-1,點(diǎn)zi在C上平行于ai、ai+1的切線,令di為點(diǎn)zi到線片段aiai+1的歐幾里得距離,同時對于每個i=1,…,n,曲線C上的點(diǎn)z’平行于bi-1bi的切線,令di’為z’i到線片段Li的歐幾里得距離,如果z’i和Li和ai一樣的一邊,記為正,否則為負(fù),當(dāng)di<e,di’>-e,且zi在線aiai+1上的正交投影位于ai和ai+1之間,e為常量且設(shè)為0.2、可調(diào)整,同時設(shè)定懲罰為所有di和di’的平方和;

最后,通過最短路徑算法來分解給定的曲線片段至可接受的近似,先優(yōu)化片段數(shù)量,然后再優(yōu)化總的懲罰量。

通過完成上述步驟完成了整個位圖到矢量輪廓的算法,最后輸出一序列的曲線集,且每個曲線都是由一系列的直線片段和貝塞爾曲線片段構(gòu)成,并采用冗余編碼的方式存儲所得曲線集。

一種實(shí)現(xiàn)上述基于機(jī)器視覺的圖像采集與重建方法的裝置,該裝置采用全幅圖像數(shù)字化采集儀,其包括平臺及與該平臺相對運(yùn)動設(shè)置的圖像采集機(jī)構(gòu),該圖像采集機(jī)構(gòu)包括由若干圖像傳感器連續(xù)排列后拼接而成的長條狀圖像采集組合相機(jī),其中所述的平臺固定設(shè)置,所述圖像采集機(jī)構(gòu)通過移動機(jī)構(gòu)設(shè)于平臺上方或下方,或所述圖像采集機(jī)構(gòu)為兩個,通過移動機(jī)構(gòu)分別設(shè)于平臺上方和下方;或者,所述圖像采集機(jī)構(gòu)固定設(shè)置,所述平臺通過移動機(jī)構(gòu)設(shè)于圖像采集機(jī)構(gòu)下方或上方,或所述圖像采集機(jī)構(gòu)為兩個,所述平臺通過移動機(jī)構(gòu)設(shè)于該兩個圖像采集機(jī)構(gòu)的中間;所述的移動機(jī)構(gòu)包括使平臺與圖像采集機(jī)構(gòu)相對運(yùn)動的導(dǎo)軌、滑座及驅(qū)動組件;該圖像采集機(jī)構(gòu)還包括可使所述長條狀圖像采集組合相機(jī)相對于所述平臺上下調(diào)整的U型機(jī)構(gòu)及配合該U型機(jī)構(gòu)運(yùn)動的螺釘螺栓、滑座及驅(qū)動組件;所述圖像傳感器為CIS線性圖像傳感器。

實(shí)施例2:本實(shí)施例提供的基于機(jī)器視覺的圖像采集與重建方法及裝置,與實(shí)施例1基本相同,其中基于機(jī)器視覺的圖像采集與重建方法與實(shí)施例相同,而實(shí)施該基于機(jī)器視覺的圖像采集與重建方法的裝置,不同之處在于:

參見圖3-6,所述的全幅圖像數(shù)字化采集儀包括平臺1及與該平臺相對運(yùn)動設(shè)置的圖像采集機(jī)構(gòu)2,該圖像采集機(jī)構(gòu)2設(shè)有由若干圖像傳感器連續(xù)排列后拼接而成的圖像采集組合相機(jī)21,所述的圖像傳感器為CIS線性圖像傳感器,所述的圖像采集組合相機(jī)21通過升降機(jī)構(gòu)22設(shè)于圖像采集機(jī)構(gòu)2上,可使其上下移動從而調(diào)整相對于 平臺1的距離,所述升降機(jī)構(gòu)22包括設(shè)于圖像采集組合相機(jī)兩側(cè)的導(dǎo)軌及驅(qū)動組件,所述圖像采集機(jī)構(gòu)的前側(cè)設(shè)有壓平輥輪23;所述的驅(qū)動組件可以是電機(jī)、絲桿,氣缸、推桿等等形式,通過該升降機(jī)構(gòu)22可以靈活調(diào)整圖像采集組合相機(jī)21相對于平臺1的距離以方便采集不同物料;本實(shí)施例中升降機(jī)構(gòu)22包括導(dǎo)軌、滑座及固定螺釘螺栓,通過手動的方式調(diào)整,然后由螺絲螺栓鎖緊固定。所述的平臺固定設(shè)置,所述圖像采集機(jī)構(gòu)通過移動機(jī)構(gòu)設(shè)于平臺上方或下方,或所述圖像采集機(jī)構(gòu)為兩個,通過移動機(jī)構(gòu)分別設(shè)于平臺上方和下方;或者,所述圖像采集機(jī)構(gòu)固定設(shè)置,所述平臺通過移動機(jī)構(gòu)設(shè)于圖像采集機(jī)構(gòu)下方或上方,或所述圖像采集機(jī)構(gòu)為兩個,所述平臺通過移動機(jī)構(gòu)設(shè)于該兩個圖像采集機(jī)構(gòu)的中間,所述的移動機(jī)構(gòu)包括使平臺與圖像采集機(jī)構(gòu)相對運(yùn)動的導(dǎo)軌,及絲桿傳動組件或帶輪傳動組件。當(dāng)所述圖像采集機(jī)構(gòu)為兩個時,所述平臺采用透明的形式(如透明玻璃、塑料制品等),則設(shè)于平臺兩側(cè)的圖像采集機(jī)構(gòu)便可以同時對物料兩面進(jìn)行全幅圖像采集。本實(shí)施例通過導(dǎo)軌11、電機(jī)12及同步帶13形成移動機(jī)構(gòu),使圖像采集機(jī)構(gòu)2移動式設(shè)置于平臺1上方。

本發(fā)明并不限于上述實(shí)施方式,采用與本發(fā)明上述實(shí)施例相同或近似方法或裝置,而得到的其他基于機(jī)器視覺的圖像采集與重建方法及裝置,均在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
房山区| 延川县| 东源县| 广饶县| 盐城市| 东方市| 宜州市| 阿坝县| 湖南省| 永兴县| 泰兴市| 青田县| 云龙县| 越西县| 新兴县| 基隆市| 临猗县| 安西县| 临清市| 定襄县| 玉龙| 奈曼旗| 蒙阴县| 内黄县| 周口市| 商都县| 枞阳县| 香港| 沅江市| 银川市| 罗定市| 无锡市| 衡东县| 乐陵市| 阳东县| 平舆县| 大厂| 吴桥县| 吉安县| 古浪县| 左权县|