【问题标题】:how to remove horizontal line and vertical line from the tiff image without changing image quality in c#如何在不改变c#中图像质量的情况下从tiff图像中删除水平线和垂直线
【发布时间】:2018-04-02 23:45:45
【问题描述】:

如何删除扫描文档上出现 的线条。

【问题讨论】:

  • 您是否尝试过搜索 Stackoverflow,因为这已经出现了很多?有一个可以帮助stackoverflow.com/questions/46861201/…你也应该至少先尝试过一些东西,因为人们在这里帮助你解决问题而不是为你编写代码。
  • 常量浮动限制 = 0.60258f;颜色 c = myBitmap.GetPixel(i, j); if (c.GetBrightness() >= limit) { myBitmap.SetPixel(i, j, Color.White); //myBitmap.SetResolution(300, 300); } myBitmap.Save(@"E:\1.bmp");
  • 如果您单独发布输入图像,这将有助于我们测试想法。
  • if (openFileDialog2.ShowDialog() == System.Windows.Forms.DialogResult.OK) { myBitmap = (Bitmap)Bitmap.FromFile(openFileDialog2.FileName); }

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


【解决方案1】:

您可以通过下面的代码添加水平线和垂直线。这里白色会在你的图像上画线,所以如果你用你的 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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-16
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2013-10-06
    相关资源
    最近更新 更多