opencv默认读入图像的数据类型为 uchar 一个字节。
利用OpenCV的 imwrite 函数 可以将 uchar 8位 和 uint6_t 16位数据保存在 jpg 或 png图像中。
CV_32F 数据可以保存为PFM,TIFF,OpenEXR和Radiance HDR格式
https://blog.csdn.net/mars_xiaolei/article/details/62233900
imwrite 可以定义数据的压缩等级, void imwrite(string filename, Mat src, compression_params )
vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION);
compression_params.push_back(0); // 无压缩png.默认压缩值为1
读入深度图像
imread(string filename, int flag);
默认读入数据类型为 uchar,3通道, flag为1 (IMREAD_COLOR)。
若想读入灰度图(单通道、uchar类型),那么 flag 可以设置为 0(IMREAD_GRAYSCALE)
对于CV_16U的数据类型,需要注明是读入任意深度数据,那么 flag 为2 (IMREAD_ANYDEPTH),此时还是三通道(每个通道均为相同的值)。
需要用 split 分离出单通道。