目前可以開發(fā)機器視覺的相關(guān)計算機語言有C++,C#,JAVA,PYTHON等,甚至簡單的PHP和JAVASCRIPT也可以開發(fā)相關(guān)的功能。
機器視覺需要用到圖像處理庫,有很多免費且開源的第三方圖像庫可以用,如十分著名的OpenCV,有C++,JAVA,PYTHON的版本,它包含了很多現(xiàn)成的函數(shù),可以處理圖像的形狀,顏色,大小,圖像文件保存,找相似圖像,物體邊緣(Cannyedge)算法。
機器視覺的另一個方向是神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)算法。這里面有代表性的是谷歌的TensorFlow,具有很強大的機器視覺能力。
文字識別方面的代表有谷歌的Tesseract,這也是開源項目。
機器視覺用什么硬件
一個典型的機器視覺系統(tǒng)包括以下五大塊:
1.照明照明是影響機器視覺系統(tǒng)輸入的重要因素,它直接影響輸入數(shù)據(jù)的質(zhì)量和應(yīng)用效果。由于沒有通用的機器視覺光源照明設(shè)備,所以針對每個特定的應(yīng)用實例,要選擇相應(yīng)的照明裝置,以達到最佳效果。光源可分為可見光和不可見光。常用的幾種可見光源是白幟燈、日光燈、水銀燈和鈉光燈。可見光的缺點是光能不能保持穩(wěn)定。如何使光能在一定的程度上保持穩(wěn)定,是實用化過程中急需要解決的問題。另一方面,環(huán)境光有可能影響圖像的質(zhì)量,所以可采用加防護屏的方法來減少環(huán)境光的影響。照明系統(tǒng)按其照射方法可分為:背向照明、前向照明、結(jié)構(gòu)光和頻閃光照明等。其中,背向照明是被測物放在光源和攝像機之間,它的優(yōu)點是能獲得高對比度的圖像。前向照明是光源和攝像機位于被測物的同側(cè),這種方式便于安裝。結(jié)構(gòu)光照明是將光柵或線光源等投射到被測物上,根據(jù)它們產(chǎn)生的畸變,解調(diào)出被測物的三維信息。頻閃光照明是將高頻率的光脈沖照射到物體上,攝像機拍攝要求與光源同步。
2.工業(yè)鏡頭FOV(FieldOfVision)=所需分辨率*亞象素*相機尺寸/PRTM(零件測量公差比)鏡頭選擇應(yīng)注意:①焦距②目標高度③影像高度④放大倍數(shù)⑤影像至目標的距離⑥中心點/節(jié)點⑦畸變
3.相機按照不同標準可分為:標準分辨率數(shù)字相機和模擬相機等。要根據(jù)不同的實際應(yīng)用場合選不同的相機和高分辨率相機:線掃描CCD和面陣CCD;單色相機和彩色相機。
4.圖像采集卡圖像采集卡只是完整的機器視覺系統(tǒng)的一個部件,但是它扮演一個非常重要的角色。圖像采集卡直接決定了攝像頭的接口:黑白、彩色、模擬、數(shù)字等等。
比較典型的是PCI或AGP兼容的捕獲卡,可以將圖像迅速地傳送到計算機存儲器進行處理。有些采集卡有內(nèi)置的多路開關(guān)。例如,可以連接8個不同的攝像機,然后告訴采集卡采用那一個相機抓拍到的信息。有些采集卡有內(nèi)置的數(shù)字輸入以觸發(fā)采集卡進行捕捉,當(dāng)采集卡抓拍圖像時數(shù)字輸出口就觸發(fā)閘門。
目前,千兆網(wǎng)口工業(yè)相機逐步成為主流,圖像采集卡一般采用視覺專用的千兆網(wǎng)卡。
5.視覺處理器視覺處理器集采集卡與處理器于一體。以往計算機速度較慢時,采用視覺處理器加快視覺處理任務(wù)?,F(xiàn)在由于采集卡可以快速傳輸圖像到存儲器,而且計算機也快多了,所以現(xiàn)在視覺處理器用的較少了。
更多精彩閱讀: 機器視覺是什么意思_機器視覺應(yīng)用案例 機器視覺的任務(wù)_機器視覺的基本工作過程是怎樣的 機器視覺自學(xué)需要學(xué)什么_學(xué)機器視覺好找工作嗎




