各种不同深度保存
16位图像保存
转换之后,如果直接保存,代码如下:
// 加载图像
Mat src = imread("D:/flower.png", IMREAD_UNCHANGED);
printf...);
printf("depth %d \n", src.depth());
// 转为为16位图像
Mat dst;
src.convertTo(dst, CV_16U);
// 归一化再保存
normalize...dst, dst, 0, 256 * 256, NORM_MINMAX);
imwrite("D:/flower-16.png", dst);
imshow("flower-16", dst);
两者效果对比如下...32位图像保存
// 加载图像
Mat src = imread("D:/flower.png", IMREAD_UNCHANGED);
printf("depth %d \n", src.depth(...));
// 转为为16位图像
Mat dst;
src.convertTo(dst, CV_32F);
// 归一化再保存
normalize(dst, dst, 0, 1.0, NORM_MINMAX