【发布时间】:2013-09-27 03:00:46
【问题描述】:
我有一个 CV_16UC1 类型的 cv::Mat 图像,我需要在 CV_8UC1 中使用它,所以我可以在其上运行 cv::integral。我不担心转换过程中的溢出——本质上我只是想将图像从 unsigned short 批量转换为 unsigned char。
我在别处问过,有人建议cvtColor,但我不知道用什么转换代码。
【问题讨论】:
我有一个 CV_16UC1 类型的 cv::Mat 图像,我需要在 CV_8UC1 中使用它,所以我可以在其上运行 cv::integral。我不担心转换过程中的溢出——本质上我只是想将图像从 unsigned short 批量转换为 unsigned char。
我在别处问过,有人建议cvtColor,但我不知道用什么转换代码。
【问题讨论】:
使用 Mat::convertTo 怎么样? Documentation
一个简单的例子:(不确定是否需要比例因子,因为我没有尝试过)
Your16Image.convertTo(outputImage, CV_8UC1, scalefactor)
【讨论】:
您可以使用cv::convertScaleAbs 直接将您的输出矩阵设置为无符号字符。
【讨论】: