如何在python中使用OpenCV从图像中删除少量数字和文本
我正在执行图形提取。我想删除图像中X-Y平面之间的所有文本,如B(2,2),C(3,3)等,这样算法就不会将它们检测为一条直线。我可以在没有ocr的情况下使用形态学运算吗?如何在python中使用OpenCV从图像中删除少量数字和文本,python,opencv,graph,text-extraction,mathematical-morphology,Python,Opencv,Graph,Text Extraction,Mathematical Morphology,我正在执行图形提取。我想删除图像中X-Y平面之间的所有文本,如B(2,2),C(3,3)等,这样算法就不会将它们检测为一条直线。我可以在没有ocr的情况下使用形态学运算吗? 如果不必保留网格,最简单的方法是设置图像阈值并获得遮罩。这些步骤是: 分别设置阈值R、G、B(仅保留黑色区域) 应用像素,你会得到一个面具 删除图像中不在遮罩中的所有像素 thr=120 图像\u thr=np.double(图像
如果不必保留网格,最简单的方法是设置图像阈值并获得遮罩。这些步骤是:
thr=120
图像\u thr=np.double(图像
鉴于文本的颜色与其他任何颜色不同(如您发布的示例中所示),您可以使用
inRange
过滤/屏蔽/替换文本。文本不能是任何颜色,也不能位于X-Y平面的任何位置。好主意……请您在python中共享一个相同的代码片段。谢谢您的回答和代码。但这不起作用,因为文本和图形线也可以是黑色的。如果你有什么想法,请告诉我。
thr = 120
image_thr = np.double(image < thr)
mask = np.min(image_thr, axis=-1)
for c in range(3):
image[:, :, c][mask == 0] = 255