OpenCV数据类型

时间:2009-12-13 19:53:10

标签: opencv emgucv

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. 这些价​​值实际上代表什么?

  2. 每个位有多少位?

  3. 有什么区别:

    无符号8位整数和有符号8位整数?

    无符号16位整数和有符号16位整数?

    如果他们分别要求8位和16位?

  4. 使用浮点数据类型有什么意义?

1 个答案:

答案 0 :(得分:1)

无符号8位的值为0到255,而带符号的8位的值为-127到127.大多数数码相机使用无符号数据。有符号数据主要是对图像进行操作的结果,例如Canny边缘检测。

更高位深度图像(例如16位)的原因在图像中更详细。这允许更多操作,例如白平衡或增亮图像,而不会在图像中产生伪像。例如,已经变亮的暗图像在图像中具有明显的条带。 16位图像将使图像比8位图像更亮,因为有更多信息可以开始。

某些操作可以更好地处理浮点数据。例如,FFT(快速傅立叶变换)。如果对图像进行了太多操作,则每次将像素值舍入为整数的错误开始累积。使用浮点数可以减轻这种情况,但不能消除这种情况。