<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于線陣CCD掃描的測(cè)量技術(shù)

          基于線陣CCD掃描的測(cè)量技術(shù)

          作者: 時(shí)間:2009-12-10 來源:網(wǎng)絡(luò) 收藏

          3 圖像處理算法
          通過以上分析,對(duì)系統(tǒng)的運(yùn)動(dòng)工作臺(tái)的行進(jìn)速度進(jìn)行嚴(yán)格控制,使之與相機(jī)的掃描速度達(dá)到很好的同步效果,實(shí)際采集零件圖像如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/195610.htm

          3.1 圖像邊緣提取
          由于需布置光源,而光源隨時(shí)間會(huì)有所衰減。所以對(duì)圖像采用邊緣檢測(cè)的算法,以減小光源亮度變化對(duì)圖像檢測(cè)的影響。要得到圖像的輪廓尺寸,邊緣檢測(cè)是測(cè)量的基礎(chǔ)和關(guān)鍵。由于圖像往往含有噪聲。而邊緣和噪聲在空間域都表現(xiàn)為灰度有較大的起落,給邊緣提取帶來困難。通過仿真比較,最終采用了3*3的平滑算子和抗噪能力較強(qiáng)的sobel檢測(cè)算子,它對(duì)灰度漸變和噪聲較多的圖像處理效果較好,對(duì)邊緣定位比較準(zhǔn)確,能夠滿足我們對(duì)圖像測(cè)量的需要。由sobel算子提取被測(cè)零件的圖像邊緣如圖4(a)所示,圖像邊緣是一條細(xì)環(huán),由于圖像太大,顯示圖為33%的縮略圖,看起來間斷的地方很多,其實(shí)是連續(xù)的,大部分邊是單像素寬,左下角部分400%的顯示圖如圖4(b)所示。

          在圖4(b)中,有些地方不是單像素寬,會(huì)影響輪廓鏈接成一條鏈。由于有斷點(diǎn)的存在,為了不增加斷點(diǎn)的間隙,采用保留端點(diǎn)的細(xì)化方法,生成單像素寬的環(huán),以得到準(zhǔn)確的周長;由于噪聲的影響,有些地方還有間斷,缺口只有一兩個(gè)像素的距離,對(duì)于大于一定長度的邊緣段,根據(jù)各條邊緣段起始點(diǎn)或終止點(diǎn)之間的距離d,判斷它們之間的可連接性及需要連接的像索個(gè)數(shù)及與前一個(gè)像素的位置關(guān)系,進(jìn)行像素的最少個(gè)數(shù)插值,并由位置關(guān)系確定插值像素對(duì)周長的貢獻(xiàn)。當(dāng)像素時(shí)插入一個(gè)像素;當(dāng)像素時(shí),插入兩個(gè)像素,從而得到連續(xù)的單邊緣輪廓。
          3.2 周長法計(jì)算直徑
          計(jì)算區(qū)域的直徑有很多方法,對(duì)于標(biāo)準(zhǔn)圓形,可以采用霍夫變換或最小二乘擬合等方法。但對(duì)于非標(biāo)準(zhǔn)圓形零件,需要計(jì)算它相對(duì)于圓形的直徑,根據(jù)周長不變的特性,采用周長法計(jì)算直徑。對(duì)得到的連續(xù)單邊緣輪廓用鏈碼表示,假設(shè)像素點(diǎn)邊長為1個(gè)單位長度。
          (1)當(dāng)前像素點(diǎn)位置與前一像素點(diǎn)位置為水平關(guān)系或垂直關(guān)系時(shí)(左、右關(guān)系或上、下關(guān)系),適合于用像素的一倍邊長近似;
          (2)當(dāng)前像素點(diǎn)位置與前一像素點(diǎn)位置為傾斜關(guān)系時(shí),適合于用像素的倍邊長近似;



          關(guān)鍵詞: CCD 線陣 測(cè)量技術(shù)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();