从扫描图像中删除黑色边框c#

时间:2015-03-07 14:13:08

标签: c# image border

我有一个从扫描仪扫描图像的应用程序,但有些扫描仪在保存的图像周围放置了黑色边框。 如何删除黑色边框? 非常感谢您的参与。

1 个答案:

答案 0 :(得分:1)

我使用Magick.NET库在过去的过程图像中运气不错。它可以在Codeplex上使用,也可以在Visual Studio中使用NuGet进行安装。图书馆的文档有点稀疏,但它在过去很适合我。

根据您正在处理的图像的确切性质,您可以做一些简单的事情,如裁剪边框所在的边缘,然后添加白色(或任何颜色;我只是假设你正在扫描文本文档或某些东西)边框以使图像恢复到标准尺寸。如果标准尺寸无关紧要,那么您当然可以将图像裁剪掉。如果这听起来像是一个可行的解决方案,那么这里有一些代码可以满足您的需求:

using (MagickImage image = new MagickImage(@"path_to_original"))
{
    int width = image.Width, height = image.Height;
    image.Crop(width - 800, height - 800);

    //if the image needs to be brought back up to a standarized size
    image.BorderColor = new ColorRGB(System.Drawing.Color.White);
    image.Border(100, 100);

    image.Write(@"path_to_cropped_image_with_no_more_black_border_around_it");
}

当然,您需要添加自己的值,以便裁剪/重新添加所需的宽度。