带有Accord框架的C#相差校正彩色图像

时间:2019-05-08 09:57:53

标签: c# bitmap skew accord.net

我正在使用Accord框架对加载到位图中的图像进行校正。现在,我一直遇到的问题是我想对包含颜色的图像进行去偏斜,但是每次我尝试去偏斜它时,它总是要求获得灰度图像。现在使用图形,我可以将其转换为8bpp灰度像素格式,因此可以对它进行校正,但是我不需要灰度校正图像,我需要彩色图像。

使用Accord框架有什么可能的方法吗?

这是我当前正在使用的代码。

    public Bitmap DeskewImage(Bitmap bmp)
    {
       DocumentSkewChecker sc = new DocumentSkewChecker();
       Bitmap workmap = new Bitmap(bmp);
       Bitmap workmap1 = new Bitmap(bmp);
       Bitmap tempWorkmap = new Bitmap(workmap.Width, workmap.Height);
       using (Graphics g = Graphics.FromImage(tempWorkmap)) 
            g.DrawImage(workmap, 0, 0);
       Grayscale filter = new Grayscale(0.2125, 0.7154, 0.0721);
       workmap = filter.Apply(tempWorkmap);
       double angle = sc.GetSkewAngle(workmap);
       RotateBilinear rf = new RotateBilinear(-angle);
       rf.FillColor = Color.White;
       workmap1 = rf.Apply(workmap);
       return workmap1;
    }

0 个答案:

没有答案