我编写了以下代码来加载任何类型的图片, 我将其转换为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);
}
答案 0 :(得分:2)
改为改变:
Mat test = new Mat(fileName2);
这样:
Mat test = new Mat(fileName2, ImreadModes.Unchanged);