OpenCV中像素值的上限和下限是多少,如何获取它们?
我能弄清楚的唯一限制是CV_8UMat类型,通道中像素值的下限是0,上限是255。其他Mat的这些值是多少?
说CV_32F,CV_32S?
OpenCV中像素值的上限和下限是多少,如何获取它们?
我能弄清楚的唯一限制是CV_8UMat类型,通道中像素值的下限是0,上限是255。其他Mat的这些值是多少?
说CV_32F,CV_32S?
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
查看本教程了解数据类型范围。
需要考虑的一件事是,在显示类型为CV_32ForCV_64F的图像imshow时cvShowImage,OpenCV 期望值在 0.0 和 1.0 之间进行归一化。否则,它会使像素值饱和。
CV_32F 表示 32 位浮点数。CV_32S 表示 32 位有符号整数。我相信你可以猜到 CV_64F 代表什么。互联网上有很多关于不同数据类型可以采用的范围的参考资料,例如 32S。