我写了下面的代码来加载任意类型的图片, 我将其转换为 CV_8UC1 类型,然后再次将其保存在文件中。
问题是当我加载保存的图像时,它不是 CV_8UC1 类型而是 CV_8UC3 类型。
我哪里错了?
private void SaveTest()
{
var fileName = @"F:\src.png";
Mat src = new Mat(fileName);
var gray = src.CvtColor(ColorConversionCodes.BGR2GRAY);
Debug.Assert(gray.Type() == MatType.CV_8UC1);
var fileName2 = @"F:\temp.png";
gray.ImWrite(fileName2);
Mat test = new Mat(fileName2);
Debug.Assert(test.Type() == MatType.CV_8UC1);
}
最佳答案
只需更改为:
Mat test = new Mat(fileName2);
这个:
Mat test = new Mat(fileName2, ImreadModes.Unchanged);
关于c# - 如何使用 CV_8UC1 类型保存 OpenCvSharp.Mat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48619633/