Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.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
Python 从扫描图像中去除网格_Python_Opencv_Handwriting - Fatal编程技术网

Python 从扫描图像中去除网格

Python 从扫描图像中去除网格,python,opencv,handwriting,Python,Opencv,Handwriting,我必须识别手写银行表格的文本。表单有一个网格,如图所示。我是图像处理新手。我读了几篇关于手写识别的论文,并将去噪、二值化作为预处理任务。我现在想分割图像,并使用神经网络识别字符。为了分割角色,我想去掉网格 事先非常感谢。 我有一个使用OpenCV的解决方案 首先,我反转了图像: ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV) 现在我执行了形态打开操作: opening = cv2.morphologyEx(thre

我必须识别手写银行表格的文本。表单有一个网格,如图所示。我是图像处理新手。我读了几篇关于手写识别的论文,并将去噪、二值化作为预处理任务。我现在想分割图像,并使用神经网络识别字符。为了分割角色,我想去掉网格

事先非常感谢。
我有一个使用OpenCV的解决方案

首先,我反转了图像:

ret,thresh2 = cv2.threshold(img,127,255,cv2.THRESH_BINARY_INV)

现在我执行了形态打开操作:

opening = cv2.morphologyEx(thresh2, cv2.MORPH_OPEN, k2)
cv2.imshow('opening', opening) 

您可以看到网格线已消失。但是在一些角色中也有一些高。因此,为了填补空白,我进行了形态扩张手术:

dilate = cv2.morphologyEx(opening, cv2.MORPH_DILATE, k1)
cv2.imshow('dilation', dilate) 


您可以查看更多使用的形态学操作内核

因此不是编码站点。请展示一些工作,以便我们可以帮助您改进。@DYZ我已经尝试对上面提供的图像使用去噪、二值化和边缘检测。我不明白如何摆脱网格。任何洞察都会有帮助。试试侵蚀和扩张operators@Soltius嘿,你知道如何让角色恢复到原始图像中的正常状态吗?闭合比膨胀有什么好处?@Soltius closing通常用于填充二值图像中的一些孔/斑点/间隙。当然,这是它的一般使用方式,但我认为它在这里很有用。这取决于您使用的内核的大小和形状,但我用一个(5,5)矩形内核(而不是膨胀阶段)进行了尝试,它填补了一些空白:)@Soltius正是!!!这就是我选择它的原因。我也尝试了不同的可能性