OpenCV数据类型

OpenCV数据类型,opencv,emgucv,Opencv,Emgucv,这些值实际上代表什么 每个有多少比特 以下两者之间的区别是什么: 无符号8位整数和有符号8位整数 无符号16位整数和有符号16位整数 如果他们分别要求8位和16位 将数据类型与浮点一起使用有什么意义 无符号8位的值从0到255,而有符号8位的值从-127到127。大多数数码相机使用无符号数据。有符号数据主要是图像操作的结果,如Canny边缘检测 更高位深度图像(如16位)的原因是图像中的细节更多。这允许进行更多操作,例如白平衡或使图像变亮,而不会在图像中创建瑕疵。例如,一个暗的图像被亮度调高,在

这些值实际上代表什么

  • 每个有多少比特

  • 以下两者之间的区别是什么:

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

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

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

  • 将数据类型与浮点一起使用有什么意义


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

    更高位深度图像(如16位)的原因是图像中的细节更多。这允许进行更多操作,例如白平衡或使图像变亮,而不会在图像中创建瑕疵。例如,一个暗的图像被亮度调高,在图像中有明显的条纹。16位图像将允许图像比8位图像更亮,因为有更多的信息可以从开始


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

    我已经编写了一些代码,可以将图像加载到Emgu.CV.UI.ImageBox中。但无论我使用何种图像深度(字节或Int32),显示的图片都保持不变。据我所知,使用8位时,应该有256种颜色,使用Int32时应该有1600万种颜色。然而,这些图片彼此非常相似。
    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