【发布时间】:2012-11-21 00:22:34
【问题描述】:
OpenCV中像素值的上限和下限是多少,如何获取?
我能算出的唯一限制是CV_8U 类型的 Mat,通道中像素值的下限是 0,上限是 255。其他 Mat 的这些值是多少?
说 CV_32F、CV_32S?
【问题讨论】:
标签: opencv
OpenCV中像素值的上限和下限是多少,如何获取?
我能算出的唯一限制是CV_8U 类型的 Mat,通道中像素值的下限是 0,上限是 255。其他 Mat 的这些值是多少?
说 CV_32F、CV_32S?
【问题讨论】:
标签: opencv
OpenCV 等效 C/C++ 数据类型:
CV_8U -> unsigned char(最小值 = 0,最大值 = 255)
CV_8S -> char(最小值 = -128,最大值 = 127)
CV_16U -> unsigned short(最小值 = 0,最大值 = 65535)
CV_16S -> short(最小值 = -32768,最大值 = 32767)
CV_32S -> int(最小值 = -2147483648,最大值 = 2147483647)
CV_32F -> float
CV_64F -> double
检查this tutorial 的数据类型范围。
需要考虑的一点是,当使用imshow 或cvShowImage 显示CV_32F 或CV_64F 类型的图像时,OpenCV 期望值在0.0 和1.0 之间进行标准化。否则,它会使像素值饱和。
【讨论】:
CV_32F 表示 32 位浮点数。 CV_32S 表示 32 位有符号整数。我相信你可以猜到 CV_64F 代表什么。互联网上有很多关于不同数据类型可以采用的范围的参考资料,例如here 是 32S。
【讨论】: