2009-12-13 32 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