我在使用python的图像上运行OCR,然后获取每个单词的坐标,并在其上执行掩蔽和修补。这是我目前的结果


正如你所看到的,在图像的顶部,文字没有被正确地绘制。我通过用OPENCV和手动绘制文本的坐标来解决这个问题。我注意到Opencv只以水平或垂直矩形方式或垂直矩形执行裁剪,如下所示:

如果我在像画图这样的图像编辑工具上用相同的坐标绘制相同的图像,我将得到正确的边界框,即,

我不希望这种事发生,因为它影响了我的成绩。我该怎么改进呢?
代码:
textCoordinates = runOcr(img)
for i in textCoordinates:
tl[1],br[1],tl[0],br[0]] = i.coordinates
smImg = img[tl[1]:br[1],tl[0]:br[0]]
inpaintedImg = inpaintAlgo(smImg) ## this function detects and creates a mask and inpaints by it.发布于 2022-09-22 09:53:25
假设你有4分
[[x1,y1],[x2,y2],[x3,y3],[x4,y4]]您需要计算ymin,ymax,xmin,xmax作为
ymin = min(y1,y2,y3,y4)
ymax = max(y1,y2,y3,y4)
xmin = min(x1,x2,x3,x4)
xmax = max(x1,x2,x3,x4)然后你的庄稼就会
img[ymin:ymax,xmin:xmax]https://stackoverflow.com/questions/73812013
复制相似问题