作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一些代码正在运行,我怀疑这是因为我在操作错误类型的数据或在它们之间转换不佳。
它混合了 cv::Mat
类型的 CV_8U
对象(这是用 cv::imread
将 jpg 作为灰度读取时创建的对象) code>)、CV_32F
和 CV_32S
。
这些数据类型之间有什么区别,在它们之间转换时我需要确定什么?
最佳答案
CV_8U 是无符号的 8 位/像素 - 即一个像素的值可以是 0-255,这是大多数图像和视频格式的正常范围。
CV_32F 是浮点型 - 像素可以具有 0-1.0 之间的任何值,这对于某些数据集计算很有用 - 但它必须转换为 8 位才能通过将每个像素乘以 255 来保存或显示。
CV_32S 是每个像素的有符号 32 位整数值 - 再次对您有用的是对像素进行整数数学运算,但再次需要转换为 8 位以保存或显示。这比较棘手,因为您需要决定如何将更大范围的可能值(+/- 20 亿!)转换为 0-255
关于c++ - CV_8U 和 CV_32F 之间有什么区别,在它们之间转换时我应该担心什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8377091/
我对函数的 OpenCV CV_* 常量有一些烦人的问题。我知道 OpenCV 最近摆脱了很多常量的 CV_,但是我找不到任何更新的文档。并且所有退出它的文档仍然显示旧常量。 例如,CV_BGR2GR
我是一名优秀的程序员,十分优秀!