2009-12-13 62 views
0
depth Pixel depth in bits. The supported depths are: 

IPL_DEPTH_8U Unsigned 8-bit integer 
IPL_DEPTH_8S Signed 8-bit integer 
IPL_DEPTH_16U Unsigned 16-bit integer 
IPL_DEPTH_16S Signed 16-bit integer 
IPL_DEPTH_32S Signed 32-bit integer 
IPL_DEPTH_32F Single-precision floating point 
IPL_DEPTH_64F Double-precision floating point 
  1. 什麼這些值實際上代表什麼嗎?OpenCV的數據類型

  2. 每個位顯示多少位?

  3. 之間有什麼區別:

    無符號的8位整數,有符號8位整數?

    無符號的16位整數和有符號的16位整數?

    如果他們分別要求8位和16位?

  4. 使用浮點數據類型有什麼意義?

回答

1

無符號8位的值從0到255,而有符號的8位的值從-127到127.大多數數碼相機使用無符號數據。簽名數據主要是圖像操作的結果,如Canny邊緣檢測。

更高位深度圖像(如16位)的原因在圖像中更詳細。這允許更多操作,例如白平衡或增亮圖像,而不會在圖像中產生僞像。例如,一張明亮的黑暗圖像在圖像中具有明顯的條帶。 16位圖像將使圖像比8位圖像更亮,因爲有更多信息開始。

有些操作對浮點數據效果更好。例如,FFT(快速傅立葉變換)。如果對圖像執行過多的操作,則每次將像素值四捨五入爲整數的錯誤開始累積。使用浮點數減輕了這一點,但並沒有消除這一點。

+0

我已經寫了一些代碼,應該將圖像加載到Emgu.CV.UI.ImageBox。但是,無論我使用的圖像深度(字節或Int32)顯示的圖片保持不變。據我所知,與8位應該有256色和16萬與Int32。然而這些圖片彼此精確相似。 – user230752 2009-12-15 12:01:08