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 通道图像。
假设在应用 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 通道图像。