gpt4 book ai didi

c++ - CV_8U 和 CV_32F 之间有什么区别,在它们之间转换时我应该担心什么?

转载 作者:IT老高 更新时间:2023-10-28 13:57:47 25 4
gpt4 key购买 nike

我有一些代码正在运行,我怀疑这是因为我在操作错误类型的数据或在它们之间转换不佳。

它混合了 cv::Mat 类型的 CV_8U 对象(这是用 cv::imread 将 jpg 作为灰度读取时创建的对象) code>)、CV_32FCV_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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com