OpenCV 将 Mat 保存为二进制(1 位深度)TIFF

OpenCV Save a Mat as Binary (1-bit depth) TIFF

假设在应用 OpenCv 的 Imgproc.adaptiveThreshold:

之后我们有一个 Mat
    Mat srcImage = ...;
    Mat binaryImage = new Mat();

    Imgproc.adaptiveThreshold(srcImage, binaryImage, 255, Imgproc.ADAPTIVE_THRESH_GAUSSIAN_C,
        Imgproc.THRESH_BINARY, THRESHOLD_BLOCK_SIZE, 10);

当我使用 Highgui.imwrite 保存 binaryImage 时:

boolean isOk = Highgui.imwrite("sample.tiff", binaryImage);

一切正常,除了输出 TIFF 实际上不是二进制 TIFF - 它是 8 位深度图像:

我想要实现的是类似于以下具有 1 位深度的 TIFF 格式:

问题是如何使用 OpenCV 做到这一点?

imwrite只能保存 8 位(或 16 位无符号)单通道或 3 通道图像。