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