機器視覺技術及應用全套課件完整版電子教案最新板_第1頁
機器視覺技術及應用全套課件完整版電子教案最新板_第2頁
機器視覺技術及應用全套課件完整版電子教案最新板_第3頁
機器視覺技術及應用全套課件完整版電子教案最新板_第4頁
機器視覺技術及應用全套課件完整版電子教案最新板_第5頁
已閱讀5頁,還剩458頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 機器視覺技術及應用第1章 緒論主要內容機器視覺技術發(fā)展與應用 機器視覺系統(tǒng)組成 機器視覺方法分類 機器視覺發(fā)展趨勢 機器視覺是用機器代替人眼進行目標對象的識別、判斷和測量,主要研究用計算機來模擬人的視覺功能。機器視覺技術涉及目標對象的圖像獲取技術、對圖像信息的處理技術以及對目標對象的測量和識別技術。在工業(yè)生產過程中,相對于傳統(tǒng)測量檢驗方法,機器視覺技術的最大優(yōu)點是快速、準確、可靠與智能化,對提高產品檢驗的一致性、產品生產的安全性、降低工人勞動強度以及實現企業(yè)的高效安全生產和自動化管理具有不可替代的作用。 第1章 緒論1.1 機器視覺技術發(fā)展與應用 機器視覺技術是一項綜合技術,包括視覺傳感器技

2、術、光源照明技術、光學成像技術、數字圖像處理技術、模擬與數字視頻技術、計算機軟硬件技術和自動控制技術等。機器視覺技術的特點不僅在于模擬人眼功能,更重要的是它能完成人眼所不能勝任的某些工作。 51.1.1 機器視覺技術發(fā)展現狀 人類感知外部世界主要是通過視覺、觸覺、聽覺和嗅覺等感覺器官,其中約80的信息是通過視覺器官獲取的。機器視覺系統(tǒng)就是通過攝像機和計算機來對外部環(huán)境進行測量、識別和判斷。但是,機器視覺和人類視覺有著本質上的不同,機器視覺系統(tǒng)主要應用于不適合人工作業(yè)或者人類視覺無法達到要求、以及高速大批量工業(yè)產品制造自動生產流水線的一些場合。 1.1.1 機器視覺技術發(fā)展現狀20世紀70年代,

3、David Marr提出了視覺計算理論,明確規(guī)范了視覺研究體系。計算機視覺以視覺計算理論為基礎,為視覺研究提供了統(tǒng)一的理論框架。 上世紀80年代以來,并經歷了從實驗室走向實際應用的發(fā)展階段,從簡單的二值圖像處理到高分辨率多灰度的圖像處理以至于彩色圖像處理,從一般的二維信息處理到三維視覺模型和算法的研究都取得了很大進展。 1.1.1 機器視覺技術發(fā)展現狀目前,發(fā)展最快、使用最多的機器視覺技術主要集中在歐美、日本等發(fā)達國家和地區(qū)。在國內,機器視覺技術產品普及還不夠深入,國內在機器視覺產品與國外先進的機器視覺技術與設備相比還有較大的差距。在科研領域,涌現出大量機器視覺科研機構和學者,對機器視覺算法研

4、究取得了長足進步,但未能將機器視覺應用技術列入教學計劃和課程體系。因此加快發(fā)展我國自主知識產權的機器視覺產品是當務之急,在高等院校自動化專業(yè)、計算機專業(yè)、機電一體化專業(yè)開設機器視覺應用技術與系統(tǒng)實驗也迫在眉睫。 1.1.2 機器視覺技術的應用在工業(yè)檢測中的應用: 工業(yè)檢測是指在工業(yè)生產中運用一定的測試技術和手段對生產環(huán)境、工況、產品等進行測試和檢驗。隨著現代工業(yè)的發(fā)展和進步,特別是在一些高精度加工產業(yè),傳統(tǒng)的檢測手段已遠遠不能滿足生產的需要。機器視覺技術在微尺寸、大尺寸、復雜結構尺寸和異型曲面尺寸檢測中具有突出的優(yōu)勢和特點,還包括印刷電路板檢查、鋼板表面自動探傷、大型工件平行度和垂直度測量、容

5、器容積或雜質檢測、機器零件的自動識別和分類等。1.1.2 機器視覺技術的應用在醫(yī)學診斷中的應用 一是對圖像進行增強、標記等,幫助醫(yī)生診斷疾病,協(xié)助醫(yī)生對感興趣的區(qū)域進行測量和比較;二是利用專家知識系統(tǒng)對圖像進行分析和解釋,給出建議診斷結果。 在智能交通中的應用 機器視覺技術在智能交通中可以完成自動導航、交通狀況監(jiān)測、目標車輛跟蹤等任務。1.2 機器視覺系統(tǒng)組成 典型的視覺檢測系統(tǒng)的構成:1.2.1 系統(tǒng)硬件 1.2.2 組態(tài)軟件作為機器視覺系統(tǒng)的重要組成部分,機器視覺軟件主要通過對圖像的分析和處理,實現對待測目標特定參數的檢測和識別。機器視覺軟件主要完成圖像增強、圖像分割、特征抽取、模式識別、

6、圖像壓縮與傳輸等算法內容,有些還具有數據存儲和網絡通信功能。 1.2.2 組態(tài)軟件目前機器視覺軟件主要向高性能與可組態(tài)兩方面發(fā)展。一方面,機器視覺軟件的競爭已從過去單純追求軟件多功能化轉向對檢測算法的準確性、高效性的競爭;另一方面,機器視覺軟件正由定制方式朝著通用、可視化組態(tài)方式發(fā)展。 目前市場上已有的通用組態(tài)軟件主要是國外的HALCON、IGauge和WiT等,這些軟件技術較為成熟、功能豐富,但價格昂貴,不便在國內推廣。1.2.2 組態(tài)軟件西安交通大學自動控制研究所在機器視覺組態(tài)軟件開發(fā)方面進行了大量工作,研發(fā)成功具有自主知識產權的機器視覺組態(tài)軟件XAVIS。它是一款可供機器視覺教學和機器視

7、覺測控系統(tǒng)二次開發(fā)的大型視覺組態(tài)軟件,其功能特點完全可以與HALCON、IGauge等國外大型機器視覺軟件相媲美,并配備了完整的學習文檔和教學創(chuàng)新實驗設備。 尺寸檢測 在傳統(tǒng)的尺寸測量中,典型的方法是利用卡尺或千分尺在被測工件上針對某個參數進行多次測量后取平均值。這些檢測設備或檢測手段測量精度低、測試速度慢,測試數據無法及時處理,不適合自動化的生產?;跈C器視覺的尺寸測量方法具有成本低、精度高、安裝簡易等優(yōu)點,其非接觸性、實時性、靈活性和精確性等特點可以有效的解決傳統(tǒng)檢測方法存在的問題。1.3 機器視覺方法分類1.3 機器視覺方法分類 被測物的尺寸測量通常包括多個參數尺寸,如距離測量、圓測量、

8、角度測量、線弧測量、區(qū)域測量等。 (a)工件齒寬與間距測量 (b)蔭罩孔徑自動檢測判定系統(tǒng)缺陷檢測 在現代工業(yè)連續(xù)、大批量自動化生產中,涉及到各種各樣的質量檢測,如工件表面是否有劃痕、印刷品是否有油污或破損、字符印刷正誤和電路板線路正誤檢查等。機器視覺檢測法,即利用圖像處理和分析對產品可能存在的缺陷進行檢測,這種方法采用非接觸的工作方式,安裝靈活,測量精度和速度都比較高。同一臺機器視覺檢測設備可以實現不同產品的多參數檢測,為企業(yè)節(jié)約大筆設備開支。 1.3 機器視覺方法分類1.3 機器視覺方法分類利用機器視覺技術完成產品缺陷檢測的一些實例,包括陶瓷鐲、瓶蓋、電池、鏡頭等。 缺陷檢測實例 1.3

9、機器視覺方法分類模式識別 模式識別的應用非常廣泛,目前技術比較成熟的有文字識別(手寫漢字輸入、票據自動識別和處理等 )和語音識別(主要用于語音輸入、自動翻譯、聲音識別等 )、生物特征與生物信息處理(包括指紋識別、聲音識別、人臉識別、虹膜識別、筆跡識別、步態(tài)識別等個人身份鑒定技術 )、視覺與圖像分析(用于農作物估產、資源勘察、氣象預報和軍事偵察等 )等三大類。 1.3 機器視覺方法分類鑰匙識別實例: (a)待測對象 (b)識別結果1 (c)識別結果2 圖像融合 基本原理是利用多幅圖像間在時間或空間上的冗余或互補信息,依據一定的融合算法合成一幅滿足某種需要的新圖像。例如,紅外傳感器可以探測目標的工

10、作狀態(tài),可見光圖像則包含豐富的細節(jié)信息,它們的融合較單一傳感器而言,可以大大提高目標的可探測性和識別可靠性。 1.3 機器視覺方法分類 圖像融合技術的應用: (a)CT圖像 (b)NMR圖像 (c)融合結果1.3 機器視覺方法分類視覺跟蹤 視覺跟蹤是指對圖像序列中的運動目標進行檢測、提取、識別和跟蹤,獲得運動目標的運動參數,如位置、速度、加速度和運動軌跡等,進而實現對運動目標的行為理解,以完成更高一級的檢測任務。視覺跟蹤在很多領域都有非常重要的作用,最常見的是對于民宅、停車場、銀行等公共場合的監(jiān)視。1.3 機器視覺方法分類交通場景中對運動車輛的跟蹤結果:(a)目標模型選取 (b)圖像序列第18

11、8幀 (c)圖像序列第194幀 1.3 機器視覺方法分類 1.3 機器視覺方法分類三維重構 三維重構是通過分析一幅或者多幅圖像的灰度信息,結合某些先驗知識獲得物體三維表面形狀的技術。在醫(yī)療方面,外科手術時,可以利用器官的三維形狀數據協(xié)助診斷組織局部的病變狀況;在空間技術方面,通過對衛(wèi)星返回的地表圖像進行三維形狀恢復,可以獲得星球表面山巒河流等地貌分布,進一步建立該地區(qū)的全景模型,進行地質結構分析等;在工業(yè)檢測中,利用工件的三維幾何信息進行多維度的特征提取和識別,有助于提高工件識別效率。 下圖是利用三維重構技術恢復人體某器官內部三維形狀的結果 :1.3 機器視覺方法分類1.4 機器視覺發(fā)展趨勢機

12、器視覺的未來發(fā)展趨勢主要包含以下幾方面:多傳感器信息融合方法研究深層初級視覺理論和方法研究主動視覺的研究完整三維場景重構視覺并行計算結構的研究通用視覺信息系統(tǒng)的研究 隨著中國加工制造業(yè)的發(fā)展,對于機器視覺技術與產品的需求將逐漸增多,機器視覺產品將更加豐富,檢測技術水平不斷提高,基于機器視覺的自動化檢測系統(tǒng)將廣泛用于生產生活的各種領域和場合。機器視覺系統(tǒng)將使人們的生產活動朝著更智能、更便捷的方向發(fā)展。 1.4 機器視覺發(fā)展趨勢END第2章 機器視覺硬件技術主要內容鏡頭技術攝像機技術光源技術 圖像采集卡攝像機標定技術ZM-VS1200機器視覺教學實驗平臺在人類感知外部信息的過程中,通過視覺獲得信息

13、占全部獲取信息量的75以上。模擬生物宏觀視覺功能的圖像傳感器得到越來越多的關注。隨著機器視覺理論的長足進步,給其應用帶來千載難逢的機遇。以基于機器視覺的現代測控技術在現代工業(yè)、農業(yè)、國防以及科學研究等眾多領域得到了廣泛應用。第2章 機器視覺硬件技術據估計,全球圖像處理市場以每年8.8的速度迅速增長。從近兩年機器視覺國際博覽會上看,機器視覺檢測軟硬件平臺產品主要來自日本、韓國和加拿大等國家,但價格昂貴。國內在此方面研究相對較晚,還未見正式視覺檢測平臺產品。我們在此方面進行了卓有成效的研究開發(fā)工作,推出了ZM-VS1300視覺測控平臺,應用于產品尺寸測量判定、缺陷劃痕檢測以及集成芯片管腳測量等具體

14、項目上,為實施視覺測控系統(tǒng)的國產化奠定了基礎。第2章 機器視覺硬件技術光源為視覺系統(tǒng)提供足夠的照度,鏡頭將被測場景中的目標成像到視覺傳感器(CCD)的靶面上,將其轉變?yōu)殡娦盘?,圖像采集卡將電信號轉變?yōu)閿底謭D像信息,即把每一點的亮度轉變?yōu)榛叶燃墧祿?,并存儲為一幅或多幅圖像;計算機實現圖像存儲、處理,并給出測量結果和輸出控制信號。視覺檢測處理系統(tǒng)框圖(微觀宏觀) 第2章 機器視覺硬件技術第2章 機器視覺硬件技術第2章 機器視覺硬件技術 右圖為某機器視覺系統(tǒng)設備實物圖。從圖中可以看出該機器視覺系統(tǒng)設備由前光源、背光源、數字攝像機、計算機組成。待檢測工件放置于背光源上的成像臺上,數字相機對其進行圖像采

15、集,進而將采集的圖像及其處理結果在計算機上顯示。2.1 鏡頭技術 鏡頭是集聚光線,使成像單元能獲得清晰影像的結構。光學鏡頭目前有監(jiān)控級和工業(yè)級兩種,監(jiān)控級鏡頭主要適用于圖像質量不高、價格較低的應用場合;工業(yè)級鏡頭由于圖像質量好、畸變小、價格高,主要應用于工業(yè)零件檢測和科學研究等應用場合。視場角和焦距是光學鏡頭最重要的技術參數,濾光鏡的使用也是鏡頭技術的重要組成部分。2.1.1 視場角2.1.2 焦距焦距是從鏡片中心到底片或CCD等成像平面的距離。 鏡頭焦距的長短決定著視場角的大小,焦距越短,視場角就越大,觀察范圍也越大,但遠物體不清楚;焦距越長,視場角就越小,觀察范圍也越小,很遠的物體也能看清

16、楚,短焦距的光學系統(tǒng)比長焦距的光學系統(tǒng)有更佳聚集光的能力。2.1.2 焦距 以CCD為例,計算焦距參考如下公式: 其中d為CCD尺寸,這里注意景物范圍和d要保持一致性,即同為高或同為寬。實際選用時還應留有余量,應當選擇比計算值略小的焦距。 2.1.3 自動調焦 自動調焦相機的調焦利用電子測距器自動進行,當采集圖片時,根據被攝目標的距離,電子測距器可以把前后移動的鏡頭控制在相應的位置上,或旋轉鏡頭至需要位置,使被攝目標成像達到最清晰。自動調焦有幾種不同的方式,目前應用最多的是主動式紅外系統(tǒng)。從相機發(fā)光元件發(fā)射出一束紅外線光,照射到被攝物主體后反射回相機,感應器接收到回波。相機根據發(fā)光光束與反射光

17、束所形成的角度來測知拍攝距離,實現自動對焦。 2.1.4 濾光鏡濾光鏡原理能按照規(guī)定的需要改變入射光的光譜強度分布或使其偏振狀態(tài)發(fā)生變化。 濾光鏡樣品 濾光鏡對不同波長光波的光通量 2.2 攝像機技術攝像機是獲取圖像的前端采集設備,它以面陣 CCD 或CMOS圖像傳感器為核心部件,外加同步信號產生電路、視頻信號處理電路及電源等組合而成。它是機器視覺系統(tǒng)中不可或缺的重要組成部分。攝像機采集圖像質量的好壞直接影響后期圖像處理的速度與效果。所以選取一個各項指標符合要求的攝像機至關重要。 2.2 攝像機技術 圖像傳感器 CCD電荷耦合器件攝像機(Charge Coupled Device):感光像元在

18、接收輸入光后,產生電荷轉移,形成輸出電壓。分為線陣和面陣兩種。性價比高,受到廣泛應用。CMOS攝像機(Complementary Metal Oxide Semiconductor):互補金屬氧化物半導體,體積小、耗電少、價格低,在光學分辨率、感光度、信噪比和高速成像等已超過CCD。2.2.1 數字攝像機數字攝像機主要由感光傳感器(CCD或CMOS)、模數轉換器(A/D)、圖像處理器(DSP)、圖像存儲器(Memory)、液晶顯示器(LCD)、端口、電源和閃光燈等組成;原理:利用光電傳感器(CCD或CMOS)的圖像感應功能,將物體反射的光轉換為數碼信號,經壓縮后儲存于內建的存儲器上。優(yōu)點:具有

19、很強的穩(wěn)定性和噪聲抑制能力,能提供高分辨率的圖像信息。2.2.2 分辨率相機分辨率 機器視覺領域的相機分辨率就是其能夠拍攝最大圖片的面積,通常以像素為單位,分辨率越大,圖片的面積越大,文件(容量)也越大。通常,分辨率表示成每一個方向上的像素數量,比如640480,那它的分辨率就達到了307200像素,也就是常說的30萬像素。2.2.3 幀速幀速指視頻畫面每秒鐘傳播的幀數,用于衡量視頻信號傳輸的速度,單位為幀/秒(fps)。 動態(tài)畫面實際上是由一幀幀靜止畫面連續(xù)播放而成的,機器視覺系統(tǒng)必須快速采集這些畫面并將其顯示在屏幕上才能獲得連續(xù)運動的效果。采集處理時間越長,幀速就越低,如果幀速過低的話畫面

20、就會產生停頓、跳躍的現象。 一般對于機器視覺系統(tǒng)來說,每秒60幀較為理想。2.2.4 智能相機 智能相機(Smart Camera)是一種高度集成化的微小型機器視覺系統(tǒng)。它將圖像的采集、處理與通信功能集成于單一相機內,從而提供了具有多功能、模塊化、高可靠性、易于實現的機器視覺系統(tǒng)。同時,由于應用了最新的DSP、FPGA及大容量存儲技術,其智能化程度不斷提高,可滿足多種機器視覺的應用需求。2.2.4 智能相機智能相機的組成 圖像傳感單元:CCD/CMOS相機,它將光學圖像轉換為模擬圖像。 圖像采集單元:圖像采集卡,模擬圖像轉化為數字圖像,并進行實時的存儲。 圖像處理軟件:如幾何邊緣的提取、圖像的

21、濾波和降噪、灰度直方圖的計算、簡單的定位和搜索等。網絡通信裝置:完成控制信息、圖像數據的通信任務。 2.2.4 智能相機工業(yè)智能相機測控裝置同時檢測工件的五種參數,檢測速度達500件/分鐘,已成功用于工業(yè)產品尺寸、缺陷、形狀參數的高速檢測、NG判定與分揀控制。工業(yè)智能相機測控裝置及其應用 2.2.5 相機接口IEEE 1394(FireWire)接口:即插即用串行接口,可同時支持63個像機,每個相距4.5米,最遠可達72米。支持800Mbits/s甚至3200Mbits/s的傳輸速度。 USB 接口:是一種應用非常普遍的串型接口 。傳輸速率可達480Mbits/s,可供多達127個設備同時使用

22、。每根USB接線長度可達5米,和Hub 配合使用可以使距離達到30米。USB連線上提供了5V、500mA的電源。 2.3 光源技術光源是機器視覺系統(tǒng)中的關鍵組成部分,在機器視覺系統(tǒng)中十分重要。光源的主要功能是以合適的方式將光線投射到待測物體上,突出待測特征部分對比度。好的光源能夠改善整個系統(tǒng)的分辨率,減輕后續(xù)圖像處理的壓力。 對于不同的檢測對象,必須采用不同的照明方式才能突出被測對象的特征,有時可能需要采取幾種方式的結合,而最佳的照明方法和光源的選擇往往需要大量的試驗才能找到。2.3.1 前光源前光源是指放置在待測物前方的光源,主要應用于檢測反光與不平整表面。印刷式字符采用高角度照明方式效果較

23、好,而刻字式字符采用低角度照明效果俱佳。 2.3.1 前光源輪胎上的數字編號凸出于輪胎側表面,且與背景顏色相同,因此很難判別。但是采用前光源高角度照明法可以在相片上產生微妙的“凸出”效果,數字編號可清晰的浮現出來。 待測輪胎 高角度照明法下輪胎數字編號的圖片 2.3.1 前光源在檢測輪盤上的字符時,鑒于文字是刻在涂層表面上,采用低角度照明法,采集的圖片中原本凹陷入輪盤里的字符與背景形成了鮮明的對比,十分易于后續(xù)圖像處理。 待測輪盤 低角度照明法下輪盤字符的圖片 2.3.1 前光源在檢測生產線上黃油瓶蓋上的點式印刷字符是否合格時,通過采用合適的前光源技術,拍攝圖像中點陣字符的每個點都清晰可見。

24、前光源照明法下瓶蓋印刷字符的圖片2.3.2 背光源背光源放置于待測物體背面。 主要應用于被測對象的輪廓檢測、透明體的污點缺陷檢測、液晶文字檢查、小型電子元件尺寸和外形檢測、軸承外觀和尺寸檢查、半導體引線框外觀和尺寸檢查等。 2.3.3 環(huán)形光源環(huán)形光源與CCD鏡頭同軸安放,一般與鏡頭邊緣相對齊。環(huán)形光源的優(yōu)點在于可直接安裝在鏡頭上,與待測物體距離合適時,可大大減少陰影、提高對比度,實現大面積熒光照明。環(huán)形光源對檢測高反射材料表面的缺陷極佳,非常適合電路板和BGA(球柵陣列封裝)缺陷的檢測。 2.3.3 環(huán)形光源用藍色環(huán)形光源照射待測BGA焊點和金屬導線,既去除了金屬導線圖案又突出了焊點,圖像中

25、僅焊點部分呈白色。還可清晰看到左上方的瑕疵。 (a)待測BGA焊點 (b)藍色環(huán)形光源下BGA焊點的圖片2.3.3 環(huán)形光源a中電容器上的白色印刷字符與黑色背景形成鮮明對比圖b中水晶振蕩器上的印刷字符也突出于金屬外殼之上 a 用環(huán)形光源拍攝電容器圖片 b用環(huán)形光源拍攝晶振圖片 電子元器件字符檢測2.3.4 點光源結構緊湊,能夠使光線集中照射在一個特定距離的小視場范圍。點光源為機器視覺中的待測物提供明亮、均勻的光照,使拍攝的圖像對比度高。 實物圖 安裝方式2.3.4 點光源檢測凸輪齒輪損傷缺陷時,可采用平行度較高的點光源照明 (a)凸輪齒輪 (b)點光源照射下凸輪表面圖像 凸輪缺陷檢測2.3.4

26、 點光源檢測一維條形碼也可以選用點光源直接照射感興趣區(qū)域(a)待測一維條碼 (b)點光源下條形碼圖像 條碼檢測2.3.5 可調光源可調光源是通過電流調整器、亮度控制器或頻閃控制器來調整光源亮度或頻閃速度的一種光源。電流調整器和亮度控制器:包括單信道與雙信道輸出的恒流控制器,四信道帶觸摸屏的亮度控制器,RGB光源彩色分量調節(jié)控制器。 頻閃控制器:一種為LED光源提供頻閃電源和連續(xù)控制的直流電源控制器,主要用于實現對最新一代高電流LED光源、大面積線組光源,也包括大面積表面貼片背光源的控制。 2.4 圖像采集卡圖像采集卡結構框架 2.5 攝像機標定技術空間物體表面某點的三維幾何位置與其在圖像中對應

27、點之間的相互關系是由攝像機成像的幾何模型決定的,這些幾何模型參數就是攝像機參數,為了得到這些參數而進行的實驗與計算的過程稱為攝像機標定。在標定過程中通常要利用數學方法對從數字圖像中獲得的數據進行處理。通過這些數學處理,可以得到攝像機的內部和外部參數。2.5.1 成像幾何模型其中, 是在攝像機坐標系中的三維坐標。 是理想小孔攝像機模型下 點的物理圖像坐標,單位為毫米,f為焦距。 是計算機圖像坐標系中空間任意一點 點的成像點的實際圖像坐標,單位是像素數。 2.5.1 成像幾何模型由于圖像點的像素坐標 表示的是像素位于數字圖像數組中的行數和列數,并沒有用物理單位表示該像素在圖像中的位置,因此建立了以

28、物理單位(毫米)來表示的圖像物理坐標系 ,它與 圖像像素坐標系的關系如下圖所示: 2.5.1 成像幾何模型得空間點的實際三維坐標與像素坐標之間的關系如下: M1只與攝像機內部結構有關,稱為攝像機內部參數;M2只與攝像機相對于世界坐標系的方位有關,稱為攝像機外部參數;X為空間點在世界坐標系下的齊次坐標,M為 矩陣,稱為透視變換矩陣。 2.5.2 典型標定方法 利用最優(yōu)化算法的攝像機標定方法直接線性變換方法使用的模型是:不失一般性,可以令 。如果知道 個標準參照物的控制點的坐標 以及其對應的圖像上的坐標 ,11個參數就可以用線性最小二乘算法計算。2.5.2 典型標定方法在實際運用過程中,當考慮非線

29、性畸變時直接線性變換方法中圖像點與三維空間中控制點的對應關系則是: 是標準參照物上的三維控制點坐標,且 是標準參照物上控制點對應的實際圖像坐標,這些圖像點利用數字圖像處理技術獲得。 是校正后的圖像點坐標, 和 是在圖像點處的鏡頭畸變校正,通過相應的優(yōu)化算法計算得到。 2.6 ZM-VS1200機器視覺教學實驗平臺該平臺由以下幾部分組成:光源、鏡頭、CCD攝像機、架桿、機械轉動盤、光電傳感器、及圖像處理模塊等。平臺軟件使用XAVIS機器視覺組態(tài)軟件。 2.6 ZM-VS1200機器視覺教學實驗平臺機器視覺組態(tài)軟件XAVIS最基本的實驗功能如下:1尺寸測量:實現工件的多參數的尺寸測量和顯示2配準測

30、量:實現工件的配準定位測量與判定3跟蹤測量:實現運動物體的圖像跟蹤測量與識別4光學字符識別:實現光學字符的測量、處理和識別5條形碼識別:實現條形碼的測量、處理和識別6劃痕檢測:實現各類工件表面劃痕的測量、處理和標定7缺陷檢測:實現各類工件表面缺陷的測量、識別和標定8焊點檢測:實現PCB焊點缺陷檢測、識別和分類9形狀匹配:實現復雜圖像工件形狀的測量與識別END第3章 機器視覺組態(tài)軟件XAVIS主要內容XAVIS簡介XAVIS基本操作 XAVIS基本函數XAVIS接口技術XAVIS編程實例3.1 XAVIS簡介組成: 人機交互界面、數據和代碼管理模塊以及算法庫 最大特點: 采用開放式結構提高開發(fā)效

31、率3.2 XAVIS基本操作選擇函數和參數來創(chuàng)建一個程序 執(zhí)行函數并將其插入到程序代碼中動態(tài)地調整和檢查產生的程序 顯示結果(變量) 3.2.1 主窗口主窗口分為五個區(qū)域:標題欄菜單欄工具欄窗口區(qū)域狀態(tài)欄組態(tài)模式框架 視圖組態(tài)視圖定制 運行模式 3.2.2 子窗口主窗口包括四個子窗口:視圖顯示窗口參數設置窗口變量信息窗口程序編譯窗口3.2.2 子窗口為方便代碼操作,編譯窗口工具區(qū)提供五個按鈕,各按鈕作用如下:圖標按鈕功能注釋當前選中語句,程序運行時被注釋的語句不會執(zhí)行;當前選中語句上移一行;當前選中語句下移一行;刪除當前選中語句;撤銷上次操作。3.2.3 操作示例3.2.3 操作示例3.3 X

32、AVIS基本函數XAVIS軟件是由C語言開發(fā)的,其語法和語義有一定的特殊性和獨立性,包括參數類型、文件操作、控制函數和顯示函數等。3.3.1 參數類型按照數據顯示方式的不同,可分為控制數據(數值、字符串和區(qū)域)和圖標數據(圖像)按照應用目的的不同,可分為輸入參數和輸出參數XAVIS支持的數據類型有10種 3.3.1 參數類型數據類型說明IntInts整型數據整型數組DoubleDoubles雙精度型數據雙精度型數組CRectCRects矩形區(qū)域矩形區(qū)域數組CStringCStrings字符串字符串數組CDibCDibs位圖位圖數組XAVIS支持的數據類型 3.3.2 文件操作Readimage

33、函數 打開各種標準圖片類型Writeimage函數 將圖像句柄保存為文件 Showimage函數 將圖像顯示在圖像窗口中Readimage(c:rgb.bmp,image);/打開c:rgb.bmp文件并存入圖像句柄image中Readimage(th1.bmp,image1);/打開XAVIS默認圖像目錄下的th1.bmp文件并存入圖像句柄image1中Writeimage(c:rgb1.bmp,image);/將image存為C:rgb1.bmp文件Readimage(C:rgb.bmp,image);Showimage(image);3.3.3 控制函數XAVIS提供了以下控制函數:if

34、條件判斷函數 if(value_if); /中間代碼 endif();for循環(huán)控制函數 for(param_for=begin_for,end_for,step_for); /中間代碼 endfor();while循環(huán)控制函數 while(value_while); /中間代碼 end();3.3.4 功能函數XAVIS提供29個功能函數用于輔助開發(fā),共分為5類。1. 區(qū)域操作函數函數功能Drawrectangle(rect)讓用戶選擇一個矩形區(qū)域Showrectangle(rect)在圖上顯示一個矩形區(qū)域SetRect(X1,Y1,X2,Y2,rect)構造矩形區(qū)域RectConvertT

35、oPoint(rect,x1,y1,x2,y2)將矩形區(qū)域轉化為坐標值3.3.4 功能函數2. 窗口控制函數 函數功能SetColor(penwidth,color)設置畫筆寬度和顏色SetWindowSize(width,height)設置視圖顯示窗口的大小3.3.4 功能函數3. 繪圖函數 函數功能GenText(x, y,nWeight, textstr)輸出字符信息GenTexts(x, y,Weight, textstr,color)輸出多個字符信息GenCircle(x,y,radius)在圖上畫一個圓GenCircles(x,y,radius)在圖上畫多個圓Genline(x1,

36、y1,x2,y2)在圖上畫一條線段Genlines(x1,y1,x2,y2)在圖上畫多條線段Genrectangle(x1,y1,x2,y2)在圖上畫一個矩形框Genrectangles(x1,y1,x2,y2)在圖上畫多個矩形框GenCross(x,y)在圖上畫一個十字GenCrosses(x,y)在圖上畫多個十字GenPolyline(x,y)在圖上畫一個多邊形3.3.4 功能函數4. 數組和字符串控制函數 函數功能GetIlength(x,length)得到整形數組長度GetDlength(x,length)得到double數組長度SetIlength(x,length)設置整形數組長度

37、SetDlength(x,length)設置double數組長度CStringFormat(str_in,str_out);構造字符串DoubleToInt(dx,ix)雙精度浮點型轉整型IntToDouble(dx,ix)整型轉雙精度浮點型3.3.4 功能函數5. 輔助功能 函數功能TimerBegin(time1)開始計時TimerEnd(time1,time2)停止計時Sleep(time)使程序暫停一定時間SetScaler(pix,realvalue)設置圖像比例尺GetRealValue(pix,realvalue)由比例尺計算實際尺寸3.3.5 擴展函數 XAVIS提供兩類擴展函

38、數用于對圖像采集器的支持。一類是用于操作相機;一類是提供I/O接口用于各種控制設備輔助對相機的操作。函數功能OpenFrame(ImageWidth,ImageHeight,preWidth,preHeight,exposure,kind)打開并設置相機GrabFrame(Image)相機采集圖像StopFrame()停止相機OutControl(channel,state)設置I/O口狀態(tài)ReadIOControl(channel,state)讀取I/O口狀態(tài)3.4 XAVIS接口技術 XAVIS通過動態(tài)鏈接庫技術設計實現了可擴展性接口,用戶可以通過該接口自由添加新算法,更新算法庫。 3.4

39、.1 動態(tài)鏈接庫技術 動態(tài)鏈接庫(DLL)是一個包含可由多個程序同時使用的代碼和數據的庫。通過使用DLL,程序可以由相對獨立的組件組成,實現模塊化。 3.4.2 自定義算法庫加載內部函數和接口函數 內部函數指只在算法類內部調用的函數,接口函數指能加載到XAVIS軟件中,即提供給用戶調用的函數。接口函數的規(guī)定 接口類定義了接口函數需要的所有信息,包括菜單資源ID、函數菜單名和函數所屬算法類別。XAVIS根據函數所屬算法類別和菜單資源ID將其加載到相應位置,并按照函數菜單名顯示;當用戶調用該函數時,參數設置窗口根據參數個數、參數類型和參數說明信息控制相應的控件顯示,用于函數設置。用戶在添加新算法時

40、,可以調用CFuncInfo類提供的設置操作完成接口函數的上述所有信息。 3.5 XAVIS編程實例 邊緣提取 Readimage(JCgongjianL.bmp,image); /讀取圖像showimage(image); /顯示原圖 EdgeDetect(image,image2,CANNY1);/對原圖進行邊緣提取并存入新圖image2 showimage(image2);/顯示邊緣提取后的圖像3.5 XAVIS編程實例 圖像濾波 Readimage(test14.bmp,image);/讀取圖像showimage(image); /顯示原圖ImageFilter(image,image

41、1,GUASSFILTER);/對原圖進行高斯濾波并將結果存入新圖image1showimage(image1); /顯示濾波后的圖像3.5 XAVIS編程實例 尺寸測量首先對圖像進行一些預處理,包括圖像增強、閾值分割、反色、邊緣提取和平滑,然后進行線弧分離并對分離出的弧線進行擬合,最后得到擬合出的圓的半徑和圓心。 3.5 XAVIS編程實例 尺寸測量 Readimage(test.bmp,image);showimage(image);DrawRectangle(rect); /選擇需要處理的區(qū)域RectImageEnhance(image,image1,rect,POINTLINER);

42、/圖像增強RectThresholdCovert(image1,image2,rect,PANBIETHRESHOLD,0); /閾值分割RectPointInvert(image2,image3,rect); /區(qū)域圖像反色RectEdgeGet(image3,image4,rect,CONTOUR); /邊緣提取RectPingHua(image4,image5,rect,BSMOOTH); /圖像平滑RectHarrisLineCircle(image5,image6,rect,0,0,0,a,b,c,d,e,f,g,h); /線弧分離測量showimage(image);GetDLen

43、gth(f,p); /得到double數組長度,f為數組,p為長度SetColor(2,red); /設置畫筆寬度和顏色GenLines(b,c,d,e);/在圖上畫多條線段 x1,y1,x2,y2GenCircles(g,h,f);/在圖上畫多個圓,x,y,radius3.5 XAVIS編程實例 函數說明:所選區(qū)域中線弧分離并檢測(harris算法)調用格式:RectHarrisLineCircle(image_origin,image_edge,rect,para1,para2,para3,LineD,startpointx,startpointy,endpointx,endpointy,

44、circleD,ocirclex,ocircley)參數說明:image_origin:輸入圖像(邊緣圖像)image_edge:輸出圖像rect:關注區(qū)域para1:高斯濾波窗口寬度para2:距離比(用來線弧分開的閾值)para3:線段最小距離(用來線弧分開的閾值) LineD:線段長Startpointx:線段起始點x坐標Startpointy:線段起始點y坐標Endpointx:線段終止點x坐標Endpointy:線段終止點y坐標CircleD:圓弧半徑Circlex:圓弧圓心xCircley:圓弧圓心y3.5 XAVIS編程實例 for(i=0,p,1);SetColor(1,gre

45、en); m=(hi-fi-10);GenText(gi,m,15,C,green); /輸出字符信息 C; x,y,weight,textstr,colorn=(gi+7);CStringFormat(“%d,i”,string); /構造字符串 strin,stroutGenText(n,m,15,string,green); /輸出字符信息*w=(i*20+5);GenText(10,w,20,半徑C,red); /輸出字符信息 半徑CCStringFormat(%d,i,s1);GenText(60,w,20,s1,red); /輸出字符信息*GenDoubleText(80,w,20

46、,fi,red);CStringFormat(%1f,fi,string1);GenText(80,w,20,string1,red); /輸出半徑值endfor();3.5 XAVIS編程實例 印刷體字符檢測首先對圖像進行預處理,然后用投影法分割出各個字符所在的位置并將其歸一化,最后與標準字符進行一一匹配得到所有的字符。 3.5 XAVIS編程實例 印刷體字符檢測 Readimage(outocrimgocrimg4.bmp,image1a);showimage(image1a);ConvertDepth24to8(image1a,image1b);/圖像轉灰度圖ThresholdCover

47、t(image1b,image1c,FIXTHRESHOLD,174);/閾值分割ImageMorph(image1c,image1e,EROSION,1);/圖像腐蝕ImageMorph(image1e,image1d,DILATION,5);/圖像膨脹showimage(image1d);Imageproject(image1d,image2,VPROJECT,15,a,b,count1); /對圖像進行垂直投影Imageproject(image1d,image3,HPROJECT,15,c,d,count2); /對圖像進行水平投影j1=(0);k1=(0);y=(count2);z=

48、(count1);3.5 XAVIS編程實例 函數說明:對二值圖像進行積分投影(水平,垂直) 調用格式:Imageproject(image_origin,image_edge,kind,thre,pstar,pend,*total1)參數說明:image_origin:輸入圖像(二值圖)image_edge:輸出圖像kind:算法類型(包括HPROJECT,VPROJECT)thre:閾值pstar:起點坐標數組pend:終點坐標數組total1:總數while(j1y);DoubleToInt(j1,j);num1=(dj-cj); /計算字符高度while(k120);if(num220

49、);TimerBegin(t1);for(i=0,10,1);CStringFormat(“outocrimg%d.bmp,i”,bmpname); /構造模板字符Readimage(bmpname,image111);ConvertDepth24to8(image111,image11);ThresholdCovert(image11,image1,FIXTHRESHOLD,128); /閾值分割SetRect(ak,cj,bk,dj,rect); /構造矩形區(qū)域 x1,y1,x2,y2,rectImageUnitybyRect(image1d,image4,rect,60,100);/圖像

50、歸一化SetRect(0,0,60,100,rect1);model_match(image1,image4,rect1,i,10,1,result);/圖像匹配endfor();TimerEnd(t1,t2);endif();endif();k1=(k1+1);end();k1=(0);j1=(j1+1);end();GenText(10,10,30,result,red);3.5 XAVIS編程實例 函數功能:將經過分割的字符,進行縮放處理使他們的寬和高一致,以方便特征的提取調用格式:ImageUnitybyRect(image_origin, image_output , rect ,

51、tarWidth, tarHeight)參數說明:image_origin:輸入圖像image_output:輸出圖像rect:關注區(qū)域(給出了每個字符所在的區(qū)域,供其它函數使用)tarWidth:歸一化寬度(用戶輸入要求的歸一化寬度)tarHeight:歸一化高度(用戶輸入要求的歸一化高度)3.5 XAVIS編程實例 模板匹配函數功能:根據模板匹配度公式,計算輸入圖像的目標框選范圍對模板圖像的相似度,并根據相似度與實驗所得閾值的比較得出判斷結果調用格式:model_match(modelimage, inputimage, Rect, num, Samplenum,method,result

52、)參數說明:modelimage:模板圖像inputimage:輸入圖像rect:字符矩形框(歸一化后的選框)num:表示目前輸入model是幾(0-9為數字0-9,10-35為字母A-Z( 大寫),可以根據需要添加小寫字符samplenum:輸入模板個數(用于訓練的用戶輸入模板個數)method:方法類型(0-相似度方法,1-歐式距離法)result:存儲預測結果的字符串END第4章 機器視覺預處理技術主要內容圖像增強 圖像分割 邊緣提取 數學形態(tài)學分析圖像投影 圖像特征提取配準定位方法 對原始獲取圖像進行一系列的運算處理,稱為圖像處理。圖像處理是機器視覺技術的方法基礎,包括圖像增強、邊緣提

53、取、圖像分割、形態(tài)學處理、圖像投影、配準定位和圖像特征提取等方法。 第4章 機器視覺預處理技術4.1 圖像增強改善圖像質量兩類方法: 不考慮圖像降質原因圖像增強技術 針對圖像降質原因圖像還原技術圖像增強技術兩類方法: 空間域法: 在空間域中對圖像的各個像素灰度值直接進行計算處理; 頻率域法: 在圖像的頻率變化域中對圖像的變換值進行某種運算處理,然后再變回空間域中。4.1.1 空域圖像增強 空域法是直接對圖像中的像素進行處理,以圖像的灰度映射變換為基礎。點對點變換 直方圖修正 空域法基本原理 4.1.1 空域圖像增強 空域法是直接對圖像中的像素進行處理,以圖像的灰度映射變換為基礎。1.空域變換增

54、強直接灰度變換圖像求反 用這種方式倒轉圖像的強度產生圖像反轉的對等圖像。該方式適用于增強嵌入于圖像暗色區(qū)域的白色或灰色細節(jié),特別是當黑色面積占主導地位時。 4.1.1 空域圖像增強 線性灰度增強線性最大增強 4.1.1 空域圖像增強 圖像增強函數說明:圖像增強函數調用格式:ImageEnhance(image_origin,image_edge,kind)參數說明:image_origin:輸入圖像(灰度圖)image_edge:輸出圖像kind:算法類型(包括POINTLINER,POINTSHARP)4.1.1 空域圖像增強3.空域濾波增強 主要有兩類:(1)平滑(低通)濾波器(2)銳化(

55、高通)濾波器 (a)圖像一部分 (b)33模板 (c)中心點灰度值 4.1.1 空域圖像增強1) 平滑濾波器(1) 均值濾波 帶有閾值的均值濾波 4.1.1 空域圖像增強常用的均值濾波算子有: 4.1.1 空域圖像增強XAVIS程序代碼為: Readimage(filtertest14_jun.bmp,src24); /讀取均值噪聲的器件圖片,椒鹽噪聲和高斯噪聲的圖片名稱分別為/test14_jy.bmp, test14_gao.bmp 其余處理步驟相同ConvertDepth24to8(src24,src); /轉化為8位圖showimage(src); /顯示8位圖Meanimage(sr

56、c,des1,9); /均值濾波showimage(des1); /顯示均值濾波后的結果4.1.1 空域圖像增強中值濾波的基本原理是將像素鄰域內灰度的中值代替該像素的值。中值濾波的步驟:將模板在圖中漫游,并將模板中心與圖中某個像素位置重合;讀取模板下各對應像素的灰度值;將這些灰度值從小到大排成1列;找出這些值里排在中間的1個;將這個中間值賦給對應模板中心位置的像素。(2) 中值濾波4.1.1 空域圖像增強中值濾波特點:非線性濾波??煽朔D像的邊緣模糊。對濾除脈沖干擾及圖像掃描噪聲最為有效。不需要圖像的統(tǒng)計特性。對一些細節(jié)多,特別是點、線、尖頂細節(jié)多的圖像不宜采用。 4.1.1 空域圖像增強XA

57、VIS程序代碼為: Readimage(filtertest14_jun.bmp,src24); /讀取均值噪聲的器件圖片,椒鹽噪聲和高斯噪聲的圖片名稱分別為/test14_jy.bmp, test14_gao.bmp,其余處理步驟相同ConvertDepth24to8(src24,src); /轉化為8位圖showimage(src); /顯示8位圖ImageFilter(src, des1 , MEDIANFILTER) /中值濾波showimage(des1); /顯示中值濾波后的結果4.1.1 空域圖像增強(3)高斯濾波高斯濾波器是一類根據高斯函數的形狀來選擇權值的線性平滑濾波器,其對

58、于抑制服從正態(tài)分布的噪聲非常有效。二維零均值高斯函數 Readimage(filtertest14_jun.bmp,src24); /讀取均值噪聲的器件圖片,椒鹽噪聲和高斯噪聲的圖片名/稱分別為test14_jy.bmp, test14_gao.bmp/其余處理步驟相同ConvertDepth24to8(src24,src); /轉化為8位圖showimage(src); /顯示8位圖ImageFilter(src, des1,GUASSFILTER); /高斯濾波showimage(des1); /顯示高斯濾波后的結果4.1.1 空域圖像增強 平滑濾波器濾波結果 (a)帶有高斯噪聲的工件圖片

59、 (b)均值濾波結果 (c)中值濾波結果 (d)高斯濾波結果4.1.1 空域圖像增強 2) 銳化濾波器 高通濾波器的效果可用原始圖減去低通圖得到。更進一步,如果把原始圖乘一個放大系數A再減去低通圖就可以構成高頻增強濾波器: High boost = A * Original Lowpass = (A-1) * Original + High pass 當A = 1,就是普通的高通濾波器。當A 1,原始圖的一部分與高通圖相加,恢復了部分高通濾波時丟失的低頻分量,使得最后結果與原圖更接近。因為低通濾波常使圖像模糊,所以一般如果從原始圖中減去模糊圖也稱為(非銳化)掩膜。4.1.1 空域圖像增強XAV

60、IS程序代碼為: Readimage(filtertest14.bmp,src); /讀取器件圖片showimage(src); /顯示8位圖EdgeDetect(src, des1,GUASS); /拉普拉斯濾波showimage(des1); /顯示拉普拉斯濾波后的結果(a) 原圖 (b) 拉普拉斯濾波后4.2 圖像分割圖像分割就是指把圖像分割成各個具有特性的區(qū)域并提取出感興趣目標的技術和過程?;陂撝档姆指罘椒ㄊ且环N應用十分廣泛的圖像分割技術,其實質是利用圖像的灰度直方圖信息獲取用于分割的閾值,一個或幾個閾值將圖像的灰度級分為幾個部分,認為屬于同一部分的像素是同一個物體。 4.2 圖像分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論