


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要 目前在市場上對于螺釘安裝的檢測大多采用人工,當需要檢查的螺絲數量多以及螺絲體積較小的時候,工人檢查和安裝就比較費力。因此,為了使檢測的結果更為快速和準確,本文嘗試利用機器視覺算法來解決這一問題。在設計之前,我們對機器視覺和圖像處理技術進行了相關的了解,以便更好地解決問題。接著開始試驗,首先我們在合適的光照條件下取得螺絲安裝的圖像;然后通過HALCON軟件對得到的圖像進行相關的圖像預處理并進行檢測,檢查是否安裝螺釘,且對螺釘位置進行重點圈示;最后將得到的檢測結果與C+Builder進行交互,通過BCB設計的用戶界面展示出來。關鍵字: 螺釘; 機器視覺;圖像處理; HALCON; C+Bu
2、ilder machine vision; image processing; HALCON;C+Builder 目 錄1.緒論11.1課題研究的背景及意義11.2國內外研究現狀22.機器視覺及軟件介紹32.1機器視覺技術簡介32.2機器視覺系統(tǒng)32.2.1機器視覺系統(tǒng)簡介32.2.2機器視覺檢測42.2.3機器視覺的發(fā)展動向52.3機器視覺軟件52.3.1 HALCON 簡介52.3.2 HALCON 特點62.3.3 HALCON 功能發(fā)展63.圖像處理73.1 圖像處理技術73.1.1圖像和數字圖像73.1.2圖像技術和圖像工程73.2數字圖像處理系統(tǒng)83.2.1圖像處理和分析系統(tǒng)83.
3、2.2 圖像采集模塊93.2.3圖像的數據編碼和傳輸9圖像預處理技術介紹94.1 圖像增強94.2灰度值變換104.3圖像平滑114.3.1圖像平滑介紹114.3.2 中值濾波11螺釘安裝檢測的軟件設計125.1圖像處理的算法流程125.2螺釘安裝檢測的程序設計14用戶界面設計186.1 C+ builder簡介186.2 HALCON與BCB混合編程196.2.1混合編程的設計流程196.2.2環(huán)境配置與庫函數調用206.3 螺釘安裝檢測界面設計21結語23參考文獻24附錄25致謝271 緒論1.1 課題研究的背景及意義改革開放以后,經濟發(fā)展越來越快,許多行業(yè)對檢測方面的技術要求提高。比如,
4、需要對圖像進行實時的監(jiān)控,對儀器檢測的精密度要求也越來越高,還有對半導體芯片的封裝檢測。我國傳統(tǒng)檢測方式主要是人工檢測,但在現在絕大多數行業(yè)的檢測中,人工檢測存在明顯的缺陷和局限性。人工檢測不僅工作量大、效率低,而且人工檢測的結果容易受到工作人員的熟練度和身體疲勞情況的影響,進而影響到檢測結果,同時在高精度檢測要求下,人工檢測的速度太慢,無法達到企業(yè)的要求。因此,現代工業(yè)急需一種新的技術來替代人工檢測。機器視覺由于近來數字圖像處理和計算機技術的快速發(fā)展脫穎而出。工廠機器上的螺釘因為時間久了和平時的碰撞沖擊,有些螺釘就會變的松動甚至脫落。螺釘的松動和脫落都會對機器的正常運行產生一定的影響,給人們
5、帶來一些不可避免的損失。隨著工業(yè)發(fā)展對技術方面要求的提高現代工業(yè)生產中,螺釘的安裝檢測也是工業(yè)界的研究熱點之一,怎樣將其數字化和客觀化,是值得我們去探索與深究的。目前在實際螺釘安裝檢測中使用比較多的是標準樣本進行對比。這種方法雖然操作比較簡便,只需要在標準光照條件下,由檢測人員將待檢測的螺釘孔與標準樣照進行對比,直觀的來判別螺釘是否已安裝就可以了;但由于人工檢測無法保證持久的準確率,因為人工觀察的久了,精神上會感到很疲勞。所以人工檢測的方法可靠性較低,容易受到客觀影響,難以實現大批量的檢測。而機器視覺系統(tǒng)就不一樣了,它就能做到高速且持久,同時還有著非接觸、精確度高、抗干擾能力強等優(yōu)點,因此,機
6、器視覺的推廣應用理所當然。針對這種狀況,本課題試圖通過圖像處理和機器視覺技術設計出能精確等問題。1.2國內外研究現狀在國內,機器視覺是近些年來新興的技術,它是通過計算機模擬人的視覺來觀察事物,在自動化領域、產品檢測領域和智能機器人領域有著極其重要的作用。最早應用的行業(yè)主要是電子行業(yè)和半導體行業(yè),比如PCB印刷、電路組裝、元器件制造、半導體設備。剛開始的時候,機器視覺產品主要靠幫外國企業(yè)制造加工或者做一些系統(tǒng)集成的工作,很少有自己創(chuàng)造發(fā)展的,從事這方面的公司也很少,大多在摸索階段,正嘗試著開始發(fā)展自己的技術。但經過這么多年的發(fā)展,從2006年以后,我國的機器視覺技術慢慢的就逐漸提高了,特別是工業(yè)
7、領域,機器視覺在這方面的發(fā)展以居世界前列了。在工業(yè)領域中,機器視覺主要用來對于產品質量的檢測和分類,我們的螺釘安裝檢測就屬于其中之一;當然,它還用于幫助機器人定位,現如今火熱的智能機器人就利用了機器視覺技術。在機器人的眼部裝上機器視覺系統(tǒng)以后,機器人就具有了一定的感知能力,它能通過視覺傳感器來獲取圖像信息,并進行一定的自我分析,實現簡單的定位功能。機器視覺能得到這么迅速的發(fā)展與它的技術實用性是離不開的。首先,在過去的時候,我們一般利用人工對產品進行檢測,效率低就不說了,而且人因為工作久了身體勞累、精神疲憊,對產品的檢測也就不能保持一貫的專注了,所以產品的標準率也不能保證,因此利用機器視覺來替代
8、人工檢測是社會發(fā)展的需要,機器視覺讓我們在產品生產中更加自動化,效率更高。而自從2013年至今,中國自己的機器視覺公司發(fā)展十分迅速,處在快速成長期,擁有了自己的專業(yè)技術,可以通過機器視覺做到許多我們以前想都想不到的事,比如對人臉的識別鎖定,不過在這方面還需完善,還有很長的路要走,相信未來僅通過一幅照片就可以在網絡上找到真人的事情指日可待。就在2017年的4月13日,百度收購了美國科技公司xPerception,加強了自己在視覺感知領域的軟硬件能力。在國際上,機器視覺產業(yè)已經比較成熟,發(fā)展較快的主要是歐洲、美國和日本,他們現在對機器視覺的發(fā)展就是穩(wěn)中求變,既保證能占有現在的市場,而又繼續(xù)向前奮進
9、創(chuàng)新。國外機器視覺與國內相比的話,不僅技術上有一定的領先,而且國外企業(yè)的品牌效應和知識產權發(fā)展的相當好,國內在這方面還需要努力。機器視覺是一次技術層面的改革創(chuàng)新,隨著市場需求量的不斷擴大,在我國的新興產業(yè)中名列前茅,未來甚至可能成為我國的支柱產業(yè)。中國很多流水線代工廠在過去的幾年里正在不斷的采購大量自動化設備取代不斷減少的工人和日益上漲的人工成本。隨著國家的政策對高新技術行業(yè)的大力支持,機器視覺行業(yè)在最近幾年必將成為中國生產制造行業(yè)的爆發(fā)行業(yè),機器視覺產業(yè)將會保持快速增長。而且由于機器視覺技術自身的突出特點 ,十分符合當今的工業(yè)需求,正流行的智能機器人技術、自動駕駛汽車技術也需要它的支持,我們
10、有理由相信它的未來前景將是一片光明。機器視覺及軟件介紹2.1機器視覺技術簡介機器視覺,簡而言之就是利用機器代替人工進行目標識別、判斷與測量。它是現代光學、電子學、軟件工程、信號處理與系統(tǒng)控制技術等多學科的交叉與融合。機器視覺與某些學科還有一些相似,如圖像處理、模式識別和計算機視覺等。但它與這些學科也有區(qū)別,有著自己的特點。首先,機器視覺是一門綜合技術,它包含許多其它的技術,例如電源照明技術、傳感器技術、數字圖像處理技術等等,機器視覺需要與這些技術相互協調才能完成相關的功能。然后就是機器視覺的可靠性,它能夠在比較惡劣的工業(yè)環(huán)境中保持穩(wěn)定工作,而且因為非接觸的特點,它的安全性也比較高,不會損壞物品
11、。最后要說的就是它的高速度和高精度特點,能夠有效提高生產效率。2.2機器視覺系統(tǒng)2.2.1 機器視覺系統(tǒng)簡介機器視覺系統(tǒng)就是對通過機器獲取的圖像進行相關處理的系統(tǒng),如圖2-1。首先,在合適的場景下,通過機器攝像頭,比如CCD取得清晰的圖片,然后把它轉換成圖像信號,交給圖像處理系統(tǒng)進行相關處理,根據它的大小、色彩轉變成相應的數字化信號,接著就對數字化信號進行特征提取,依靠這些特征來進行描述和判斷,最后把判斷結果反饋給機器,讓機器依據結果做出相應的操作。當然其中包含許多有技術含量的操作和值得注意的地方,在這里特別介紹一下。比如,獲取圖像時,我們要使機器能有好的光源照射,這樣才能捕捉到好的照片;還有
12、將圖像轉變成數字信號時,要嚴格根據圖像像素的分布、圖像的顏色來進行數字化操作;而根據對圖像特征值進行處理,我們還能實現坐標計算以及創(chuàng)建有一個灰度直方圖的功能;最后,我們還需要一個完好的反饋系統(tǒng),保證結果能夠及時,準確的傳達給機器。在現代工業(yè)生產中,機器視覺系統(tǒng)被廣泛地用于對產品生產過程的質量監(jiān)控,我們本課題研究的對螺釘的安裝檢測就屬于這方面。還有就是對成品的檢驗,如對產品表面的缺陷檢測,保證產品出廠前的質量安全。2.2.2 機器視覺檢測機器視覺檢測技術在現今有許多的應用,特別是在工業(yè)的應用上十分廣泛,下面介紹一下它在各個方面的相關應用。在半導體行業(yè)方面,主要是對芯片表面多膠和臟污的檢測,還有w
13、afer檢測,大都需要通過光源照射,根據反光情況進行判斷。在電子產品方面,也主要是對表面缺陷的檢測,比如LED燈表面缺陷檢測、手機屏表面劃傷檢測。在激光加工方面,對產品檢測的要求就更高了,因為激光加工本身就是一個很精細的活,要對它進行檢測就需要更高的水準了,比如對手機玻璃屏聽筒孔定位及對IC元件字符及PIN間距檢測,都是毫厘之差都不能有,要求十分高。在醫(yī)藥方面主要有對注射液的雜質檢測,因為雜質顆粒很小,人眼一般很難察覺出來,還有就是對針尖缺陷檢測,檢查針尖是否歪了或者閉合了。對日用產品的檢測也有很多,比如對布匹、紙杯缺陷的檢測,化妝品瓶身的字符檢測,手機卡槽的尺寸檢測,剃須刀彈片檢測,總之機器
14、視覺檢測已經應用到了生活的方方面面,人們也將越來越離不開它。2.2.3 機器視覺的發(fā)展動向機器視覺隨著如今計算機技術和人工智能技術的發(fā)展,自身的發(fā)展方向也多了起來,前景也更加美好了。因為對許多領域的深入研究和當今計算機技術的飛速發(fā)展,很多的計算機實時應用的商業(yè)化已觸手可及,還有的已經得到相關應用,比如身份識別、智能交通和信息安全等。機器視覺未來甚至可能成為一種嵌入式系統(tǒng),利用一個微小的處理器就能完成許多功能,它不在局限于工廠產品檢測,能夠應用于許多方面。例如,現在正在測試的無人駕駛汽車,就需要機器視覺對前方道路的精確檢測,能夠準確判斷前方的各種事物,然后反饋給處理系統(tǒng),實時的做出最正確的操作,
15、保證汽車的正常行駛。還要一個很重要的方面就是智能機器人和機器視覺的結合,當未來的機器人能夠擁有一顆類似人的眼睛,它所能做的就太多了,就不在局限于僅僅做一些搬運之類的工作了,而是擁有無限的可能。就說在工廠,流水線可能就會被機器人占領了;每家每戶也有可能擁有一個能干的機器人保姆,幫助你解決生活中的繁瑣事;也許,機器人還能幫你當司機,為你做導游,帶你領略自然的風光。2.3機器視覺軟件2.3.1 HALCON簡介mvtec HALCON是一個集成開發(fā)環(huán)境的機器視覺的綜合標準的軟件(HDevelop),能在全球范圍內使用。HALCON靈活的架構便于各種機器視覺應用的迅速發(fā)展,利用它,能減少你的開發(fā)成本以
16、及提前開發(fā)產品的上市時間。mvtec HALCON提供卓越的性能和多核平臺和專用指令集avx2以及GPU加速。它包含成千上萬的庫文件在成像的所有領域,如斑點分析,形態(tài),匹配,測量,識別和三維視覺。2.3.2 HALCON特點HALCON是三維視覺的革命性技術,它具有50多個形狀和灰度值特征的斑點分析,能匹配找到甚至旋轉或部分閉塞對象。HALCON能對非常大的圖像進行處理,大于32K32K,在如今來說基本上沒有什么超過限制的,而且對彩色的圖像它也能進行處理。同時HALCON具有高精度的測量,它包含光學字符識別(OCR和OCV)和驗證,檢測線、圓和橢圓的精度高達1 / 50像素,對任意形狀的感興趣
17、區(qū)域(ROIs)有顯著的靈活性和速度。它能夠做到精確三維攝像機標定,能很好的完成圖像序列處理,這個對監(jiān)控技術提高很大。HALCON能夠在大多數計算機操作系統(tǒng)上運行,支持多核和多處理器計算機。HALCON也不限制你怎么獲取圖像,可以自行挑選合適的設備。原廠已經提供了60余種相機的驅動鏈接。即使是尚未支持的相機,除了可以透過指針輕易的HALCONDLL文件和系統(tǒng)連接。HALCON軟件還能減少你的資金投入,它支持多種操作系統(tǒng)、工業(yè)相機和圖像采集卡提供的接口,支持genicam標準、GigE Vision,IIDC 1394,USB,USB3 Vision,和Camera Link。兼容Delphi
18、1requirements:HALCON / COM接口32位和Delphi的Borland版本5或更高版本。2.3.3 HALCON 功能發(fā)展隨著MVTec公司與學術界的合作不斷加深,HALCON 功能也在不斷的拓展更新,最新的HALCON13中,就有許多更加全面的功能。在HALCON 13中,基于表面的3D匹配在處理平面時變得更加健壯。這種改進尤其支持像選擇框這樣的應用程序。HALCON 13還提供另外一種新的方法來從高質量的多相機中重建3D物體。這種新方法使用了所有相機視圖的信息,從而獲得比普通立體重建方法更可靠的結果。通過HALCON 13,MVTec首次提供了基于深度學習的OCR:H
19、ALCON現在包含一個基于深度學習技術的新的OCR分類器,可以通過一些預先訓練的字體來使用。有了這些,就有可能獲得比以前所有分類方法更高的閱讀速率。此外,HALCON 13的自動文本閱讀器速度更快,現在也支持點打印字符的閱讀。HALCON 13還可以讀取條碼,即使代碼的大部分是有缺陷的,或者根本不可見。此外,QR碼讀卡器已經得到了改進,并且現在對諸如模糊或失真之類的常見挑戰(zhàn)更加健壯。3.圖像處理3.1 圖像處理技術3.1.1圖像和數字圖像圖像在書本上的定義是三維場景在二維平面上的影像。在我們生活中的理解就是我們眼睛所看到的自然界萬事萬物的映射,是我們認識世界的重要途徑。有的東西不管用怎樣華麗的
20、語言描述,也不及看一眼圖像來的實際和給人的印象深刻。人在處理圖像信息時,基本上能夠瞬間捕獲二維畫面的所有內容,因此在越來越信息化的社會中,圖像在信息傳播上起著重要的作用。而且隨著計算機技術的快速發(fā)展,我們甚至能自己創(chuàng)造各種千姿百態(tài)的圖像。將圖像橫縱分成各個均等的小方格,把每一個小方格稱為像素,給每一個像素賦以灰度值,就成為數字表示的圖像,再以數字格式存儲圖像數據,這個圖像就成為數字圖像。數字圖像是用配置在二維平面上的灰度值或彩色值來表示信息的,信息擴展在二維平面上。用數學描述,若用f(x,y)表示(x,y)處的灰度值,則二維函數F(x,y)表示圖像。若為彩色圖像,可以認為f(x,y)是由表示紅
21、色、綠色和藍色圖像的3個函數fr(x,y)、fg(x.y)和fb(x,y)組成的13。本課題后面主要用到的都是數字圖象,我們暫定就用(x,y)來代表數字圖像,且、x、y的取值都為整數。3.1.2圖像技術和圖像工程對各種與圖像有關的技術的總稱就是圖像技術。對于圖像技術,我們的主要研究內容是數字圖像,主要研究技術是計算機處理圖像技術。數字圖像只有經過計算機圖像處理系統(tǒng)的加工,才能完美的輸入、輸出;現在我們生活中流行的PS軟件就是集合了許多的計算機技術,能夠對圖像進行完美處理的經典例子。利用計算機對圖像的處理包括:對圖像的獲取,把模擬圖像信號轉化為計算機能處理的數字信號;具體步驟為攝取圖像、光電轉換
22、、數字化。對圖像的復原,將模糊或損壞的圖像進行修復。對圖像的增強,改善圖像的畫面質感。對圖像的分割,根據一定的規(guī)則和需要,將圖像分割成不同區(qū)域。圖像重建,僅通過一些輸入數據,經過處理后就能得到圖像,比如CT;圖像重建與計算機技術結合還能把多個二維圖像合成三維圖像,經過光照和技術渲染,生成真實感十足的高質量圖像。圖像壓縮編碼,因為圖像數據信息較大,經過壓縮編碼能有效提高傳輸效率,而且壓縮后便于特征提取。此外,圖像技術還包括為了完成各種功能而進行的硬件設計制作等方面的技術。隨著圖像技術近年來的快速發(fā)展,出現了許多新理論、新算法、新手段和新設備。圖像工作者普遍認為需對圖像和圖像處理技術進行綜合研究和
23、應用,這個工作的框架就形成了圖像工程。圖像工程是一門系統(tǒng)地研究各種圖像理論、技術和應用的交叉學科。圖像工程可簡單地分為三個層次:圖象處理、圖象分析和圖像理解。圖象處理主要是在圖像與圖像之間進行各種操作加工,讓圖像的視覺展示結果清晰,為圖像的自動識別打下基礎。圖像分析主要是對我們感興趣的地方進行檢測,提取特征區(qū)域,它要做就是講圖像信息轉換為數據信息,對目標區(qū)域的特點和性質加以概括。圖像理解需要根據我們所學習的知識,以及對目標特征的分析,反過來了解整個圖像的所有內容,進而弄懂圖像中各個目標特征的獨立特性及它們之間的聯系關系,對圖像有一個整體的理解。由上所述,圖象處理、圖象分析和圖像理解處在三個不同
24、的抽象程度層次上。圖象處理是低層的操作,它的操作對象是像素,要處理的數據量相當大,工作很繁瑣。圖象分析是中層的操作,對感興趣的目標進行特征提取,將圖像信息變成數據描述的信息,要處理的數據量適中。而圖像理解就是高層操作了,它的操作對象就是從描述抽象出來的符號,抽象程度高,處理方法類似人的思維推理過程。3.2數字圖像處理系統(tǒng)3.2.1圖像處理和分析系統(tǒng)一個簡單的圖像處理系統(tǒng)最基本的就是圖像攝入設備、圖像處理設備和圖像輸出設備。圖像攝入設備就是為了獲取圖像,采集到圖像的相關信息,基本的設備有CCD攝像機、數碼攝像機、紅外遙感設備和掃描儀。通常圖像獲取后,就要通過圖像輸入卡,也稱采集卡對圖像進行處理,
25、輸入到計算機設備中。圖像處理設備主要是高速圖像處理卡,卡上固化了300多個函數的圖像處理庫,能有效的對圖像進行處理。當然圖像處理也可以通過軟件完成,比如MATLAB軟件與HALCON軟件,它們也能對圖像進行加工處理。圖像輸出設備就是顯示卡、顯示器,圖像一般都是保存在顯示卡上的,然后通過連接顯示器,在顯示器上輸出。3.2.2圖像采集模塊圖像采集主要是通過攝像頭捕捉圖像,然后將圖像存儲在顯示卡。而采集數字圖像時,首先通過固態(tài)陣列的感光基元將圖像信息轉換為模擬電信號,然后通過數字化器將模擬電信號轉換為離散數字信號。圖像的數字化基本上要經過5個步驟,首先通過采樣孔,讓圖像能夠被數字化設備觀測清楚,不被
26、其它條件干擾;其次讓采樣孔在圖像上規(guī)律移動,清晰地觀察到圖像的每一個像素;再通過光傳感器采樣每一個像素的亮度;然后通過A/D電路把光傳感器傳來的連續(xù)量轉變成整數值;最后將輸出的值按某種格式存儲起來,方便計算機對它的處理。3.2.3圖像的數據編碼和傳輸數字圖像的數據量太大,需要對它進行一定的數據壓縮,才能讓圖像的傳輸更加方便快捷。將圖像進行壓縮的方法主要就是對圖像數據進行編碼和對圖像數據進行變換壓縮。圖像數據是高度相關的,存在很多冗余,對圖像的壓縮就是去掉這些冗余信息。圖像編碼時我們一般使用預測編碼,根據空間冗余特性,用相鄰的已知像素預測當前的像素值,可以有效的壓縮數據。預測編碼還需要對已知的像
27、素和當前像素值之間的預測誤差進行量化編碼處理,常用方法有DPCM和運動補償法。圖像預處理技術介紹4.1圖像增強像進行預處理。圖4-1(A)圖像增強前圖4-1(B)圖像增強后本文中使用emphasize算子進行圖像增強,由圖4-1可見,在圖像增強前,目標區(qū)域和圖像的其它區(qū)域看起來幾乎沒什么區(qū)別,但在圖像增強后,可以看到我們關注的圓圈區(qū)域的對比度顯著增強。4.2灰度值變換我們在處理螺釘安裝檢測圖像時使用了scale_image_max算子,即最大化圖像的灰度值。該算子計算像素的最大和最小值,按照最大值比例化各個像素,它的作用是把原圖像的像素灰度經過某個變換函數變換成新的圖像灰度,盡管變換前后像素個
28、數不變,但不同像素間的灰度差變大,因而對比度增強,圖像更加清晰。4.3圖像平滑4.3.1圖像平滑簡介圖像平滑,意思顯而易見就是平滑圖像,讓圖像中漸變較大的地方變的平緩舒松,抑制圖像噪聲。對圖像而言,它的邊緣、跳躍以及噪聲等灰度變化劇烈的部分代表圖像的高頻分量,而大面積背景區(qū)和灰度變化緩慢的區(qū)域代表圖像的低頻分量。圖像平滑主要就是抑制高頻部分,讓圖像表現出更多的低頻部分,看起來柔和一點,它可以在頻域進行,也可以在空間域進行。4.3.2 中值濾波 HYPERLINK /item/%E4%B8%AD%E5%80%BC%E6%BB%A4%E6%B3%A2%E6%B3%95 t /_blank 中值濾波
29、法是一種非線性平滑技術,它將一個區(qū)域內的所有像素的灰度值用它們的中值代替。即把灰度值相近且相鄰的一些像素連成一個區(qū)域,然后求出它們的中值,利用這個中值來代替這個區(qū)域,相當于把很多個像素變成一個點,有化整為零的效果,它能很好的消除孤立的噪聲點,對脈沖噪聲(也稱椒鹽噪聲)的消除效果很好,特別是在消除噪聲的同時,還能有效保護邊緣區(qū)域,它還具有的一個優(yōu)良特性就是算法相對簡單,比較容易用硬件實現它的功能。中值濾波的函數模型為G(x,y)=medF(x-k,y-1),(k,1W),F(x,y)為初始圖像,對它進行函數變換,就得到處理后的圖像G(x,y);W是一個二維模板,通常代表的是3x3區(qū)域或者5x5區(qū)
30、域。在實際操作中,我們使用的是median_separate算子,即矩形掩碼的離散中值濾波。圖4-2 (A)圖像平滑前圖4-2(B)圖像平滑后本文使用mean_image算子來實現圖像平滑的功能,采用中值濾波的方式。5.螺釘安裝檢測的軟件設計5.1圖像處理的算法流程圖像采集模塊圖像采集模塊圖像預處理模塊圖像預處理模塊圖像分割模塊圖像分割模塊圖像分析模塊特征提取模塊圖像分析模塊特征提取模塊圖像實時采集模塊:通過圖像采集卡實時的、連續(xù)不斷的把攝像機獲取到的圖像及時的存儲到計算機內存當中去,然后再在計算機內存中進行一系列的簡單圖像處理。在這個模塊我們首先關心的就是采集圖像的實時性,要求我們采集圖像的
31、速度要快,秒速采集秒速傳輸,讓問題能得到及時的反饋。其次就是采集圖像的質量,保證采集到的圖像完好無損。圖像預處理模塊:對圖像進行預處理是為了方便后面對圖像進行更好的識別和操作。首先要做的就是去掉噪聲,把圖像上的斑點去掉,讓圖像看起來更干凈,比如濾波;然后對圖像進行增強,提高我們主要關注地方的圖像對比度;最后稍微平滑一下圖像,看起來更舒服一些。經過圖像預處理后,能更好對圖像進行閾值選取和分割。圖像分割模塊:只有對圖像進行一定的分割,才能更好的得到我們想要的目標區(qū)域。對圖像進行分割的方法有很多,我們要靈活選擇,根據不同的情況選擇出當時最適合的方法,只要對圖像進行分割后,能幫助我們對目標圖像進行更好
32、的分析,所謂最適合的就是最好的。本課題我們就選擇了最適合我們的閾值分割,閾值通過對圖像的灰度直方圖進行比較分析來選取。特征提取模塊:在將圖像分割為不同區(qū)域后,需要進行區(qū)域連通,并根據合適的特征提取出我們想要的區(qū)域。提取連通區(qū)域時需要用到connection和select_shape算子,connection算子是對region(區(qū)域)進行連通操作,也就是把鄰域內(4連通或者8連通)區(qū)域歸納為一個區(qū)域,方便后面的select_shape進行感興趣區(qū)域選擇。select_shape算子依據形狀特點,及該特點的最大最小值選擇區(qū)域。圖像分析模塊:通過一系列的圖像處理操作,提取出我們想要的圖像信息后,對
33、它進行總結分析,判斷螺釘是否安裝,得到最終的結論。5.2螺釘安裝檢測的程序設計read_image(Image_two_setup,6.bmp)/讀取螺釘的圖像 圖5-1get_image_size (Image_two_setup, Width_setup, Height_setup)/獲取圖片長寬 圖5-2gen_circle (ROI_0, 463.5, 717.5, 420.609)/在目標區(qū)域生成圓 圖5-3reduce_domain (Image_two_setup, ROI_0, ImageReduced)/獲得目標圓位置的圖像scale_image_max (ImageRedu
34、ced, ImageReduced_two_setup) / 最大化圖像的灰度值 mean_image (ImageReduced_two_setup, ImageMean2_two_setup, 15, 15)/取平均值平滑圖像圖5-4emphasize (ImageMean2_two_setup, ImageEmphasize_two_setup, 91, 91, 1)/增強圖像對比度圖5-5scale_image_max (ImageEmphasize_two_setup, ImageEmphasize_two_setup)/最大化圖像的灰度值 mean_image (ImageEmph
35、asize_two_setup, ImageEmphasize_two_setup, 15, 15)/取平均值平滑圖像scale_image_max (ImageEmphasize_two_setup, ImageEmphasize_two_setup) / 最大化圖像的灰度值 median_separate (ImageEmphasize_two_setup, ImageEmphasize_two_setup, 15, 15, mirrored) /使用矩形掩碼的離散中值濾波 scale_image_max (ImageEmphasize_two_setup, ImageEmphasize_
36、two_setup) threshold (ImageEmphasize_two_setup, Region2_setup, 0, 200)/分割圖像 圖5-6 closing_circle (Region2_setup, Region2_setup, 10)/關閉一個圓形結構基礎的一個區(qū)域 圖5-7erosion_circle (Region2_setup, RegionErosion, 65)/用一個圓形的結構元素來腐蝕圖像connection (RegionErosion, ConnectedRegions3_setup)/連通區(qū)域select_shape (ConnectedRegio
37、ns3_setup, ConnectedRegions31_setup, area,circularity,max_diameter, and, 3000,0.9,50, 99999,99999,99999)/根據特征值選擇區(qū)域 圖5-8count_obj (ConnectedRegions31_setup, Number)/用來計算被識別出來的區(qū)域的個數 if (Number=1) check_result := 11 /不合格 無螺釘 else check_result := 99 /合格 已安裝螺釘 Endif6.用戶界面設計6.1 C+ Builder 簡介C+ Builder是由Bo
38、rland公司推出的一款可視化集成開發(fā)工具。C+builder不僅提供了快速、強大、現代的c+ ;還有驚人的框架:一個編譯器,一個調試器,一個ide ,四個平臺。在C+ Builder上開發(fā)時,能夠讓你專注于自己的代碼設計;因為它自身帶有許多的控件,有文本輸入的、顯示結果還有button按鈕,只需要把控件拖到窗體Form上,簡單設計一下控件的位置、名稱和屬性就能得到一個可視化的界面,十分的方便。而且在能快速進行可視化界面的同時,它還包含C+開發(fā)環(huán)境所能提供的所有功能,實現了可視化編程環(huán)境和功能強大的編程語言的完美結合,讓你的應用程序比任何其它的C+有更好的市場。不僅如此C+ Builder的發(fā)
39、展也十分迅速,功能也將越來越完善。C+ Builder包括一個增強的語音基礎編譯Windows(32和64),iOS和Android,所有平臺上使用這一編譯器可以快速、一致地開發(fā)?,F在它還能提供快速開發(fā)功能、可視化的客戶端 / 服務器和讓企業(yè)進入它的數據庫中使用通用的數據庫訪問庫 (firedac)。6.2 HALCON 和 BCB 混合編程6.2.1 混合編程的設計流程HALCON和BCB混合編程就是在HALOCN中編寫好檢測程序,用C/C+格式導出,然后在BCB中通過庫文件調用它,以BCB為開發(fā)環(huán)境,編寫出一個可視化的檢測軟件。該方法的程序設計流程如圖6-1所示: 開始開始 讀取圖像 讀取
40、圖像HALCON螺釘安裝檢測系統(tǒng)HALCON螺釘安裝檢測系統(tǒng)HALCON導出C/C+代碼HALCON導出C/C+代碼BCB環(huán)境下封裝BCB環(huán)境下封裝C/C+代碼程序功能驗證程序功能驗證判斷得出結果判斷得出結果圖 6-1 HALCON與BCB混合編程設計流程以HALCON為核心編寫螺釘安裝檢測識別與統(tǒng)計系統(tǒng)應用程序的步驟如下:步驟一:讀取圖像,把獲取到的圖像通過read_image算子獲取直接通過文件路徑找到圖像,然后讀取到程序中。步驟二:編寫HALCON程序,能夠對讀取的圖像執(zhí)行檢測代碼,檢測出螺釘是否安裝成功。步驟三:由HALCON導出檢測識別的程序代碼,生成C代碼或者C+代碼通過指令加入到
41、BCB程序中;步驟四:配置HALCON和BCB混合編程的程序開發(fā)環(huán)境;BCB環(huán)境中利用按鈕控件來搭建可視化界面,通過程序語言的功能開發(fā)整個螺釘安裝檢測識別程序,并完成程序功能驗證;6.2.2 環(huán)境配置與庫函數調用由于圖像的處理過程是HDevelop中設計的,使用BCB設計用戶界面時需要 調用HDevelop中導出的C程序代碼及HALCON庫,所以首先要做的是在BCB中配 置相應的混合編程環(huán)境,主要包括頭文件路徑和鏈接文件及路徑的設置,具體步 驟如下:步驟一:在project-options的Dictionaries/Conditionals屬性頁中配置Include path: D:halco
42、nqmqq_bcb;D:BCBopencv21_ok;D:Program FilesBorlandCBuilder6Projects;$(BCB)include;$(BCB)includevcl;C:Program FilesBorlandVictorVCL;D:BCBopencv21_okopencvBCinclude; D:Program FilesMVTecHALCON-10.0include步驟二:在project-options的Directories/Conditionals屬性頁中配置Library path:D:halconqmqq_bcb;D:Program FilesBor
43、land CBuilder6 Projects;$(BCB)libobj;$(BCB)lib;步驟三:導入OpenGLPackage:下載TOpenGL并解壓,打開C+ Builder 6.0。在菜單欄選擇project-options-Packages-Add,打開文件夾TOpenGLB,選擇OpenGLPackage.bpl文件,單擊打開按鈕就可以了。將OpenGLSrc.h復制到D:Program FilesBorlandCBuilderInclude文件夾下。將OpenGLPackage.bpl文件復制到D:Program FilesBorlandCBuilderBin文件夾下。將Op
44、enGLPackage.lib、OpenGLPackage.bpi文件復制到D:Program FilesBorlandCBuilderLib文件夾下。6.3 螺釘安裝檢測界面設計 圖6-2 (a)檢測前 圖6-2(b)檢測后結語經過了差不多半年的努力奮斗,這篇論文終于接近了尾聲,我感覺十分不易。從最初在老師那拿到論文題目,接著自己慢慢摸索,到處查閱資料,然后進行反復的調試和修改,再到論文完成,每一步對我來說都是新的挑戰(zhàn),這也是我在學校所獨立完成的一個最大的項目。雖然說在摸索的過程中吃了很多苦,但我從中也學到了許多,從對機器視覺和HALCON了解甚少到如今的充分了解和能夠初步的運用,中間的每一
45、次進步都讓我興奮很久,看到因自己努力而漸漸完善的論文,心中充滿了滿足感。經過這么長的學習,我也充分認識到了機器視覺檢測的強大之處,了解了它在很多方面的應用,我也相信在未來機器視覺會隨著工業(yè)發(fā)展而日益壯大。這次做論文的經歷使我受益匪淺,我感受到做論文就是要踏踏實實地去做,一步一步地去實現每個階段的目標,遇到瓶頸不要放棄,多去找資料,多看多學,你會發(fā)現其實并不難,而且當你成功時,內心的喜悅會告訴你前面的辛苦都是值得的,狂風暴雨后的彩虹才會更加的絢麗迷人。當然,本課題中也有需要完善的地方,比如對閾值的選取,僅依靠灰度直方圖來判斷,有時可能會漏掉重要的圖像信息,因此需要進一步的完善。還有就是軟件部分,
46、本系統(tǒng)基本上能完整的實現螺釘安裝檢測的功能,但是要在工業(yè)市場上現場正常應用還需不斷的調試、修改,盡量使軟件的操作簡單、直觀,讓工人能迅速上手,提高工作效率,實現它的真正使用價值。參考文獻:1 韓曉軍.數字圖像處理技術與應用M.北京:電子工業(yè)出版社,2017.2 阮秋琦.數字圖像處理基礎M.北京:清華大學出版社,2009.3 張錚.數字圖像處理與機器視覺:Visual C+與Matlab實現.M.北京:人 民郵電出版社,2014.4 陸衛(wèi)忠.C+ Builder 6程序設計教程M.科學出版社,2011.5 趙鵬.機器視覺理論及應用M.北京:電子工業(yè)出版社,2011.6 左建中.螺紋檢測的機器視覺
47、方法研究M.天津:天津大學機械工 程學院,20067 張國云.數字圖像處理及工程應用M.西安:西安電子科技大學 出版社,2016.8 孫興華,郭麗.數字圖像處理:編程框架、理論分析、實例應用和源碼實現M.北京:機械工業(yè)出版社,2012.9 Kenneth R. Castleman.Digital image processingM.Beijing : Publishing House of Electronics Industry, 2008.10 趙景波.C+ Builder 6.0 基礎教程M.機械工業(yè)出版社,2004.11 余文勇.機器視覺自動檢測技術M.北京:化學工業(yè)出版社,2013.12 Ramesh Jain, Rangachar Kasturi, Brian G. Schunck.Machine visionM. 北京 :
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南應用技術學院《土木工程預算》2023-2024學年第二學期期末試卷
- 鄭州電子信息職業(yè)技術學院《商品學概論》2023-2024學年第一學期期末試卷
- 河源職業(yè)技術學院《新媒體綜合實訓》2023-2024學年第二學期期末試卷
- 吉林農業(yè)大學《巖土力學綜合實驗》2023-2024學年第二學期期末試卷
- 重慶海聯職業(yè)技術學院《體育(一)》2023-2024學年第二學期期末試卷
- 遼寧省大連市中山區(qū)2024-2025學年初三第五次月考英語試題含答案
- 海口經濟學院《媒介經營與管理業(yè)務》2023-2024學年第二學期期末試卷
- 西北民族大學《英語閱讀(V)》2023-2024學年第一學期期末試卷
- 河南醫(yī)學高等??茖W校《數碼攝影基礎》2023-2024學年第一學期期末試卷
- 廣西電力職業(yè)技術學院《新媒體教育應用研究》2023-2024學年第二學期期末試卷
- 北京市師范大學附屬實驗中學2023-2024學年八年級下學期期中考試語文試題
- 上海2019年高三春考英語卷(帶參考答案作文答案圖片版)
- 勞務費發(fā)放表模板
- 2024年山東省濟南市市中區(qū)中考一模道德與法治試題
- 2024ABB IRB 1100產品手冊指南
- 南通市教育局直屬學校暨部分市屬事業(yè)單位委托招聘教師筆試真題2023
- 籃球比賽記錄表
- 施工隊長培訓課件
- 消防安全評定等級
- 生產加工型小微企業(yè)安全管理考試(含答案)
- 房屋居住權合同
評論
0/150
提交評論