使用OpenCV写入16位无压缩图像

Eya*_*alG 7 c++ opencv image

如何在不进行任何压缩的情况下保存16位图像(PNG或TIFF)?语法是什么?

oni*_*ake 2

根据OpenCV文档,cvSaveImage仅支持8位单通道或BGR图像。请参阅 2.0 文档。

您应该使用 libpng、libMagick++ 或其他一些库以其他位深度和格式保存。

libpng 文档包含有关如何编写 PNG 图像的教程。要指定每通道 16 位数据的 RGB,请使用 bit_depth = 16 和 color_type = PNG_COLOR_TYPE_RGB。

为了让你的生活(可能)更轻松一点,还有png++

编辑: OpenCV 似乎支持在较新版本中写入 16bpc 图像。请参阅 p.streef 的答案。这是相关文档的链接。