Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 去斑文档-OCR_C#_Algorithm_Image Processing_Filter_Ocr - Fatal编程技术网

C# 去斑文档-OCR

C# 去斑文档-OCR,c#,algorithm,image-processing,filter,ocr,C#,Algorithm,Image Processing,Filter,Ocr,我已经搜索过了,但在扫描的文档中找不到进行去斑的算法。我已经用中值滤波去除了一些较小的斑点 我需要一个从文档中去除大斑点的算法,我尝试过使用连接组件标签(使用一个RGE),但如果对象大于X像素,则没有选项将其涂成白色(去除) 有没有办法删除图片上大于X像素的对象(斑点、斑点、噪音) 编辑: 这是我正在为OCR准备的文档。 正如我们所能看到的,文本左侧有很多噪音。然后我用模糊来模糊左边的噪音,然后我对文档进行了二值化,得到了类似这样的结果 现在,我需要删除左侧的大黑色区域。我只是不知道怎么做…只

我已经搜索过了,但在扫描的文档中找不到进行去斑的算法。我已经用中值滤波去除了一些较小的斑点

我需要一个从文档中去除大斑点的算法,我尝试过使用连接组件标签(使用一个RGE),但如果对象大于X像素,则没有选项将其涂成白色(去除)

有没有办法删除图片上大于X像素的对象(斑点、斑点、噪音)

编辑:

这是我正在为OCR准备的文档。

正如我们所能看到的,文本左侧有很多噪音。然后我用模糊来模糊左边的噪音,然后我对文档进行了二值化,得到了类似这样的结果

现在,我需要删除左侧的大黑色区域。我只是不知道怎么做…

只是在Matlab中尝试一下

img = imread('xWFEC.png');
img = imcomplement(imclearborder(imcomplement(img)));
figure; imshow(img);
输出:

在Matlab中尝试一下

img = imread('xWFEC.png');
img = imcomplement(imclearborder(imcomplement(img)));
figure; imshow(img);
输出:


您是否尝试过使用tesseract?请发布图片或图片链接?对于图像处理问题,假设您应该始终发布示例图像。即使您在文档中看到许多不同类型的斑点/噪声,拥有一些示例图像也会帮助那些试图给您提供建议的人。消除斑点/斑点的方法有很多种,但根据您通常看到的噪声类型,将选择不同的技术。谢谢您的回答。我已经编辑了这个问题,并添加了更多的信息和图片。我还没有尝试使用tesseract,我正在尝试自己实现所有的算法……裁剪图像是一种选择吗?i、 e.找到黑色区域并裁剪到i的内边缘您是否尝试过使用tesseract?请发布图片或图片链接?对于图像处理问题,假设您应该始终发布示例图像。即使您在文档中看到许多不同类型的斑点/噪声,拥有一些示例图像也会帮助那些试图给您提供建议的人。消除斑点/斑点的方法有很多种,但根据您通常看到的噪声类型,将选择不同的技术。谢谢您的回答。我已经编辑了这个问题,并添加了更多的信息和图片。我还没有尝试使用tesseract,我正在尝试自己实现所有的算法……裁剪图像是一种选择吗?i、 e.找到黑色区域并裁剪到它的内侧边缘,想添加一个解释,特别是这是一个
C#
问题,据我所知,这些功能或类似功能在标准
C#
中不可用,因此需要由用户自己实现。@TheLathalCoder,再次感谢。据我所知,我们可以将'EmguCV'()与C#连用。这个答案()清楚地解释了如何用OpenCV实现Matlab‘imclearborder’。想补充解释一下它是如何工作的,特别是这是一个
C#
问题,就我所知,这些函数或类似的问题,在标准
C#
中不可用,因此需要由用户自己实现。@TheLethalCoder,再次感谢。据我所知,我们可以将'EmguCV'()与C#连用。这个答案()清楚地解释了如何用OpenCV实现Matlab“imclearborder”。