機器視覺的9大快速開發庫
一、開源的OpenCV
機器視覺我們最常用的軟體是OpenCV(Intel OpenSource Computer Vision Library),它的中文論壇http://www.opencv.org.cn/index.php裡面有非常清楚的介紹。
【PS】上面這個連結貌似失效了,目前筆者進入不了,這裡貼出官方連結:
http://www.opencv.com/
其實關於Opencv網上的資料超多了,大家可以自行搜尋。
二、VisionPro®7.0系統,快速開發強大的應用系統
康耐視公司(Cognex ®)推出的 VisionPro ® 系統組合了世界一流的機器視覺技術,具有快速而強大的應用系統開發能力。 VisionPro QuickStart ™ 利用拖放工具,以加速應用原型的開發。這一成果在應用開發的整個週期內都可應用。通過使用基於 COM/ActiveX 的 VisionPro 機器視覺工具和 Visual Basic ® 、 Visual C++ ® 等圖形化程式設計環境,開發應用系統。與 MVS-8100 ™ 系列影象採集卡相配合, VisionPro 使得製造商、系統整合商、工程師可以快速開發和配置出強大的機器視覺應用系統。
快速建立原型和易於整合
VisionPro 的兩層軟體結構便於建立原型和整合。互動層利用拖放工具和 ActiveX 控制元件以加速應用系統的開發;在程式層,將原型應用開發成使用者解決方案。基於 COM/ActiveX 技術使 VisionPro 應用系統易於整合第三方實用程式(例如圖形函式),而且為整個機器(例如 I/O 、機器人控制、工廠通訊)提供了基於 COM 控制元件應用的易於整合性。
先進的機器視覺軟體
Cognex 的視覺工具庫提供了用於測量、檢測、制導和識別的視覺軟體程式組。即使是在最具挑戰性的視覺應用中,這些工具也被證實具有高可靠性。
硬體靈活性
VisionPro 的 使用者可在較大範圍內選擇 MVS-8100 系列影象採集卡,以開發視覺應用。經 VisionPro 軟體測試和證明,這些影象採集卡為主機提供了用於影象處理和顯示的高速影象轉移,以獲得快速的視覺應用操作。多相機輸入、高速度及對高解析度相機的支援提高了 VisionPro 系統的採集靈活性。
技術優勢
• 快速開發強大的基於 PC 的視覺應用
• 簡化視覺系統與其他主控制程式的融合處理
• 相容多種 Cognex MVS-8100 系列影象採集卡
• 通過 QuickStart 拖放工具加速原型應用
• 配合視覺工具庫,以獲得高效能
VisionPro 的軟體結構
VisionPro 提供了易於應用的原型、發展和應用。在互動層,通過系列拖放工具, VisionProQuickStart 原型環境加速了強大機器視覺系統的開發速度。使用者可以很快定義工具、測試工具行為及有效的執行引數之間的連線。通過 QuickStart 或 Visual Basic 可訪問 ActiveX 控制元件。因此,在程式層,原型應用可通過 Visual Basic 或 Visual C++ 增強,以開發出個性化的解決方案。這一效能將使應用系統的開發時間大大縮短。 VisionPro 的結構使使用者可從 QuickStart 、 ActiveX 或 COM 物件中的任何一層開始他們的應用系統開發。
康耐視公司宣佈推出 VisionPro®7.0 機器視覺軟體。VisionPro 7.0引入了可簡化檢測應用的開發和現場維修的新概念 InspectionDesigner™。VisionPro 7.0還增加了專為全方位和較難讀取的一維條碼而優化的行業最佳的條碼讀取工具 1DMax™,以及多個新工具和讀取功能增強。
Inspection Designer 的引入 — 首次用於一般檢測應用 — 為視覺系統整合商和終端使用者提供了可簡化檢測應用的規範、開發和維修的功能。Inspection Designer 具有三個主要優勢:
♦缺陷的界定。一種新的影象等級評定實用工具,使整合商和終端使用者能夠輕鬆地評定產品影象等級和指定各個影象中的不同缺陷型別。影象等級評定實用工具可建立一個已評定等級的影象庫,以便在接下來的步驟中使用。
♦驗證。驗證工具可幫助開發商快速確認視覺系統正在通過比較數百張,甚至數千張已儲存且已評定等級的影象的檢測結果等級來獲取所需結果。
♦現場維修。驗證工具還允許終端使用者對照已評定等級的影象庫隨時重新測試檢驗工具,以確認工廠車間調整不會影響之前的檢測應用。它還允許使用者在已評定等級的工件庫中新增新影象。
“Inspection Designer 的引入為系統整合商及其終端使用者提供了一種共同的交流工具,因為它規定了定義好、壞工件的正規標準,”視覺軟體業務部門經理 Markku Jaaskelainen 說道,“它可以方便地定義一個專案,並幫助確保整合商和終端使用者在專案開始階段就達成共識。”
VisionPro 7.0 還具有多種新功能和增強功能,包括:
♦用於處理全方位和較難讀取的條碼的軟體工具 1DMax。1DMax 可以讀取其他軟體無法讀取的條碼,包括有鏡面反射、損壞、背景噪聲和/或旋轉的程式碼。
♦支援在 Microsoft® Windows® 7 64 位作業系統中使用 MVS-8602e CameraLink® 板卡,可快速讀取需要較大記憶體的大影象。
新的 VisionPro 7.0 現已上市。更多資訊或要下載 VisionPro 7.0 免費 32 或 64 位試用版,敬請訪問http://www.cognex.com/visionpro。
關於康耐視(COGNEX)
康耐視公司設計、研發、生產和銷售機器視覺和工業 ID 系統,即有“視覺”的電腦。康耐視的視覺和 ID 系統在全球範圍內的整個生產和分銷過程中的多種檢驗、識別和引導應用中被廣泛使用。作為全球領先的機器視覺和工業 ID 公司,康耐視自從 1981 年成立以來,已經銷售了 50 多萬套機器視覺系統,累計利潤超過 25 億美元。康耐視總部設在美國馬薩諸塞州 Natick 鎮,在北美、日本、歐洲、亞洲和拉丁美洲設有地區辦事處和經銷處。更多詳情,請登入公司網站:http://www.cognex.com。
三、LabVIEW用於機器視覺
美國NI公司的應用軟體LabVIEW機器視覺軟體程式設計速度是最快的。LabVIEW是基於程式程式碼的一種圖形化程式語言。其提供了大量的影象預處理、影象分割、影象理解函式庫和開發工具,使用者只要在流程圖中用圖示聯結器將所需要的子VI(VirtualInstruments LabVIEW開發程式)連線起來就可以完成目標任務。任何1個VI都有3部分組成:可互動的使用者介面、流程圖和圖示聯結器。LabVIEW程式設計簡單,而且對工件的正確識別率很高。
四、德國的MVTecHALCON
HALCON是德國MVtec公司開發的一套完善的標準的機器視覺演算法包,擁有應用廣泛的機器視覺整合開發環境。它節約了產品成本,縮短了軟體開發週期——HALCON靈活的架構便於機器視覺,醫學影象和影象分析應用的快速開發。在歐洲以及日本的工業界已經是公認具有最佳效能的Machine Vision軟體。
HALCON源自學術界,它有別於市面一般的商用軟體包。事實上,這是一套imageprocessing library,由一千多個各自獨立的函式,以及底層的資料管理核心構成。其中包含了各類濾波,色彩以及幾何,數學轉換,型態學計算分析,校正,分類辨識,形狀搜尋等等基本的幾何以及影像計算功能,由於這些功能大多並非針對特定工作設計的,因此只要用得到影象處理的地方,就可以用HALCON強大的計算 分析能力來完成工作。應用範圍幾乎沒有限制,涵蓋醫學,遙感探測,監控,到工業上的各類自動化檢測。
HALCON支援Windows,Linux和Mac OS X操作環境,它保證了投資的有效性。整個函式庫可以用C,C++,C#,Visual basic和Delphi等多種普通程式語言訪問。HALCON為大量的影象獲取裝置提供介面,保證了硬體的獨立性。它為百餘種工業相機和影象採集卡提供介面,包括GenlCam,GigE和IIDC 1394。
HALCON功能
隨著MVTec公司與學術界的不斷合作,在最新推出的HALCON 11中具有以下新功能:
1.技術革新
HALCON 11可以實現真正意義上的目標識別。基於樣本的識別方法可以區分出數量巨大的目標物件。使用這種技術可以實現僅依靠顏色或紋理等特徵即可識別經過訓練的目標,從而無需再採用一維碼或二維碼等用於目標識別的特殊印記。
2.強大的三維視覺處理
HALCON 11提供的一個極為突出的新技術是三維表面比較,即將一個三維物體的表面形狀測量結果與預期形狀進行比較。HALCON提供的所有三維技術,如多目立體視覺或sheet of light,都可用於表面重構;同時也支援直接通過現成的三維硬體掃描器進行三維重構。此外,針對表面檢測中的特殊應用對光度立體視覺方法進行了改善。不僅如此,HALCON現在還支援許多三維目標處理的方法,如點雲的計算和三角測量、形狀和體積等特徵計算、通過切面進行點雲分割等。
3.高速機器視覺體驗
自動運算元並行處理 (AOP) 技術是HALCON的一個獨特效能。HALCON 11中支援使用GPU處理進行機器視覺演算法的運算元超過75個,比其他任何軟體開發包提供的數量都多。除此之外,基於聚焦變化的深度影象獲取 (depth fromfocus)、快速傅立葉變換 (FFT) 和HALCON的區域性變形匹配都有顯著的加速。HALCON 11會帶給使用者更高速的機器視覺體驗。
4.其他新功能
1)Aztec碼識別;
2)Micro QR碼識別;
3)為分類自動選擇特徵;
4)使用HDevelop效能評測工具進行高效的編碼分析;
5)支援Mac OS X 10.7作業系統;
6)重新修訂HALCON/C++介面;
7)三維資料快速視覺化;
8)遠心鏡頭立體視覺;
9)改善攝像機標定技術;
10)HDevelop OCR助手,包含訓練檔案瀏覽器;
11)用於一維碼和二維碼識別的GS1術語學;
12)序列化HALCON/.NET及HALCON/C++;
13)易用的測量工具;
14)支援JPEG XR及其他。
五、MATLAB相關的工具箱
如下:
Image Processing Toolbox (影象處理工具箱)
Computer Vision System Toolbox (計算機視覺工具箱)
Image Acquisition Toolbox (影象採集工具箱)
其他的一些工具箱:
A
1。名稱:機器視覺工具箱。(Machine Vision Toolbox )
2。開發者:Peter Corke. 釋出日期: 1999
3。機構:澳大利亞 布里斯班 機器人和自動化研究組 負責人。
4。下載介面:
http://www.cat.csiro.au/cmst/staff/pic/vision-tb.html
5。簡介:這個工具箱是作者研究領域的程式收集:光度測定、
影象測量、比色、過濾、特徵提取、影象讀寫、過濾、分割等。結合Matlab和工作站,可以作為機器視覺演算法研究提供方便的支援。
B
1。名稱:聽覺工具箱。(Auditory Toolbox)
2。開發者:Malcolm Slaney. 釋出日期: 1998
3。機構:加拿大 Interval Research 公司。
4。下載介面:
http://rvl4.ecn.purdue.edu/~malcolm/interval/1998-010/
5。簡介:聽覺工具箱可以實現典型的聽覺模型,它還可以幫助您驗證您的聽覺模型假說,揭示人類聽覺系統感知聲音的原理。
C
1。名稱:人類迴圈系統模型工具箱 (PHYSBE,a physiological simulation benchmark experiment)
2。開發者:Kevin Kohrt。釋出日期: 1966年提出理論模型,1999年提供下載。
3。機構:__。
4。下載介面:
http://www.mathworks.com/products/demos/simulink/physbe/
5。簡介:經典的人類迴圈系統模擬模型,可以用來模擬血流中的氧、氮、營養物質、熱量和化學示蹤劑。
D
1。名稱:代謝模型 分析與優化工具箱 (MetMAP is a Matlab Toolboxfor Metabolical Modeling, Analysis and oPtimization )
2。開發者:Julio Vera。釋出日期: 2003年。
3。機構:西班牙 La Laguna大學。
4。下載介面:http://webpages.ull.es/users/sympbst/pag_ing/pag_metmap/index.htm
http://webpages.ull.es/users/sympbst/pag_ing/pag_metmap/Downloads.htm
5。簡介:幫助您從理論模型的角度來研究一個代謝系統,分析代謝通路的結構和動力學性質。另外,可以對一個干預措施進行優化設計。
E
1。名稱:大腦風暴 (腦電磁訊號視覺化與分析工具箱 BrainStorm is an integrated Matlab Toolbox dedicated toMagnetoencephalography (MEG) and Electroencephalography (EEG) datavisualization and processing. )
2。開發者: Felix Darvas。更新日期: 2005年1月!
3。機構:USC, Los Angeles 。
4。下載介面:http://neuroimage.usc.edu/brainstorm/Downloads.php
請用我的賬號登陸。使用者名稱: [email protected] 密碼:UsPQ7t5G
5。簡介:能夠對腦電圖、腦磁波描記圖進行視覺化和分析。是這方面非常重要的共享件。
F
1。名稱:腦電圖實驗室 (腦電磁生理訊號分析工具箱 EEGLAB (v4.x) is an interactive Matlab toolbox for processingcontinuous and event-related EEG, MEG and other electrophysiological data usingindependent component analysis (ICA), time/frequency analysis, and othermethods including artifact rejection. )
2。開發者: A Delorme 。更新日期: 2004年。
3。機構: Computational Neurobiology Laboratory, The Salk Institute.
4。下載介面:http://sccn.ucsd.edu/eeglab/
5。簡介:能夠對腦電圖、腦磁波描記圖進行視覺化和分析。
G
1。名稱:超聲射束形成工具箱 (Beamformation Toolbox)
2。開發者: Svetoslav Nikolov。更新日期: 2000年1月。
3。機構: Electronics & Signal Processing TechnicalUniversity of Denmark.
4。下載介面:http://www.oersted.dtu.dk/personal/sn/ultrasound_imaging/?BFT/main.html
5。簡介:由C寫成,執行速度快。具有多種演算法。This is a toolbox for Matlab written in C for beamformation ofultrasound data. It is extremely fast and supports all of the standardbeamformation methods as well as monostatic, bistatic and polystatic syntheticaperture focusing. The beamformation can be either line, all lines in parallel..
H
1。名稱:細胞生長結構視覺化工具箱 (Growing Cell Structure Visualisation Toolbox)
2。開發者: Rob Harrison 。發表日期:1999 年。
3。機構: Departments of Automatic Control & Systems Engineeringand Pathology University of Sheffield
4。下載介面:http://www.shef.ac.uk/~path/GCSVIS/index.html
5。簡介:發表於Lancet雜誌的相應軟體。使用前需要對其方法有所瞭解。Walker AJ, Cross SS, Harrison RF. Visualisation ofbiomedical datasets by use of growing cell structure networks: a noveldiagnostic classification technique. Lancet 1999; 354:1518-1521.
六、加拿大的Maxtor Image library
MIL軟體包是一種硬體獨立、有標準組件的32點陣圖象庫。它有一整套指令,針對圖象的處理和特殊操作,包括:斑痕分析、圖象校準、口徑測定、二維資料讀寫、測量、圖案識別及光學符號識別操作。它也支援基本圖形裝置。MIL能夠處理二值,灰度或彩色圖象。
此軟體包為應用的快速發展設計,便於使用。它有完全透明的管理系統,沿襲虛擬資料物件操作,而非物理資料物件操作,允許獨立於平臺的應用。這意味著一個MIL應用程式能夠在不同環境(Win98/Me/NT/2000)中運行於任何VESA-compatible VGA板或Matrox圖象板上。MIL用用系統的觀念識別硬體板,單一應用程式可控制一種以上硬體板。MIL能單獨在主機上執行,但使用專用加速Matrox硬體效率更高。
MIL軟體包具有以下功能:
· 獲取高達16位的灰度圖或彩色圖
· 處理1、8、16和32位整數或浮點數圖象
· 根據操作處理彩色圖象彩色圖象的每一層會被相繼的獨立處理。統計分析、斑痕分析、測量、圖案匹配、光學符號識別和程式碼操作不支援彩色處理。
· 顯示1,8或16位灰度或彩色圖象(平臺支援情況下)
MIL函式功能:
·點對點
·統計
·濾波
·形態學處理
·幾何變換
·粒子分析
·測量
·壓縮/解壓縮
·邊緣查詢
·幾何模型查詢
·模式匹配
·條碼和矩陣碼
·校準
·光學字元識別OCR
·相機自動聚焦
·應用程式控制
·資料控制
·顯示控制
·數字裝置控制
·圖形
七、eVision機器視覺軟體
eVision機器視覺軟體包是由比利時euresys公司推出的一套機器視覺軟體開發SDK,相比於其他的機器視覺開發包例如cognex visionlibrary, Matrox Imaging library,它似乎在SDK的功能分類上比這兩個提供了更多的選擇項,而這一點感覺Matrox Imaginglibrary做特別差,顯得特別蒼白。
evision機器視覺軟體開發包所有程式碼都經過mmx指令的優化,處理速度非常快,感覺和Intel的IPP有的一拼(當然還是比IPP稍遜一籌,但是畢竟這是Intel自家開發的),但卻提供了比IPP多得多的機器視覺功能,例如OCR,OCV,基於影象比對的影象質量檢測,Barcode和MatrixCode識別。而且我在這兩年開發機器視覺軟體基本都是基於evision開發,
evision主要以下幾個模組組成:
Easy - 通用庫,包含資料結構的定義以及影象檔案的儲存和讀取等。
EasyImage - 數字影象處理通用庫,包含通用的數字影象處理操作和演算法,比如fft,影象的代數運 算,直方圖統計和分析,影象配準和幾何變換等等。
EasyColor - 彩色影象處理庫,包括彩色影象空間的轉換,Bayer轉換,基於K均值的彩色影象分割演算法等
EasyObject - Blob分析庫,包括Blob的特徵提取,影象分割等。
EasyGauge - 基於亞象素的影象測量工具。
EasyMatch - 基於灰度相關性的影象匹配包,速度非常快,而且能夠得到達到亞象素精度的匹配結果。對於旋轉,尺度變化和平移等都能精確找到模板影象的位置。
EasyFind - 基於幾何形狀的影象匹配包,速度也非常快,但是精度不太準確,受影象噪聲影響大,euresys公司還在繼續完善中。
EasyOCR - 字元識別工具包,做的也不是太好,因為是基於模板匹配的方法,沒有基於神經網路的來的精確,但是在大部分場合下還是非常適用的,速度快,定位精度高。
EasyOCV-印刷質量檢測包,做的尤其好,和下面要介紹的EChecker使用,可以廣泛適用於印刷檢測和字元質量檢測等場合,速度和準確度都非常高。
EChecker- 更廣範的印刷質量檢測包,適用於所有的印刷檢測物件。
EasyBarcode和EasyMatrixCode-一維,二維條碼識別庫。做的也是相當一流的,和CVL不相上下。
EasyBGA-半導體晶片的BGA檢測包。
EasyWorldShape - 計算機視覺標定工具
八、HexSight
Adept公司出品的HexSight是一款高效能的、綜合性的視覺軟體開發包,它提供了穩定、可靠及準確定位和檢測零件的機器視覺底層函式。其功能強大的定位器工具能精確地識別和定位物體,不論其是否旋轉或大小比例發生變化。HexSight即使在最惡劣的工作環境下都能提供可靠的檢測結果,呈現出非凡的效能。
HexSight軟體包含一個完整的底層機器視覺函式庫,程式設計師可用它來建構完整的高效能2D機器視覺系統,節省整個系統開發的時間。HexSight可利用Visual Basic、Visual C++或Borland Dephi平臺方便地進行二次開發。
HexSight 的歷史
HexSight最早是一家位於加拿大魁北克專注於機器視覺演算法開發的公司, HexSight是世界上第一個做到1/40亞畫素精度的視覺軟體,其特點是精度高、定位識別速度快、對環境光線等干擾不敏感、檢測可靠性極高,因而於2000年7月被美國著名機器人公司Adept收購。HexSight軟體自1999年釋出的Release1.0開始,現在已分佈Release3.3版本。
HexSight 的定位技術
HexSight的定位工具是根據幾何特徵,採用最先進的輪廓檢測技術來識別物件和模式。這一技術在影象凌亂、亮度波動、影象模糊和物件重疊等方面有顯著效果。HexSight能處理自由形狀的物件,並具有功能強大的去模糊演算法。HexSight快速,在一臺2GHz 的處理器上,一般零件尋找和定位不超過10ms,並可達到1/40亞畫素位置重複精度和0.01度旋轉重複精度。此外HexSight有豐富但易用的影象標定工具,而且它的定位器可以方便嵌入到OEM的產品中。
九、RVB機器視覺和圖象處理演算法軟體
利維機器視覺應用軟體開發包(Real ViewBench,簡稱RVB)是致力於自動化領域的專業機器視覺和圖象處理演算法軟體包,是機器視覺行業極具競爭力和價格優勢的專業演算法軟體包。
RVB包含各種Blob分析,形態學運算,模式識別和定位,尺寸測量等效能傑出的演算法,提供不同形狀關注區(Region ofInterest, 簡稱ROI)操作,可以開發強大的視訊人機介面功能。RVB提供了穩定、可靠及準確定位和檢測零件的機器視覺底層函式,其功能強大的定位器工具能精確地識別和定位物體,即使在最惡劣的工作環境下都能提供可靠的檢測結果,呈現出非凡的效能。
RVB軟體包含一個完整的底層機器視覺函式庫,程式設計師可用它來建構完整的高效能2D機器視覺系統,節省整個系統開發的時間。可利用Visual Basic、Visual C++或Borland Dephi平臺方便地進行RVB二次開發。
RVB與圖象採集裝置如CCD相機無關,目前支援多種廠家的相機,介面包括USB2.0/3.0, GigE,1394a/b,如有更多相機介面要求,可以為客戶免費定製。
精華版功能
¨ 支援8,16,24,32位深度數字影象;支援絕大部分檔案影象格式如BMP,JPG,GIF, TIF等。
¨ 提供各種圖象預處理功能,如規範化處理,邊緣增強,去噪,形態學運算如腐蝕,膨脹,幾何變換如縮放,旋轉等;
¨ 提供各種統計分析功能如面積,方向,橢圓度,投影統計,柱狀圖分析,定位,模式識別等;
¨ 提供強大的BLOB分析和相關處理功能,如自動二值化,BLOB屬性分析,BLOB與圖象的變換;
¨ 支援多種形狀的關注區(ROI)物件處理功能,如矩形,圓形,環行,自定義形狀,滿足絕大應用系統的需要;
¨ 提供基於高效能的GUI功能,支援各種幾何圖形的繪製,數字圖象的繪製和RVB各種特定物件的繪製,滿足複雜多變的視訊互動要求。
下載RVB精華版
(此處連結失效了,大家如果有需要可以自行去網上找,或者轉到本blog的源地址向原作者申請)
專業版功能
¨ 包含所有精華版的功能;
¨ 提供各種常用功能的軟Caliber類,如定位,BLOB 分析,正反識別,記數等,可以快速應用到具體視覺方案裡面,縮小應用系統開發週期;
¨ 提供專用的支援軟Caliber顯示和編輯的視訊編輯視窗類,支援縮放顯示,拉伸等,可以開發靈活的應用介面;
¨ 支援Caliber類快速進行檔案讀寫操作。
RVB在業界範圍內廣泛得到使用,使用者可以利用其開放式結構快速開發影象處理和機器視覺應用軟體。下面是部分已經應用RVB的行業:
•宇宙航空和太空旅行
•汽車零件製造
•製陶業
•化學
•電子元件和裝置
•食品業
•玻璃製造和生產
•身體健康和生命科學
•冶金和勘探業
•機械
•醫療和製藥業
•紙製造業
•精密工程和光學
•車軌和火車檢測
•橡膠
•半導體
•輪船製造
=================================================================
以上內容來源於 常見的機器視覺軟體,對於剛剛入手機器視覺的小白,筆者推薦先從Opencv演算法入手,而對於希望以後在機器視覺領域做一些具體的工業視覺開發的,在入手Opencv後,可繼續入手VisionPro和Halcon兩個庫,最近筆者面試了一些公司,發現做機器視覺的的商業應用的很多都是使用後兩個,Opencv只作為影象處理的輔助。