opencv - OpenCV数据类型

标签 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
  • 这些值实际上代表什么?
  • 每个位代表多少位?
  • 有什么区别:

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

    无符号的16位整数和带符号的16位整数?

    如果他们分别要求8位和16位?
  • 将数据类型与浮点数一起使用有什么意义?
  • 最佳答案

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

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

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

    关于opencv - OpenCV数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897532/

    相关文章:

    c# - Emgu CV 位图到图像不再有效

    visual-studio - Visual Studio C# 视频捕捉

    c# - Emgu 中的 OpenCV Bitwise_and 函数

    c++ - 我无法设置 opencv 库的编译器路径。

    opencv - 如何使用opencv在鱼眼校正图像中绘制内接矩形?

    xml - 如何创建要在 OpenCV 中使用的 Haar Cascade(.xml 文件)?

    c# - 如何在 EMGU 中使用精确的 Opencv C++ 函数?

    c# - 如何使 PerspectiveTransform 工作?

    c++ - 如何在opencv中定义递减的rowRange

    ios - 如何快速将灰度图像转换为二值图像?