我有一个CV_16UC1类型的cv :: Mat图像,我需要它在CV_8UC1中,所以我可以在它上运行cv :: integral。我并不担心转换过程中的溢出 - 基本上我只想将图像从unsigned short批量转换为unsigned char。
我在别处问过,有人建议cvtColor,但我不知道要使用哪种转换代码。
答案 0 :(得分:9)
如何使用Mat :: convertTo? Documentation
一个简单的例子:(不确定你是否需要scalefactor,因为我没有尝试过)
Your16Image.convertTo(outputImage,CV_8UC1,scalefactor)
答案 1 :(得分:0)
您可以使用cv::convertScaleAbs直接将输出矩阵设置为unsigned char。