如何在不改变c#图像质量的情况下从tiff图像中删除水平线和垂直线

时间:2017-11-01 11:06:20

标签: c#-4.0 bitmap imagemagick image-manipulation imagemagick-convert

如何删除在扫描文档上显示enter image description here的行。

1 个答案:

答案 0 :(得分:0)

您可以通过以下代码添加水平和垂直线条。这里WHITE颜色会在图像上绘制线条,所以如果用TIFF图像背景颜色替换这种颜色,它就会显示为没有任何线条

string ImageUrl = @"C:\pics\a.tiff";
Image<Bgr, Byte> image = new Image<Bgr, byte>(ImageUrl);
Image<Bgr, byte> res = image.Copy();

LineSegment2D[] lines =
    image
    .Convert<Gray, byte>()
    .Canny(16, 16)
    .HoughLinesBinary(1, Math.PI / 16, 1, 10, 1)[0];

    foreach (LineSegment2D line in lines)
    {
        res.Draw(line, new Bgr(System.Drawing.Color.White), 2);
    }

res.Save(ImageUrl);