解決方案
您在 LabVIEW 中看到的現象與 Image Display 本身有關。 LabVIEW 中的 Image Display 只能夠呈現位元深度 8-bit 的影像資訊。以這樣的概念為基礎,當提供一個 16-bit 的影像時,LabVIEW 則會映射到 8-bit,同理也會將 10-bit 以及 12-bit 的影像強制映射。
LabVIEW Image Display 預設會將全部的值作動態調整,其演算法是將影像中的最大值與最小值,自動的映射到 0~255 之間。如果是一張 16-bit 的全黑影像但卻顯示灰色且很多雜訊,這是因為顯示的區間被調整過了。
為了改變這樣的顯示現象,則必須要改變 16-bit image mapping conversion mode。改變的方式可以透過以下方式完成,在 Block Diagram 右鍵點擊 Image Display indicator 並選擇
Create»
Property Node,選擇屬性為
16-bit Display Mapping»
Conversion Method,並且右鍵點擊屬性節點改為寫入。這裡有許多選項可以改變顯示。
上圖顯示了如何透過屬性節點去實現不做動態調整去顯示 10-bit 的單色影像。為了完成這樣的事情,必須設定 Conversion Method 為 Given Range,且設定最小值與最大值為 0 及 1023。這樣的設定方式適用於各種位元深度以及各種相機。
你也可以透過以下方式去做到相同效果:右鍵點選 Front Panel 中的 Image Display,並選擇 16-Bit Display Mapping,接著會跳出一個視窗讓您將 Conversion Method 設定為 Given Range,同時也可以設定最小值與最大值。
這樣的作法應該可以消除您在幾乎全白或全黑的影像中所看到的雜訊。再次提醒,這只是顯示上的問題,實際影像數值是不會有任何改變的。