專利名稱:冷凝器管口圖像的平面質(zhì)心定位方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及圖像處理技術(shù)領(lǐng)域,尤其涉及一種冷凝器管口圖像的平面質(zhì)心定位方法。
背景技術(shù):
我國(guó)火力、太陽(yáng)能及核能發(fā)電廠大型機(jī)組冷凝器的循環(huán)冷卻水多采用江河湖海及地下水作補(bǔ)充水,隨著自然界水源的水質(zhì)污染日益嚴(yán)重,且其鹽堿度因循環(huán)冷卻水的濃縮而不斷增高,會(huì)造成冷凝管內(nèi)污物堵塞和管道結(jié)垢。冷凝管材多為黃銅和碳鋼,因循環(huán)水處理不當(dāng)易發(fā)生垢下腐蝕、黃銅脫鋅腐蝕、電偶腐蝕、應(yīng)力腐蝕和沖擊腐蝕,導(dǎo)致凝汽器冷凝管穿孔、泄露而引發(fā)停機(jī)事故。冷凝管道結(jié)垢腐蝕造成管內(nèi)真空度下降、換熱效率嚴(yán)重降低和汽輪機(jī)排汽壓力增加,導(dǎo)致發(fā)電機(jī)組工作效率降低、設(shè)備壽命縮短以及運(yùn)行成本提高。此外,醫(yī)院、辦公大樓及賓館等公共場(chǎng)所使用的集中空調(diào)通風(fēng)系統(tǒng)因空氣中存在灰塵、細(xì)菌及病毒微生物,運(yùn)行一段時(shí)間后空調(diào)通風(fēng)管道容易積塵結(jié)垢并受到微生物污染,造成通風(fēng)管道堵塞、環(huán)境污染和疾病傳播。因此,需要采用經(jīng)濟(jì)有效的手段防止循環(huán)冷卻水系統(tǒng)及通風(fēng)管道系統(tǒng)的結(jié)垢和腐蝕,保持換熱管路及通風(fēng)管道的清潔,提高換熱效率,并節(jié)約能源,確保公共環(huán)境衛(wèi)生和預(yù)防疾病。采用傳統(tǒng)的膠球清洗、酸洗、人工噴槍清洗、刮刀或鉆頭清洗和高壓水槍清洗法清洗冷凝管,因膠球分布不均勻,酸洗劑對(duì)冷凝管損害較大,需要停機(jī)人工操作,工作環(huán)境惡劣而且清洗效率低,都會(huì)影響設(shè)備的正常運(yùn)轉(zhuǎn)。為實(shí)現(xiàn)高效在線自動(dòng)化清洗,目前已出現(xiàn)智能移動(dòng)式冷凝器清洗機(jī)器人,可利用聲傳感器系統(tǒng)搜索并定位目標(biāo)的大致方位,引導(dǎo)機(jī)器人靠近清洗目標(biāo),近距離采用光學(xué)傳感器進(jìn)行目標(biāo)識(shí)別和定位,采用高壓水射流技術(shù),通過(guò)視覺(jué)伺服系統(tǒng)和運(yùn)動(dòng)控制系統(tǒng)的協(xié)作,提取管板的圖像特征信息并加以處理,指揮清洗臂帶動(dòng)高壓水噴槍對(duì)準(zhǔn)凝汽器管板上的冷凝管口自動(dòng)噴洗。此外,現(xiàn)有的空調(diào)風(fēng)管清洗機(jī)器人能夠平穩(wěn)行走和越障,能實(shí)現(xiàn)對(duì)風(fēng)管進(jìn)行攝像、定量采樣、照明、清洗和吹氣。智能移動(dòng)清洗機(jī)器人的機(jī)械臂末端安裝攝像頭,需要實(shí)時(shí)估計(jì)機(jī)械臂末端執(zhí)行器位姿的變化量與圖像平面特征變化量之間的特征靈敏度矩陣,即圖像雅可比矩陣(Image Jaccobin Matrix),并且要計(jì)算其逆矩陣。特征抽取精度會(huì)影響整個(gè)系統(tǒng)的控制精度?,F(xiàn)有的管口視覺(jué)定位方法主要采用邊緣檢測(cè)和聚類算法提取管口邊緣,采樣精度固定為邊緣級(jí),尚未實(shí)現(xiàn)根據(jù)圖像內(nèi)管口大小和數(shù)目自動(dòng)調(diào)整采樣精度?,F(xiàn)有的“內(nèi)接三角形定位法” 和“二弦中垂線交點(diǎn)定位法”對(duì)邊緣的取樣點(diǎn)數(shù)太少,求出的質(zhì)心與實(shí)際質(zhì)心的位置誤差較大。由于管板位于水室中,水下照明方式為匯聚光照明,管板以照明中心點(diǎn)的光線最強(qiáng),徑向逐漸減弱,導(dǎo)致圖像背景區(qū)域灰度分布不均勻;且水和水中的渾濁物對(duì)光線存在折射、散射和卷積效應(yīng),亮度不均產(chǎn)生許多雜散的白亮色團(tuán),造成圖像信噪比降低,出現(xiàn)偽輪廓、自陰影和噪聲
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供一種精度高、計(jì)算量小,能夠準(zhǔn)確計(jì)算圖像包含的完整管口數(shù)量,提取管口輪廓,并計(jì)算管口質(zhì)心坐標(biāo)信息的冷凝器管口圖像的平面質(zhì)心定位方法。為解決上述技術(shù)問(wèn)題,本發(fā)明采用以下技術(shù)方案—種冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述方法包括以下步驟(1)對(duì)攝像機(jī)進(jìn)行標(biāo)定;(2)控制機(jī)器人手眼機(jī)構(gòu)沿?cái)z像機(jī)的光軸運(yùn)動(dòng),連續(xù)拍攝待清洗管板區(qū)域的灰度鳥(niǎo)瞰圖,在其中選擇清晰的圖像進(jìn)行預(yù)處理,得到多個(gè)管口和背景呈“黑白”對(duì)照的二值圖像,所述待清洗管板區(qū)域中的管口呈橫縱錯(cuò)列式分布;(3)按“列掃描”所述二值圖像中每列的像素灰度值之和,并投影到Y(jié)坐標(biāo)軸,繪制成列像素灰度值累加和曲線S1 ;統(tǒng)計(jì)S1中共N個(gè)“列波谷”谷底處的局部極小值點(diǎn)集的橫坐標(biāo),存入各列管口的質(zhì)心粗略橫坐標(biāo)向量COL (j);按“行掃描”所述二值圖像中每行的像素灰度值之和,并投影到X坐標(biāo)軸,繪制成行像素灰度值累加和曲線& ;統(tǒng)計(jì)&中共M個(gè)“行波谷”谷底處的局部極小值點(diǎn)集的縱坐標(biāo),存入各行管口質(zhì)心粗略縱坐標(biāo)向量ROW(i);得到所有可能的質(zhì)心粗略坐標(biāo)對(duì)集合(COL (j),ROW(i));(4)剔除所述(COL(j),ROW(i))中位于背景區(qū)域的偽質(zhì)心,得到各行及各列管口質(zhì)心的粗略二維坐標(biāo)集合(CENTER_X(k),CENTER_Y(k)),其中k為管口序號(hào)且
k=l,2,···,;完成多目標(biāo)的質(zhì)心粗略定位。作為本發(fā)明的進(jìn)一步改進(jìn)上述的方法中,所述對(duì)攝像機(jī)進(jìn)行標(biāo)定,具體包括以下步驟預(yù)先在待清洗管板區(qū)域內(nèi)用固定激光束標(biāo)識(shí)出二個(gè)以上標(biāo)定點(diǎn),控制機(jī)器人手眼機(jī)構(gòu)使攝像機(jī)做六次純平移運(yùn)動(dòng)并在每次運(yùn)動(dòng)前后拍攝圖像,前三次的運(yùn)動(dòng)方向互相垂直,后三次的運(yùn)動(dòng)方向互相垂直, 找出每次標(biāo)定點(diǎn)在運(yùn)動(dòng)前圖像中的投影點(diǎn)和在運(yùn)動(dòng)后圖像中的投影點(diǎn),并根據(jù)標(biāo)定點(diǎn)在運(yùn)動(dòng)后圖像中的投影點(diǎn)的位置坐標(biāo),在運(yùn)動(dòng)前圖像中找出相同位置坐標(biāo)的對(duì)應(yīng)點(diǎn),在運(yùn)動(dòng)前圖像中畫(huà)出運(yùn)動(dòng)前投影點(diǎn)與所述對(duì)應(yīng)點(diǎn)的連線;攝像機(jī)每次純平移運(yùn)動(dòng)時(shí)根據(jù)所述二個(gè)以上標(biāo)定點(diǎn)所得的二條以上連線交于同一交點(diǎn),運(yùn)動(dòng)前攝像頭的光心到所述交點(diǎn)的矢量方向?yàn)閿z像機(jī)運(yùn)動(dòng)方向,得到攝像機(jī)六次純平移運(yùn)動(dòng)的六個(gè)運(yùn)動(dòng)方向,解出攝像機(jī)內(nèi)外參數(shù)和畸變參數(shù);根據(jù)所述內(nèi)外參數(shù)和畸變參數(shù)建立攝像機(jī)圖像像素坐標(biāo)與對(duì)應(yīng)的空間點(diǎn)坐標(biāo)之間的幾何關(guān)系,從而在拍攝圖像時(shí)在2D圖像平面空間內(nèi)根據(jù)所述幾何關(guān)系補(bǔ)償反饋偏差, 矯正畸變。上述的方法中,所述預(yù)處理具體包括以下步驟(2. 1)對(duì)所述灰度鳥(niǎo)瞰圖像進(jìn)行自適應(yīng)中值濾波和直方圖均衡化,以去除較大孤立點(diǎn)噪聲并提高對(duì)比度;(2. 2)對(duì)圖像進(jìn)行自適應(yīng)閾值處理假設(shè)隨機(jī)像素只屬于目標(biāo)管口區(qū)域或者背景區(qū)域,求取圖像灰度級(jí)的離散概率密度函數(shù)的歸一化直方圖,再采用Otsu法選擇最大化類間方差σ〗的閾值,并將該閾值縮放到合適的范圍,使用縮放后的閾值對(duì)完成步驟(2. 1)后的圖像做全局閾值處理;(2. 3)對(duì)圖像進(jìn)行形態(tài)學(xué)處理假設(shè)待處理圖像像素集合為F,全局閾值處理后的圖像像素集合為A,采用公式(1)對(duì)圖像進(jìn)行處理廠=<^ (義05)=(((義 5) 5) <^) <^公式(1)使用結(jié)構(gòu)元素B對(duì)集合A開(kāi)操作即用B對(duì)A先腐蝕,再用B對(duì)所述腐蝕結(jié)果膨脹;使用結(jié)果元素C對(duì)(AoB)后的結(jié)果進(jìn)行閉操作即用C對(duì)(AoB)先膨脹,再用C對(duì)膨脹結(jié)果進(jìn)行腐蝕;公式(1)中,所述B為結(jié)構(gòu)元素,所述C為結(jié)果元素。上述的方法中,所述完成多目標(biāo)的質(zhì)心粗略定位后,進(jìn)行分類質(zhì)心精確定位,包括以下步驟(4. 1)在所述二值圖像中繪制k個(gè)分別包圍所述圖像中的k個(gè)管口的矩形框,鎖定管口區(qū)域;(4. 2)設(shè) numberl, number2, number3 e N+(N+ 為正整數(shù)集合),且 number 1 < number2 < number3 < L,其中L為二值圖像中可能的最大管口數(shù);(4.2.1)當(dāng)所述二值圖像中管口數(shù)量^曰(0,numberl]時(shí),采用邊界取樣鏈碼
模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即對(duì)所述管口區(qū)域邊界進(jìn)行網(wǎng)格二次取樣,確定管口的邊界鏈碼,求取邊界鏈碼的近似多邊形的頂點(diǎn)的數(shù)目、橫坐標(biāo)累加和以及縱坐標(biāo)累加和,計(jì)算相應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo);(4.2.2)當(dāng)所述二值圖像中管口數(shù)量^ie (numberljumbed]時(shí),采用直接提
取邊界模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即提取管口區(qū)域邊界,分別求取邊界點(diǎn)橫坐標(biāo)的累加和與縱坐標(biāo)的累加和,計(jì)算對(duì)應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo);(4.2.3)當(dāng)所述二值圖像中管口數(shù)量(number2,number3]時(shí),采用區(qū)域均
值精確定位模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即分別求取管口所在區(qū)域點(diǎn)的橫坐標(biāo)累加和縱坐標(biāo)累加和,求取對(duì)應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo)。上述的方法中,所述L為10 15,所述numberl為3,所述number2為6 8, number3 為 10 15。上述的方法中,所述步驟(4. 1)具體包括以下步驟(4. 1. 1)求取直線ysl = m與曲線S1中的每個(gè)“列波谷”的交點(diǎn),其中m為圖像高度,獲得每個(gè)“列波谷”的下降側(cè)的起始端點(diǎn)(x_left)p和上升側(cè)的終止端點(diǎn)(x_right)p; 將各“列波谷”的兩端點(diǎn)橫坐標(biāo)間的區(qū)間長(zhǎng)度作為圖像中各縱列管口的最大橫軸徑長(zhǎng),存入最大橫軸徑長(zhǎng)向量max (D_a),其中,第ρ列管口的最大橫軸徑長(zhǎng)為maX(D_a)p,即max (D_a)p = (x_right)p-(x_left)p, ρ = 1,2,· · .,N 公式求取直線^ = n與曲線&中的各“行波谷”的交點(diǎn),其中η為圖像寬度,獲得每個(gè) “行波谷”的下降側(cè)的起始端點(diǎn)(y_d0Wn) q和上升側(cè)的終止端點(diǎn)(y_up) q ;將各“行波谷”的兩端點(diǎn)縱坐標(biāo)之間的區(qū)間長(zhǎng)度作為圖像中各橫排管口的最大縱軸徑長(zhǎng),存入最大縱軸徑長(zhǎng)向量max (D_b),其中,第q排管口的最大縱軸徑長(zhǎng)為max (D_b),,即max (D_b) = (y_up) -(y_down) , q = 1,2, . . . , M公式(5)
(4. 1.2)根據(jù)得到的最大橫軸徑長(zhǎng)向量maX(D_a),并選定一疊加裕量θ,采用下式計(jì)算得到管口圖像的外包矩形框的寬度基準(zhǔn)值rectjidth,其中,Max_D_a為第1 列至第N列縱列管口的最大橫軸徑長(zhǎng);根據(jù)得到的最大縱軸徑長(zhǎng)向量max (D_b),并選定一疊加裕量σ,采用下式計(jì)算得到管口圖像的外包矩形框的高度基準(zhǔn)值reCt_height,其中,Max_D_b為第 1行至第M行橫排管口的最大縱軸徑長(zhǎng);(4. 1. 3)從圖像左上角第一個(gè)管口起直至右下角最后一個(gè)管口,以粗略二維坐標(biāo)集合(CENTER_X(k),CENTER_Y(k))中的坐標(biāo)點(diǎn)為中心,分別繪制以rectjidth為寬度 rect_height為高度的矩形框,按序包圍第1 第k個(gè)目標(biāo)管口,鎖定管口區(qū)域。上述的方法中,所述疊加裕量θ的取值范圍為0.03 0.07,所述疊加裕量σ的取值范圍為0. 03 0.07。上述的方法中,(4. 2. 1. 1)從所述二值圖像中左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)為起點(diǎn),按行列掃描方式遍歷矩形框,判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟(4. 2. 1. 2);否則,轉(zhuǎn)步驟(4. 2. 1. 3);(4. 2. 1. 2)跳到下一個(gè)矩形框,即令k = k+Ι,如果矩形框序號(hào)大于總矩形框數(shù),即 MxN
,\~^,轉(zhuǎn)步驟(4. 2. 1. 4);否則,轉(zhuǎn)步驟(4. 2. 1. 3); k> 2(4. 2. 1. 3)提取第k個(gè)管口的邊界,選擇間隔合適的網(wǎng)格對(duì)邊界二次取樣,網(wǎng)格線與邊界的交點(diǎn)作為二次取樣點(diǎn),按順時(shí)針?lè)绞接?方向鏈碼對(duì)二次取樣點(diǎn)進(jìn)行編碼并存儲(chǔ),計(jì)算當(dāng)前管口邊界的二次取樣點(diǎn)的橫坐標(biāo)累加和與縱坐標(biāo)累加和,根據(jù)取樣點(diǎn)數(shù)目計(jì)算相應(yīng)的算術(shù)平均值,即得所述第k個(gè)管口的質(zhì)心精確坐標(biāo),轉(zhuǎn)步驟(4. 2. 1. 2);(4. 2. 1. 4)輸出所述質(zhì)心精確坐標(biāo)并結(jié)束。上述的方法中,所述采用直接提取邊界模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,具體包括以下步驟(4. 2. 2. 1)從所述二值圖像中的左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)為起點(diǎn),按行列掃描方式遍歷矩形框,判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟(4. 2. 2. 2);否則,轉(zhuǎn)步驟(4. 2. 2. 3);(4. 2. 2. 2)跳到下一個(gè)矩形框,即令k = k+Ι,如果矩形框序號(hào)大于總矩形框數(shù),即 MxN
,\~^,轉(zhuǎn)步驟(4. 2. 2. 4);否則,轉(zhuǎn)步驟(4. 2. 2. 3); k> 2(4. 2. 2. 3)提取第k個(gè)管口的邊界并存儲(chǔ)各邊界點(diǎn)的坐標(biāo),分別計(jì)算邊界點(diǎn)的橫坐標(biāo)的累加和與縱坐標(biāo)的累加和,計(jì)算相應(yīng)的算術(shù)平均值,即得所述第k個(gè)管口的質(zhì)心精確坐標(biāo),轉(zhuǎn)步驟(4.2.2.2);(4. 2. 2. 4)輸出所述質(zhì)心精確坐標(biāo)并結(jié)束。上述的方法中,所述采用區(qū)域均值精確定位模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)Max_D_a = Max {max (D_a) Jp = 1,2,. . .,N}rect_width = (1+ θ )Max_D_a
公式(6) 公式(7)Max_D_b = Max {max (D_b) Jq= 1,2,· · ·,M}rect_height = (1+σ )Max_D_b
公式(8) 公式(9)別和質(zhì)心精確定位,具體包括以下步驟(4. 2. 3. 1)從所述二值圖像中的左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)為起點(diǎn),按行列掃描方式遍歷矩形框,判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟(4. 2. 3. 2);否則,轉(zhuǎn)步驟(4. 2. 3. 3);(4. 2. 3. 2)跳到下一個(gè)矩形框,即令k = k+Ι,如果矩形框序號(hào)大于總矩形框數(shù),即 MxN
,\~^,轉(zhuǎn)步驟(4. 2. 3. 4);否則,轉(zhuǎn)步驟(4. 2. 3. 3); k> 2(4. 2. 3. 3)計(jì)算第k個(gè)管口區(qū)域像素個(gè)數(shù),分別求出管口像素橫坐標(biāo)累加和與縱坐標(biāo)累加和,計(jì)算相應(yīng)的算術(shù)平均值,即得所述第k個(gè)管口的質(zhì)心精確坐標(biāo),轉(zhuǎn)步驟 (4. 2. 3. 2);(4. 2. 3. 4)輸出所述質(zhì)心精確坐標(biāo)并結(jié)束。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于1、本發(fā)明的冷凝器管口圖像的平面質(zhì)心定位方法,采用分別繪制列像素灰度值累加和曲線以及行像素灰度值累加和曲線,并通過(guò)統(tǒng)計(jì)“列波谷”和“行波谷”的局部極小值點(diǎn)集坐標(biāo),去除偽質(zhì)心的方法求取質(zhì)心粗略坐標(biāo),管口呈橫縱錯(cuò)列式分布的待清洗管板區(qū)域,特別適用于正方形錯(cuò)列管口分布,能夠快速地獲取冷凝器管口圖像的平面質(zhì)心,實(shí)現(xiàn)多管口的定位;2、本發(fā)明的冷凝器管口圖像的平面質(zhì)心定位方法,采用外包矩形框?qū)⒏鞴芸阪i定分隔開(kāi),再依次對(duì)每個(gè)矩形框內(nèi)的管口區(qū)域進(jìn)行處理,能盡量消除背景影響,鎖定管口區(qū)域的大致范圍,避免重復(fù)計(jì)算;3、本發(fā)明的冷凝器管口圖像的平面質(zhì)心定位方法,根據(jù)實(shí)際定位的精度要求、管口數(shù)目以及管口的橫縱徑長(zhǎng),自動(dòng)將管口分為大、中、小三類,對(duì)每類管口調(diào)用最合適的精度定位模塊以確定每個(gè)矩形框內(nèi)的管口質(zhì)心精確坐標(biāo),能提高計(jì)算精度,實(shí)現(xiàn)定位精度自調(diào)整。對(duì)面積大、像素多的管口區(qū)域提取邊界并二次取樣,用盡量少的點(diǎn)近似邊界形狀,網(wǎng)格大小可調(diào)整,取樣點(diǎn)分布更均勻;對(duì)面積適中、像素?cái)?shù)目適中的管口區(qū)域直接提取邊界得到完整的管口輪廓,容易得到各像素的鄰接關(guān)系,從局部特征分割整體圖像,減小計(jì)算量并確保定位誤差較小;對(duì)面積小、像素少的管口區(qū)域?qū)λ心繕?biāo)像素坐標(biāo)累加求和取平均值, 最大程度保留管口完整信息,在較多管口情況下確保質(zhì)心定位的誤差最小。
圖1是本發(fā)明總流程示意圖;圖2是本發(fā)明具體實(shí)施例1中的總流程示意圖;圖3是本發(fā)明具體實(shí)施例1中的圖像預(yù)處理流程示意圖;圖4是本發(fā)明具體實(shí)施例1中的繪制外包矩形框、鎖定管口區(qū)域流程示意圖;圖5是本發(fā)明具體實(shí)施例1中的分模塊精確定位管口質(zhì)心流程示意圖;圖6是本發(fā)明具體實(shí)施例1中的待清洗區(qū)域多管口圖像預(yù)處理結(jié)果示意圖;其中, 圖6(a)為原始256級(jí)灰度圖;其中圖6(b)為經(jīng)中值濾波后的圖像;圖6 (c)為經(jīng)自適應(yīng)閾值化后的圖像;圖6(d)為經(jīng)開(kāi)運(yùn)算后的圖像;圖6(e)為經(jīng)閉運(yùn)算后的圖像;圖7是本發(fā)明具體實(shí)施例1中的質(zhì)心粗略定位及繪制外包矩形框處理示意圖;其中,圖7(a)為行列掃描求像素值之和示意圖,圖中“行波谷”和“列波谷”極小值對(duì)應(yīng)管口 ; 圖7(b)為行像素灰度值累加和曲線7(c)為列像素灰度值累加和曲線S1;圖7(d)為粗略定位的質(zhì)心位置以及根據(jù)最大橫縱徑長(zhǎng)繪制的外包矩形框示意圖;圖8是本發(fā)明具體實(shí)施例1中的直接提取邊界模塊精確定位質(zhì)心過(guò)程示意圖;其中,圖8(a)為管口邊界二值示意圖;圖8(b)為邊界均值定位質(zhì)心圖像二值示意圖;圖9是本發(fā)明具體實(shí)施例1中的邊界二次取樣、邊界取樣鏈碼模塊精確定位質(zhì)心對(duì)比示意圖;其中,圖9(a)為第1個(gè)目標(biāo)管口邊界網(wǎng)格鏈碼示意圖;圖9(b)為邊界二次取樣點(diǎn)(η = 10)示意圖;圖9(c)為邊界二次取樣(η = 10)的多管口邊界樣點(diǎn)連接示意圖;圖9(d)為邊界二次取樣(η = 10)多管口邊界樣點(diǎn)連線示意圖;圖9(e)為邊界二次取樣(Π =36)多管口邊界樣點(diǎn)示意圖;圖9(f)為邊界二次取樣(η =36)多管口邊界樣點(diǎn)連線示意圖;圖9(g)為邊界二次取樣(η = 36)邊界樣點(diǎn)連線與管口對(duì)比示意圖;圖9(h) 為邊界二次取樣(η =36)定位管口相對(duì)于區(qū)域精確定位的質(zhì)心對(duì)比圖,其中“X”表示二次取樣質(zhì)心位置質(zhì)心,圖中連線表示定位順序從左上方第一個(gè)管口開(kāi)始,按列定位。
具體實(shí)施例方式以下將結(jié)合說(shuō)明書(shū)附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。如圖1、圖2、圖3、圖4、圖5所示,本發(fā)明的冷凝器管口圖像的平面質(zhì)心定位方法, 包括以下步驟1、對(duì)攝像機(jī)進(jìn)行標(biāo)定,以消除攝像機(jī)鏡頭的畸變對(duì)所攝圖像的影響(參見(jiàn)文獻(xiàn) IEEETrans "A self-calibration technique for active vision system,,馬頌德白勺基于兩組三正交運(yùn)動(dòng)的線性方法和《學(xué)習(xí)0penCV(中文版)》”)1. 1劃分冷凝器管板待清洗區(qū)域,用固定激光束在區(qū)域四角標(biāo)識(shí)出標(biāo)定點(diǎn)Ρ”Ρ2、Ρ3 和P4。控制機(jī)器人手眼機(jī)構(gòu)(攝像機(jī)安裝于機(jī)器人末端執(zhí)行器上方,相當(dāng)于“眼在手上”, 一起構(gòu)成“機(jī)器人手眼機(jī)構(gòu)”)使攝像機(jī)做六次純平移運(yùn)動(dòng)并在每次運(yùn)動(dòng)前后拍攝圖像。分別沿機(jī)器人坐標(biāo)系O-XJJ^的\、Yr和L三個(gè)正交方向作平移運(yùn)動(dòng),從運(yùn)動(dòng)控制器獲得機(jī)器人手眼機(jī)構(gòu)在機(jī)器人坐標(biāo)系下的平移運(yùn)動(dòng)量A^1、4^和^,每次運(yùn)動(dòng)時(shí)找出運(yùn)動(dòng)前點(diǎn)P1 在運(yùn)動(dòng)前所攝圖像I1中的投影點(diǎn)P11和運(yùn)動(dòng)后點(diǎn)P1在運(yùn)動(dòng)后所攝圖像I2中的投影點(diǎn)P12, 在I1內(nèi)找出坐標(biāo)值等于P12在圖像I2內(nèi)坐標(biāo)的對(duì)應(yīng)點(diǎn)P12’,畫(huà)出P12’與P11兩點(diǎn)間的連線 P11P12’,同理,可得連線P21P22’、P31P32’和P41P42’,每次純平移運(yùn)動(dòng)所得任意二條連線交于同一交點(diǎn),運(yùn)動(dòng)前攝像頭的光心到所述交點(diǎn)的矢量方向?yàn)閿z像機(jī)運(yùn)動(dòng)方向,根據(jù)所述三個(gè)運(yùn)動(dòng)方向可以得到兩個(gè)三元線性方程,從而求出末端執(zhí)行器在攝像機(jī)坐標(biāo)系下的三次平移運(yùn)動(dòng)方向0^.(/ = 1, 。1. 2為獲得唯一解,控制攝像機(jī)沿另外三個(gè)正交方向^、4^2和=2作三次平移運(yùn)動(dòng),采用上述方法再得到另三次平移運(yùn)動(dòng)方向0^.(,_ = 4,5,6),得到另兩個(gè)三元線性方程,解出攝像機(jī)內(nèi)參數(shù)矩陣A。1. 3輸入圖像并調(diào)用OpenCV庫(kù)中的攝像機(jī)標(biāo)定函數(shù)cvCalibarateCamera2()處理后,得到畸變系數(shù),函數(shù)cvCalibarateCamerd ()根據(jù)冷凝器待清洗區(qū)域的4個(gè)角點(diǎn)在多幅圖像上的物理坐標(biāo),及4個(gè)角點(diǎn)的像素坐標(biāo),從而解出攝像機(jī)外參數(shù)矩陣R和T,徑向畸變參數(shù)Ic1A2和切向畸變參數(shù)Pi、P2。根據(jù)所得的內(nèi)外參數(shù)和畸變參數(shù)建立攝像機(jī)圖像像素坐標(biāo)與對(duì)應(yīng)的空間點(diǎn)坐標(biāo)之間的幾何關(guān)系,將圖像標(biāo)識(shí)點(diǎn)被映射后的χ和y值傳遞給OpenCV庫(kù)中用于校正(糾正失真)標(biāo)定圖像的函數(shù)cvRemapO,實(shí)現(xiàn)在2D圖像平面空間計(jì)算反饋偏差,矯正畸變效應(yīng),將機(jī)器人視場(chǎng)中的管板平面映射為鳥(niǎo)瞰圖。2、控制機(jī)器人手眼機(jī)構(gòu)沿?cái)z像機(jī)的光軸運(yùn)動(dòng),連續(xù)拍攝待清洗管板區(qū)域的灰度鳥(niǎo)瞰圖,在其中選擇清晰的圖像進(jìn)行預(yù)處理,得到多個(gè)管口和背景呈“黑白”對(duì)照的二值圖像, 待清洗管板區(qū)域中的管口呈橫縱錯(cuò)列式分布;其中,如圖3、圖6所示,圖像預(yù)處理具體包括以下步驟2. 1對(duì)灰度鳥(niǎo)瞰圖像進(jìn)行自適應(yīng)中值濾波和直方圖均衡化,以去除較大孤立點(diǎn)噪聲并提高對(duì)比度;2. 1. 1如圖6(a)所示,灰度鳥(niǎo)瞰圖像中,目標(biāo)管口區(qū)域以橫縱錯(cuò)列方式分布,呈類圓形且灰度較大,背景噪聲明顯,采用自適應(yīng)中值濾波,對(duì)較大孤立點(diǎn)噪聲可有效濾除,同時(shí)不出現(xiàn)明顯的模糊和失真,結(jié)果如圖6(b)所示。2. 1. 2攝像機(jī)和圖像傳感器負(fù)責(zé)處理視場(chǎng)的對(duì)比度,將視場(chǎng)的光線在圖像中曝光。 雖然圖像傳感器在捕獲的黑暗區(qū)域曝光時(shí)間較長(zhǎng),在明亮區(qū)域曝光時(shí)間較短,但仍可能發(fā)生非光源直射的黑暗區(qū)域曝光不足、光源直射的明亮區(qū)域曝光過(guò)飽和的現(xiàn)象。為擴(kuò)大圖像的動(dòng)態(tài)范圍,可以利用直方圖均衡化拉伸亮度范圍,使直方圖中灰度級(jí)平均值高于原始值, 平均亮度增強(qiáng),直方圖在整個(gè)亮度標(biāo)度上顯著擴(kuò)展,增強(qiáng)對(duì)比度。2. 2對(duì)圖像進(jìn)行自適應(yīng)閾值處理假設(shè)隨機(jī)像素只屬于目標(biāo)管口區(qū)域或者背景區(qū)域,求取圖像灰度級(jí)的離散概率密度函數(shù)的歸一化直方圖,再采用Otsu法選擇最大化類間方差σ〗的閾值,并將該閾值縮放到合適的范圍,使用縮放后的閾值對(duì)完成步驟(2. 1)后的圖像做全局閾值處理,處理結(jié)果如圖6(c)所示;2. 3對(duì)圖像進(jìn)行形態(tài)學(xué)處理由于照明不均勻,全局閾值處理后,圖像的管口邊界不平滑,有不完整的管口,背景區(qū)域還存在噪聲,需要進(jìn)行圖像補(bǔ)償,可以運(yùn)用連續(xù)的開(kāi)閉運(yùn)算改善這種情況。開(kāi)運(yùn)算可使管口區(qū)域的輪廓變光滑,消除細(xì)小“毛刺”并使狹窄間斷斷開(kāi);閉運(yùn)算可使輪廓更光滑,并消除細(xì)長(zhǎng)的鴻溝和狹窄的間斷,填補(bǔ)輪廓線中的斷裂。如圖 6(d)、(e)所示,假設(shè)待處理圖像像素集合為F,全局閾值處理后的圖像像素集合為A,采用公式(1)對(duì)圖像進(jìn)行處理廠=<^ (義05)=(((義 5) 5) <^) <^公式(1)使用結(jié)構(gòu)元素B對(duì)集合A開(kāi)操作即用B對(duì)A先腐蝕,再用B對(duì)腐蝕結(jié)果膨脹;使用結(jié)果元素C對(duì)(AoB)后的結(jié)果進(jìn)行閉操作即用C對(duì)(AoB)先膨脹,再用C對(duì)膨脹結(jié)果進(jìn)行腐蝕;公式(1)中,B為結(jié)構(gòu)元素,本實(shí)例中,B為一個(gè)5X5且值為O的矩陣,C為結(jié)果元素,本實(shí)例中,C為一個(gè)18X 18且值為O的圓盤(pán)。3、如圖1、圖7所示,繪制列像素灰度值累加和曲線S1和行像素灰度值累加和曲線 &,計(jì)算得到一質(zhì)心粗略坐標(biāo)集合3. 1如圖7(a)所示,假設(shè)圖像矩陣大小為mXn,其中m表示圖像高度,η表示圖像寬度。按“列掃描”二值圖像中每列的像素灰度值之和,并投影到Y(jié)坐標(biāo)軸,用ysl表示。 繪制成列像素灰度值累加和曲線S1 ;如圖7(c)所示,其中S1橫坐標(biāo)j表示列數(shù),且j = 1, 2,…,n,可以發(fā)現(xiàn)縱向排列的“黑色”管口區(qū)域?qū)?yīng)于S1的“列波谷”;“全白色”背景所在列的像素灰度值之和為最大max(ysl)(本實(shí)施例中,max(ysl)等于圖像高度);各縱列管口質(zhì)心附近的列像素灰度值之和達(dá)到局部極小值min(Ysl) ( S卩“列谷底”);縱向排列的管口個(gè)數(shù)一致,各個(gè)“列谷底值”大致相等。3. 2按“行掃描” 二值圖像中每行的像素灰度值之和,并投影到X坐標(biāo)軸,用&表示,繪制成行像素灰度值累加和曲線& ;如圖7(b)所示,&中縱坐標(biāo)i表示行數(shù),且i = 1, 2,…,m,可以發(fā)現(xiàn)橫向排列的“黑色”管口區(qū)域?qū)?yīng)于&中的“行波谷”;“全白色”背景所在行的像素灰度值之和為最大maX(Xs2)(本實(shí)施例中,max(xs2)等于圖像寬度);“行掃描” 管口質(zhì)心附近的行像素灰度值之和達(dá)到局部極小值min(Xs2)(即“行谷底值”);橫向排列的管口個(gè)數(shù)越多,相應(yīng)“行波谷”的“行谷底值”越小;管口個(gè)數(shù)越少,相應(yīng)“行波谷”的“行谷底值”越大。3. 3統(tǒng)計(jì)S1中共N個(gè)“列波谷”處的局部極小值點(diǎn)集的橫坐標(biāo),存入各列管口的質(zhì)心粗略橫坐標(biāo)向量COL(j);統(tǒng)計(jì)&中共M個(gè)“行波谷”處的局部極小值點(diǎn)集的縱坐標(biāo),存入各行管口質(zhì)心粗略縱坐標(biāo)向量ROW(i);取局部極小值點(diǎn)時(shí),一般取一個(gè)“列波谷”或“行波谷”的谷底的一段曲線,將該段曲線上所有點(diǎn)的坐標(biāo)的均值作為相應(yīng)的局部極小值。計(jì)算方法如下,設(shè)一個(gè)“列波谷”谷底處曲線段上的點(diǎn)集的橫坐標(biāo)向量為Xsl(P),其中ρ = 1,2,…, N;設(shè)一個(gè)“行波谷”谷底處曲線段上的點(diǎn)集的縱坐標(biāo)向量為Ys2 (q),其中q= 1,2,…,M ; 則Xsl (ρ)、Ys2 (q)的計(jì)算公式如下所示Xsl (ρ) = [jr+1,jr+2. · ·,jr+w]p公式 O)Ys2 (q) = [it+1,it+2,... , it+v]q 公式(3)設(shè)縱坐標(biāo)等于局部極小值min ysl (ρ)處曲線段的起始點(diǎn),其橫坐標(biāo)為j,+1,下標(biāo) r+Ι表示從第r+Ι列開(kāi)始,縱坐標(biāo)值等于該“列波谷”局部極小值min ysl (ρ),公式(2)表示將min ysl(p)處谷底的一段曲線上的點(diǎn)對(duì)應(yīng)的所有橫坐標(biāo)九+1、九+2··· 順次存入“列波谷”橫坐標(biāo)向量)(sl(P)。設(shè)橫坐標(biāo)等于局部極小值min Xs2 (q)處曲線段的起始點(diǎn),其縱坐標(biāo)為it+1,下標(biāo)t+Ι表示從第t+Ι行開(kāi)始,橫坐標(biāo)值等于該“行波谷”局部極小值min xs2(q),v 為橫坐標(biāo)等于min Xs2 (q)處曲線段上的所有點(diǎn)的個(gè)數(shù),曲線&第t+1、t+2··· t+v行的橫坐標(biāo)值均為該“行波谷”的局部極小值min )(s2(q),公式(3)表示將min Xs2 (q)處谷底的一段曲線上的點(diǎn)對(duì)應(yīng)的所有縱坐標(biāo)存入“行波谷”縱坐標(biāo)向量Ys2 (q)。3.4質(zhì)心粗略橫坐標(biāo)0)1^)取向量Xsl(P)的中值,質(zhì)心粗略縱坐標(biāo)
ROW⑴取向量Ys2(q)的中值+^t+v,組成MXN個(gè)坐標(biāo)對(duì)(COL(j), ROW⑴),如圖7(d)所示,即所有可能的質(zhì)心粗略坐標(biāo)集合。
MxN4、由于管口呈錯(cuò)列式分布(隔一個(gè)空位有一個(gè)管口),真正管口數(shù)目實(shí)際為γ ^
需要判斷坐標(biāo)對(duì)(COL(j),ROW(i))是在管口區(qū)域還是位于背景區(qū)域,位于背景區(qū)域的坐標(biāo)對(duì)(C0L(j),R0W(i))不是真正的目標(biāo)管口質(zhì)心,應(yīng)作為偽質(zhì)心予以剔除。假設(shè)圖像閾值化后,管口區(qū)域像素灰度值為“0”,背景區(qū)域像素灰度值為“1”,按列依次計(jì)算坐標(biāo)對(duì)(C0L(j),R0W(i))處的像素灰度值,值為“1”說(shuō)明是位于背景區(qū)域的偽質(zhì)心,如圖7(a)中“☆”號(hào)所示,不保留其坐標(biāo)值;像素灰度值為“0”的點(diǎn),取其橫坐標(biāo)值COL(j)存入向量CENTER_X(k),縱坐標(biāo)值R0W(i)存入向量CENTER_Y(k),得到各行及各列管口質(zhì)心的粗略二維坐標(biāo)集合(CENTER_X(k),CENTER_Y(k)),其中k為管口序號(hào)且 k=l,2,···,;完成多目標(biāo)的質(zhì)心粗略定位。完成多目標(biāo)的質(zhì)心粗略定位后,進(jìn)行分類質(zhì)心精確定位,包括以下步驟4. 1在二值圖像中繪制k個(gè)分別包圍圖像中的k個(gè)管口的矩形框,鎖定管口區(qū)域;以多個(gè)目標(biāo)管口的粗略質(zhì)心坐標(biāo)為基準(zhǔn)可以繪制包含管口區(qū)域的外包矩形,這一點(diǎn)是基于圖像區(qū)域分割的思想將圖像中有意義的特征區(qū)域或者需要應(yīng)用的特征區(qū)域提取出來(lái),可以是像素的灰度值、物體輪廓曲線、紋理特征、空間頻譜或直方圖。本步驟可自動(dòng)識(shí)別圖像內(nèi)的每個(gè)目標(biāo)管口區(qū)域并精確定位其質(zhì)心。4. 1. 1如圖4所示,根據(jù)各列像素灰度值之和曲線S1中“波谷”縱坐標(biāo)隨橫坐標(biāo)的增加滿足“先單調(diào)遞減,后單調(diào)遞增”的規(guī)律,求取直線ysl = m與曲線S1中的每個(gè)“列波谷”的交點(diǎn),其中m為圖像高度,獲得每個(gè)“列波谷”的下降側(cè)的起始端點(diǎn)(x_left)p和上升側(cè)的終止端點(diǎn)(x_right)pJf各“列波谷”的兩端點(diǎn)橫坐標(biāo)間的區(qū)間長(zhǎng)度作為圖像中各縱列管口的最大橫軸徑長(zhǎng),存入最大橫軸徑長(zhǎng)向量max (D_a),其中,第ρ列管口的最大橫軸徑長(zhǎng)為 max (D_a)p,艮口max (D_a)p = (x_right)p-(x_left)p, ρ = 1,2,· · .,N 公式根據(jù)各行像素灰度值之和曲線&中“波谷”橫坐標(biāo)隨縱坐標(biāo)的增加滿足“先單調(diào)遞減,后單調(diào)遞增”的規(guī)律,求取直線^ = η與曲線&中的各“行波谷”的交點(diǎn),其中η為圖像寬度,獲得每個(gè)“行波谷”的下降側(cè)的起始端點(diǎn)(y_d0Wn) q和上升側(cè)的終止端點(diǎn)(y_up) q ;將各“行波谷”的兩端點(diǎn)縱坐標(biāo)之間的區(qū)間長(zhǎng)度作為圖像中各橫排管口的最大縱軸徑長(zhǎng), 存入最大縱軸徑長(zhǎng)向量max (D_b),其中,第q排管口的最大縱軸徑長(zhǎng)為max (D_b),,即max (D_b) q = (y_up)q-(y_down)q, q = 1,2,· · ·,M 公式(5)4. 1.2根據(jù)得到的最大橫軸徑長(zhǎng)向量maX(D_a),并選定一疊加裕量θ (疊加裕量 θ的取值范圍為0. 03 0. 07),采用下式Max_D_a = Max {max (D_a) p | ρ = 1,2,· · ·,N} 公式(6)rect_width = (1+ θ )Max_D_a公式(7)計(jì)算得到管口圖像的外包矩形框的寬度基準(zhǔn)值rectjidth,其中,Max_D_a為第1 列至第N列縱列管口的最大橫軸徑長(zhǎng);根據(jù)得到的最大縱軸徑長(zhǎng)向量max (D_b),并選定一疊加裕量σ (疊加裕量σ的取值范圍為0. 03 0. 07),采用下式Max_D_b = Max {max (D_b) Jq= 1,2, . . . , Μ}公式(8)rect_height = (l+σ )Max_D_b公式(9)計(jì)算得到管口圖像的外包矩形框的高度基準(zhǔn)值reCt_height,其中,Max_D_b為第 1行至第M行橫排管口的最大縱軸徑長(zhǎng);4. 1. 3如圖7 (d)所示,從圖像左上角第一個(gè)管口起直至右下角最后一個(gè)管口,以
粗略二維坐標(biāo)集合(CENTER_X(k),CENTER_Y(k))中的坐標(biāo)點(diǎn)為中心,分別繪制以rect_
width為寬度、rect_height為高度的矩形框,按序包圍第1 第k個(gè)目標(biāo)管口,鎖定管口區(qū)
MxN
域。經(jīng)過(guò)區(qū)域分割后,計(jì)算量從整幅圖像像素?cái)?shù)減少為計(jì)算包含^^管口區(qū)域的矩形框
所占像素?cái)?shù),該處理可以提高目標(biāo)精確定位的時(shí)間效率,并降低目標(biāo)管口誤檢率。
4. 2 設(shè)numberl,number2,number3 e, number 1 < number2 < number3 < L,其中L為二值圖像中可能的最大管口數(shù);另設(shè),實(shí)際工況操作下的定位要求相對(duì)于區(qū)域均值精確定位質(zhì)心方法允許的最大質(zhì)心定位誤差率為α。當(dāng)L為10 15 時(shí),number 1取3,number2取6 8,number3取10 15。能達(dá)到定位誤差率δ < α,滿足要求。4.2. 1如圖5所示,當(dāng)二值圖像中管口數(shù)量—Ε (0,numberl]時(shí),采用邊界取樣
鏈碼模塊在矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即對(duì)管口區(qū)域邊界進(jìn)行網(wǎng)格二次取樣,確定管口的邊界鏈碼,求取邊界鏈碼的近似多邊形的頂點(diǎn)的數(shù)目、橫坐標(biāo)累加和以及縱坐標(biāo)累加和,計(jì)算相應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo);4. 2. 1. 1從二值圖像中的左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)(reCt_leftup_X(k),rect_leftup_y(k))為起點(diǎn),按行列掃描方式遍歷矩形框, 判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟4. 2. 1. 2 ;否則,轉(zhuǎn)步驟4. 2.1.3;4. 2. 1. 2跳到下一個(gè)矩形框,即令k = k+Ι,如果矩形框序號(hào)大于總矩形框數(shù),即 MxN
,—,轉(zhuǎn)步驟4. 2. 1. 4 ;否則,轉(zhuǎn)步驟4. 2. 1.3 ; k> 24. 2. 1. 3提取第k個(gè)管口的邊界,選擇間隔合適的網(wǎng)格對(duì)邊界二次取樣,網(wǎng)格線與邊界的交點(diǎn)作為二次取樣點(diǎn),按順時(shí)針?lè)绞接?方向鏈碼對(duì)二次取樣點(diǎn)進(jìn)行編碼(為避免在不同方向采樣生成的邊界形狀不同以及減小圖像分辨率對(duì)邊界差異帶來(lái)的比例影響,將二次取樣網(wǎng)格的方向定為邊界的主軸方向(如圖9(a)中,從黑點(diǎn)處起始的箭頭方向所示), 取樣點(diǎn)坐標(biāo)順序存入二維數(shù)組,計(jì)算當(dāng)前管口邊界的二次取樣點(diǎn)的橫坐標(biāo)累加和subSam_ x(k)與縱坐標(biāo)累加和SUbSam_y(k),根據(jù)取樣點(diǎn)數(shù)gn_SUbSam(k)計(jì)算相應(yīng)的算術(shù)平均值, 即得第k個(gè)管口的質(zhì)心精確坐標(biāo)(subsam_x (k),subsam_y (k)),轉(zhuǎn)步驟4. 2.1.2;4.2. 1.4將各個(gè)邊界取樣點(diǎn)的坐標(biāo)單元數(shù)組進(jìn)行連接,按列依次輸出管口質(zhì)心的一 MxN
坐標(biāo)(subsam_x(k), subsam_y (k)),其中,k=l’ 2’ …’ ~-~ ;4.2. 1.5當(dāng)前模塊結(jié)束。因求取鏈碼需要較大間隔的網(wǎng)格取樣,對(duì)于圖像中管口數(shù)目較多的情況,因取樣邊界點(diǎn)數(shù)少,近似多邊形與原始管口邊界形狀差異較為明顯,質(zhì)心定位誤差較大,主要用于管口較少的圖像分析。網(wǎng)格大小的選取依賴于圖像分辨率以及邊界的平滑程度,一般選取圖像大小的10% -20%為宜。4. 2. 2如圖5所示,當(dāng)二值圖像中管口數(shù)量—e (numberl, numbed]時(shí),采用直
接提取邊界模塊在矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即提取管口區(qū)域邊界,分別求取邊界點(diǎn)橫坐標(biāo)的累加和與縱坐標(biāo)的累加和,計(jì)算對(duì)應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo);4. 2. 2. 1從二值圖像中的左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)(rect_leftup_x(k),rect_leftup_y (k))為起點(diǎn),其中,rect_leftup_x(k)= CENTER_X(k)0. 5*rect_width,rect_leftup_y(k) = CENTER_y(k)0. 5*rect_height ;按行列掃描方式遍歷矩形框,判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟4. 2. 2. 2 ;否則,轉(zhuǎn)步驟 4. 2. 2. 3 ;
權(quán)利要求
1.一種冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述方法包括以下步驟(1)對(duì)攝像機(jī)進(jìn)行標(biāo)定;(2)控制機(jī)器人手眼機(jī)構(gòu)沿?cái)z像機(jī)的光軸運(yùn)動(dòng),連續(xù)拍攝待清洗管板區(qū)域的灰度鳥(niǎo)瞰圖,在其中選擇清晰的圖像進(jìn)行預(yù)處理,得到多個(gè)管口和背景呈“黑白”對(duì)照的二值圖像,所述待清洗管板區(qū)域中的管口呈橫縱錯(cuò)列式分布;(3)按“列掃描”所述二值圖像中每列的像素灰度值之和,并投影到Y(jié)坐標(biāo)軸,繪制成列像素灰度值累加和曲線S1 ;統(tǒng)計(jì)S1中共N個(gè)“列波谷”谷底處的局部極小值點(diǎn)集的橫坐標(biāo), 存入各列管口的質(zhì)心粗略橫坐標(biāo)向量COL(j);按“行掃描”所述二值圖像中每行的像素灰度值之和,并投影到X坐標(biāo)軸,繪制成行像素灰度值累加和曲線& ;統(tǒng)計(jì)&中共M個(gè)“行波谷”谷底處的局部極小值點(diǎn)集的縱坐標(biāo),存入各行管口質(zhì)心粗略縱坐標(biāo)向量ROW(i);得到所有可能的質(zhì)心粗略坐標(biāo)對(duì)集合(C0L(j),R0W(i));(4)剔除所述(COL(j),R0ff(i))中位于背景區(qū)域的偽質(zhì)心,得到各行及各列管口質(zhì)心的粗略二維坐標(biāo)集合(CENTER_X(k),CENTER_Y(k)),其中k為管口序號(hào)且k=l,2,…,^;完成多目標(biāo)的質(zhì)心粗略定位。
2.根據(jù)權(quán)利要求1所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述對(duì)攝像機(jī)進(jìn)行標(biāo)定,具體包括以下步驟預(yù)先在待清洗管板區(qū)域內(nèi)用固定激光束標(biāo)識(shí)出二個(gè)以上標(biāo)定點(diǎn),控制機(jī)器人手眼機(jī)構(gòu)使攝像機(jī)做六次純平移運(yùn)動(dòng)并在每次運(yùn)動(dòng)前后拍攝圖像,前三次的運(yùn)動(dòng)方向互相垂直,后三次的運(yùn)動(dòng)方向互相垂直,找出每次標(biāo)定點(diǎn)在運(yùn)動(dòng)前圖像中的投影點(diǎn)和在運(yùn)動(dòng)后圖像中的投影點(diǎn),并根據(jù)標(biāo)定點(diǎn)在運(yùn)動(dòng)后圖像中的投影點(diǎn)的位置坐標(biāo),在運(yùn)動(dòng)前圖像中找出相同位置坐標(biāo)的對(duì)應(yīng)點(diǎn),在運(yùn)動(dòng)前圖像中畫(huà)出運(yùn)動(dòng)前投影點(diǎn)與所述對(duì)應(yīng)點(diǎn)的連線;攝像機(jī)每次純平移運(yùn)動(dòng)時(shí)根據(jù)所述二個(gè)以上標(biāo)定點(diǎn)所得的二條以上連線交于同一交點(diǎn),運(yùn)動(dòng)前攝像頭的光心到所述交點(diǎn)的矢量方向?yàn)閿z像機(jī)運(yùn)動(dòng)方向,得到攝像機(jī)六次純平移運(yùn)動(dòng)的六個(gè)運(yùn)動(dòng)方向,解出攝像機(jī)內(nèi)外參數(shù)和畸變參數(shù);根據(jù)所述內(nèi)外參數(shù)和畸變參數(shù)建立攝像機(jī)圖像像素坐標(biāo)與對(duì)應(yīng)的空間點(diǎn)坐標(biāo)之間的幾何關(guān)系,從而在拍攝圖像時(shí)在2D圖像平面空間內(nèi)根據(jù)所述幾何關(guān)系補(bǔ)償反饋偏差,矯正畸變。
3.根據(jù)權(quán)利要求1所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述預(yù)處理具體包括以下步驟(2. 1)對(duì)所述灰度鳥(niǎo)瞰圖像進(jìn)行自適應(yīng)中值濾波和直方圖均衡化,以去除較大孤立點(diǎn)噪聲并提高對(duì)比度;(2. 2)對(duì)圖像進(jìn)行自適應(yīng)閾值處理假設(shè)隨機(jī)像素只屬于目標(biāo)管口區(qū)域或者背景區(qū)域,求取圖像灰度級(jí)的離散概率密度函數(shù)的歸一化直方圖,再采用Otsu法選擇最大化類間方差σ〗的閾值,并將該閾值縮放到合適的范圍,使用縮放后的閾值對(duì)完成步驟(2. 1)后的圖像做全局閾值處理;(2. 3)對(duì)圖像進(jìn)行形態(tài)學(xué)處理假設(shè)待處理圖像像素集合為F,全局閾值處理后的圖像像素集合為Α,采用公式(1)對(duì)圖像進(jìn)行處理==十5)十公式(1)使用結(jié)構(gòu)元素B對(duì)集合A開(kāi)操作即用B對(duì)A先腐蝕,再用B對(duì)所述腐蝕結(jié)果膨脹;使用結(jié)果元素C對(duì)(AoB)后的結(jié)果進(jìn)行閉操作即用C對(duì)(AoB)先膨脹,再用C對(duì)膨脹結(jié)果進(jìn)行腐蝕;公式(1)中,所述B為結(jié)構(gòu)元素,所述C為結(jié)果元素。
4.根據(jù)權(quán)利要求1或2或3所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于, 所述完成多目標(biāo)的質(zhì)心粗略定位后,進(jìn)行分類質(zhì)心精確定位,包括以下步驟(4. 1)在所述二值圖像中繪制k個(gè)分別包圍所述圖像中的k個(gè)管口的矩形框,鎖定管口區(qū)域;(4. 2)設(shè) numberl, number2, number3 e ^(N+ 為正整數(shù)集合),且 number 1 < number2 < number3 < L,其中L為二值圖像中可能的最大管口數(shù);(4.2.1)當(dāng)所述二值圖像中管口數(shù)量^曰(0,numberl]時(shí),采用邊界取樣鏈碼模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即對(duì)所述管口區(qū)域邊界進(jìn)行網(wǎng)格二次取樣,確定管口的邊界鏈碼,求取邊界鏈碼的近似多邊形的頂點(diǎn)的數(shù)目、橫坐標(biāo)累加和以及縱坐標(biāo)累加和,計(jì)算相應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo);(4.2.2)當(dāng)所述二值圖像中管口數(shù)量¥e(numberl,numbed]時(shí),采用直接提取邊界模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即提取管口區(qū)域邊界,分別求取邊界點(diǎn)橫坐標(biāo)的累加和與縱坐標(biāo)的累加和,計(jì)算對(duì)應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo);(4.2.3)當(dāng)所述二值圖像中管口數(shù)量(numbed,numberf]時(shí),采用區(qū)域均值精確定位模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,即分別求取管口所在區(qū)域點(diǎn)的橫坐標(biāo)累加和縱坐標(biāo)累加和,求取對(duì)應(yīng)的算術(shù)平均值,作為管口的質(zhì)心精確坐標(biāo)。
5.根據(jù)權(quán)利要求4所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述L為 10 15,所述 numberl 為 3,所述 number2 為 6 8,number3 為 10 15。
6.根據(jù)權(quán)利要求4所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述步驟(4. 1)具體包括以下步驟(4. 1. 1)求取直線ysl = m與曲線S1中的每個(gè)“列波谷”的交點(diǎn),其中m為圖像高度, 獲得每個(gè)“列波谷”的下降側(cè)的起始端點(diǎn)(x_left)p和上升側(cè)的終止端點(diǎn)(x_right)p ;將各 “列波谷”的兩端點(diǎn)橫坐標(biāo)間的區(qū)間長(zhǎng)度作為圖像中各縱列管口的最大橫軸徑長(zhǎng),存入最大橫軸徑長(zhǎng)向量max (D_a),其中,第ρ列管口的最大橫軸徑長(zhǎng)為maX(D_a)p,即 max (D_a)p = (x_right)p- (x_left)p, ρ = 1,2,...,N 公式求取直線^ = η與曲線&中的各“行波谷”的交點(diǎn),其中η為圖像寬度,獲得每個(gè)“行波谷”的下降側(cè)的起始端點(diǎn)(y—down),和上升側(cè)的終止端點(diǎn)(y^p),;將各“行波谷”的兩端點(diǎn)縱坐標(biāo)之間的區(qū)間長(zhǎng)度作為圖像中各橫排管口的最大縱軸徑長(zhǎng),存入最大縱軸徑長(zhǎng)向量 max (D_b),其中,第q排管口的最大縱軸徑長(zhǎng)為max (D_b),,即max (D_b) q = (y_up) q- (y_down) q, q = 1, 2, . . . , M公式(5)(4. 1.2)根據(jù)得到的最大橫軸徑長(zhǎng)向量max (D_a),并選定一疊加裕量θ,采用下式Max_D_a = Max {max (D_a) p | ρ = 1,2,· · ·,N}公式(6)rect_width = (1+ θ )Max_D_a公式(7)計(jì)算得到管口圖像的外包矩形框的寬度基準(zhǔn)值rect_Width,其中,Max_D_a為第1列至第N列縱列管口的最大橫軸徑長(zhǎng);根據(jù)得到的最大縱軸徑長(zhǎng)向量max (D_b),并選定一疊加裕量σ,采用下式 Max_D_b = Max {max (D_b) Jq= 1,2,...,Μ}公式(8)rect_height = (l+σ )Max_D_b公式(9)計(jì)算得到管口圖像的外包矩形框的高度基準(zhǔn)值reCt_height,其中,Max_D_b為第1行至第M行橫排管口的最大縱軸徑長(zhǎng);(4. 1. 3)從圖像左上角第一個(gè)管口起直至右下角最后一個(gè)管口,以粗略二維坐標(biāo)集合 (CENTER_X(k),CENTER_Y(k))中的坐標(biāo)點(diǎn)為中心,分別繪制以rect_width為寬度、rect_ height為高度的矩形框,按序包圍第1 第k個(gè)目標(biāo)管口,鎖定管口區(qū)域。
7.根據(jù)權(quán)利要求6所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述疊加裕量θ的取值范圍為0.03 0.07,所述疊加裕量σ的取值范圍為0.03 0.07。
8.根據(jù)權(quán)利要求4所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述采用邊界取樣鏈碼模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,具體包括以下步驟(4. 2. 1. 1)從所述二值圖像中的左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)為起點(diǎn),按行列掃描方式遍歷矩形框,判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟(4. 2. 1. 2);否則,轉(zhuǎn)步驟(4. 2. 1. 3);(4. 2. 1. 2)跳到下一個(gè)矩形框,即令k = k+Ι,如果矩形框序號(hào)大于總矩形框數(shù),BPk> MxN^^,轉(zhuǎn)步驟(4. 2. 1. 4);否則,轉(zhuǎn)步驟(4. 2. 1. 3);(4. 2. 1.3)提取第k個(gè)管口的邊界,選擇間隔合適的網(wǎng)格對(duì)邊界二次取樣,網(wǎng)格線與邊界的交點(diǎn)作為二次取樣點(diǎn),按順時(shí)針?lè)绞接?方向鏈碼對(duì)二次取樣點(diǎn)進(jìn)行編碼并存儲(chǔ),計(jì)算當(dāng)前管口邊界的二次取樣點(diǎn)的橫坐標(biāo)累加和與縱坐標(biāo)累加和,根據(jù)取樣點(diǎn)數(shù)目計(jì)算相應(yīng)的算術(shù)平均值,即得所述第k個(gè)管口的質(zhì)心精確坐標(biāo),轉(zhuǎn)步驟(4. 2. 1. 2); (4. 2. 1. 4)輸出所述質(zhì)心精確坐標(biāo)并結(jié)束。
9.根據(jù)權(quán)利要求4所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述采用直接提取邊界模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,具體包括以下步驟(4. 2. 2. 1)從所述二值圖像中的左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)為起點(diǎn),按行列掃描方式遍歷矩形框,判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟(4. 2. 2. 2);否則,轉(zhuǎn)步驟(4. 2. 2. 3);(4. 2. 2. 2)跳到下一個(gè)矩形框,即令k = k+Ι,如果矩形框序號(hào)大于總矩形框數(shù),BPk> MxN^^,轉(zhuǎn)步驟(4. 2. 2. 4);否則,轉(zhuǎn)步驟(4. 2. 2. 3);(4. 2. 2. 3)提取第k個(gè)管口的邊界并存儲(chǔ)各邊界點(diǎn)的坐標(biāo),分別計(jì)算邊界點(diǎn)的橫坐標(biāo)的累加和與縱坐標(biāo)的累加和,計(jì)算相應(yīng)的算術(shù)平均值,即得所述第k個(gè)管口的質(zhì)心精確坐標(biāo),轉(zhuǎn)步驟(4.2.2.2);(4. 2. 2. 4)輸出所述質(zhì)心精確坐標(biāo)并結(jié)束。
10.根據(jù)權(quán)利要求4所述的冷凝器管口圖像的平面質(zhì)心定位方法,其特征在于,所述采用區(qū)域均值精確定位模塊在所述矩形框范圍內(nèi)進(jìn)行管口識(shí)別和質(zhì)心精確定位,具體包括以下步驟(4. 2. 3. 1)從所述二值圖像中的左上方第1個(gè)矩形框開(kāi)始,即從k = 1開(kāi)始,當(dāng)前矩形框左上角點(diǎn)為起點(diǎn),按行列掃描方式遍歷矩形框,判斷如果當(dāng)前點(diǎn)超出所在矩形框范圍,轉(zhuǎn)步驟(4. 2. 3. 2);否則,轉(zhuǎn)步驟(4. 2. 3. 3);(4. 2. 3. 2)跳到下一個(gè)矩形框,即令k = k+Ι,如果矩形框序號(hào)大于總矩形框數(shù),BPk> MxN^^,轉(zhuǎn)步驟(4. 2. 3. 4);否則,轉(zhuǎn)步驟(4. 2. 3. 3);(4. 2. 3. 3)計(jì)算第k個(gè)管口區(qū)域像素個(gè)數(shù),分別求出管口像素橫坐標(biāo)累加和與縱坐標(biāo)累加和,計(jì)算相應(yīng)的算術(shù)平均值,即得所述第k個(gè)管口的質(zhì)心精確坐標(biāo),轉(zhuǎn)步驟G.2.3.2); (4. 2. 3. 4)輸出所述質(zhì)心精確坐標(biāo)并結(jié)束。
全文摘要
本發(fā)明公開(kāi)了一種冷凝器管口圖像的平面質(zhì)心定位方法,包括步驟(1)對(duì)攝像機(jī)進(jìn)行標(biāo)定;(2)控制機(jī)器人手眼機(jī)構(gòu)沿?cái)z像機(jī)的光軸運(yùn)動(dòng),連續(xù)拍攝待清洗管板區(qū)域的灰度鳥(niǎo)瞰圖,在其中選擇清晰的圖像進(jìn)行預(yù)處理,得到多個(gè)管口和背景呈“黑白”對(duì)照的二值圖像,待清洗管板區(qū)域中的管口呈橫縱錯(cuò)列式分布;(3)繪制列像素灰度值累加和曲線S1和行像素灰度值累加和曲線S2;統(tǒng)計(jì)S1中“列波谷”處的局部極小值點(diǎn)集的橫坐標(biāo)以及S2中“行波谷”處的局部極小值點(diǎn)集的縱坐標(biāo),得到一質(zhì)心粗略坐標(biāo)集合;(4)剔除偽質(zhì)心,完成多目標(biāo)的質(zhì)心粗略定位。本發(fā)明具有精度高、計(jì)算量小的優(yōu)點(diǎn)。
文檔編號(hào)G06T7/00GK102289824SQ20111018806
公開(kāi)日2011年12月21日 申請(qǐng)日期2011年7月6日 優(yōu)先權(quán)日2011年7月6日
發(fā)明者喬豫川, 劉理, 劉暢, 盧笑, 周金麗, 張耀, 朱慧慧, 朱江, 王耀南 申請(qǐng)人:湖南大學(xué)