如何選擇合適的視覺板卡?選型指南與應用場景分析

如何選用視覺板卡
隨著市場上越來越多的視覺板卡,及配套的軟件包大量湧現。相信大家都會覺得,難以決定到底選用哪一家公司的產品才是最佳選擇。
在展開討論之前,首先要糾正一個普遍存在的錯誤觀念:即,在我們選用板卡的標準不是“好”與“壞”、“強”與“弱”,而是“適合”與“不適合”。一張設計出色的採集卡外加功能強大的軟件配套,自然是一個“好”的選擇。但如果在你的二次開發應用系統中,只用到了其軟件包中一半的函數。那麼,對於你們公司來說,整套產品雖然是“好”的產品,但卻不是適合的產品
  
1. 板卡硬件功能的對比
目前市場上的視覺板卡,主要可分為三類:
(1)視覺採集卡。這就是我們最提到的Frame Grabber。它最主要的功能就是將相機中輸出的模擬圖像信號,轉換成數字信號,最終傳至電腦中的內存中去。
(2)具有顯示功能的視覺卡。這種板卡,在上一種採集卡的基礎之中,又另加入了圖像顯示功能。即,可以將圖像直接顯示到任何顯示器上。
(3)自帶處理器的板卡。這種板卡本身就帶有處理器,進行圖像處理工作的程序,不必在電腦中而可以直接在板卡上運行。

由於以上三種板卡在硬件上就有很大不同,很難作橫向對比。因此我們僅就板卡一些常見的功能作分析對比。
■相機支持:隨著市場上各種新功能相機的出現,板卡與相機的匹配問題便更加顯得重要了。
(1)制式。 CCD相機有各種不同製式,如CCIR、RS170等等。確定板卡是否支持所有製式的信號。
(2)異步信號。異步信號可以節省拍照時間。不過在選用具有異步信號功能的相機之前,首先要確定板卡也有此功能。這一功能對於運行速度要求極高的系統來說,至關重要。以RS170為例,如果沒有這一功能,系統等待拍照的時間為0~40毫秒。
(3)逐行掃描。越來越多的系統會使用到逐行掃描相機,因此要首先知道板卡是否支持這種相機。
(4)多分辨率支持。不是每張板卡都可以支持所有分辨率的相機。
(5)多頻道。多數板卡,都可以同時控制二個以上的相機。至於,其他一些不常見的功能,如時鐘功能等,這裡略過不提。

■燈源觸發:相當多的板卡帶有燈源觸發功能。這不僅縮短了系統總體運行的時間,簡化了編程人員的工作。更重要的在於,這一功能可以更加有效地使燈源與相機同步工作。

■圖像存儲:大家已經知道,相機拍照的時間最多為40毫秒,而系統對於圖像進行分析、測量的時間則要漫長得多。因此,在實際操作中,常常會出現相機“等待”電腦的情況。因此,一些板卡便另設有一些內存,作為圖像的緩衝區。即,在前一幅圖像尚未分析完之間,接下來相機所傳來的圖像,暫時存放到緩衝區中。之後,再以先進先出的方式,逐一送至電腦內存。不過,關於板卡的這一硬件功能,市場上有兩個全然相反的評價。
· 其他參數:如,信號轉換速度等。
  
2. 板卡軟件包的對比
面對不同公司的視覺軟件包時,該如何作出正確的選擇?根據上面所講“軟件包的基本功能與構成”一節,就其中較重要的部分,下面我們一一作出分析。
我們首先要考慮的問題是:哪一家公司的軟件更加容易使用,即在此軟件包基礎上作二次開始,是否容易上手、能否縮短開發時間。從以下幾個方面來考慮:
■開發硬件環境:此軟件包在你公司所選用的電腦硬件系統下是否能正常運行。如,是否支持PCI接口、顯示卡等。
■開發操作系統:此軟件包在你們公司所選用的操作系統下能否正常運行。如,是否支持WINXP、WIN7、Linux等等。
■開發語言:此軟件包是否適用於你們公司所選用的開發語言。如,使用VC++,VB、CPB、DELPHI等語言作二次開發,是否簡單易用。當然我們還要對比不同公司的軟件包,在圖像處理方面的功能的優劣。
■邊緣尋找功能:邊緣尋找,是圖像處理中最為基本也是最為常用的工具。此功能主要以下幾個參數作對比。(1)精度:可以查閱軟件包的產品介紹或是使用說明。(2)穩定性:可使用不同圖像對軟件進行實際測試,如,進行GR&R測試。(3)多樣性:是否能夠應付各種不同的實際情況。如,不同形狀的邊緣尋找,不同明暗情況下的邊緣尋找等等。(4)速度:可在統一的情況下(如,使用同一圖像)對不同系統進行實際測試。
■目標定位功能:目標定位功能,是圖像處理中另一基本且常用的工具。同樣有以下幾個參數作對比。(1)精度:可以查閱軟件包的產品介紹或是使用說明。(2)穩定性:可使用不同圖像對軟件進行實際測試。(3)速度:對於目標定位功能來說,其運行速度的快慢,可以認為是其軟件水平高低的直接標誌之一。可在統一的情況下(如,使用同一圖像、同一速度電腦)對不同系統進行實際測試。(4)操作複雜程度:由於目標定位功能比邊緣尋找功能在算法上要復雜得多,這就使得此功能參數設置的繁簡程度,會直接影響二次開發的難易。
■圖像欲處理功能:圖像欲處理功能(如,二值化、邊緣銳化、反差調節等等),可以提高圖像分析速度、簡化分析工程。
■字符讀取功能(OCR):對於那些主要應用於各種字符讀取的視覺系統來說,此功能尤為重要。
■數據讀取功能:目前,絕大多數公司的軟件包中,都帶有條形碼、二維碼的讀取功能。大家所要注意的是,不同軟件應付在不良情況的能力,如,光源不足、圖像不清、源碼殘缺等情況。
■圖像緩衝功能:與板卡的“圖像存儲”功能相似,這一功能的主要目的,是為了緩解拍照與運算時間上不同步的矛盾。與板卡上硬件緩衝區所不同的是,這一功能純由軟件來實現。通常的概念是,在內存中開闢一固定空間,從板卡傳來的圖像信號,在電腦分析完之前都會按序存在這一空間裡。每幅圖像地址的指針,另存在一堆棧中。圖像以先進先出的方式清除。
■實際應用功能:很多公司,為了適應越來越激烈的市場競爭,在原有的底層軟件基礎上,又開發出可應用於某一特定領域的軟件包,以方便這一行業中的視覺二次開發商。如,半導體行業中BGA檢測工具;顯示器生產業中的顯示檢測工具;機器手行業中的系統定位工具等等。
■接口功能:軟件包是否能夠方便地與其他軟件或控件接口,一起運行。
· 其他輔助功能:除以上所講的各功能以外。各視覺公司又各自開發出一些其他非圖像處理的軟件工具,以方便開發者使用。如,數據分析工具(SPC)、圖像顯示工具、畫圖工具等等。
  
3. 應用系統開發時限及功能
在對該選用哪家公司板卡的問題上,作出決定之前。我們還要考慮公司所要開發的目標系統,要擁有哪些功能?在確定了系統這些功能之後,接下來要考慮這些功能是否要由自己來完成,還是使用板卡公司所提供的底層軟件包,等等一系列的問題。
下面,我們就將這些問題按思考步驟綜合一下:
a) 系統功能:首先確定所要開發的系統,應該有哪些基本功能。
b) 開發時限:再根據項目的具體要求,確定係統開發週期。
c) 開發商支持:軟件包開發商是否有詳盡的使用說明;是否能提供足夠的程式代碼;如果在本地區有技術支持人員;技術支持人員是否會說中文--如果不會,你們的開發人員是否能與他們很好地溝通。
d) 人力資源:考慮能夠參與開發工作的人力資源,包括:編程能力、視覺知識等等方面。考慮這個問題,是因為通常選用功能完備的軟件包,並不一定能縮短開發時間,但卻能夠簡化開發工作,使源程序便於優化。
e) 分析軟件包功能:確定軟件包所提供的工具,是否能夠支持系統所要求實現的功能。
f) 最後決定:根據系統所要實現的功能--哪家公司的軟件包,能夠覆蓋最多的系統功能;項目要求的開發時間--哪家公司的軟件最容易使用、開發週期最短;公司的人力資源--哪家公司的軟件包,最適合你公司開發人員的水平。綜合以上各點最決定:哪家的公司的板卡及軟件包,最適合你。

本文部分內容摘自CONTROL ENGINEERING。
line