【发布时间】:2018-10-16 19:03:26
【问题描述】:
我有一些图像,我想从中识别文本块并在它们周围绘制矩形,但这些图像具有不同的尺寸,因此我已将它们调整为新尺寸,并且能够在文本周围绘制块。但之后我必须在这些块上应用 OCR,当我将图像调整为较低尺寸时,这些块文本变得模糊。
示例:将尺寸 (5847, 4134) 的图像调整为 (1000,700) 后 我能够绘制文本块,但是在获得这些块的坐标后,即使我乘以调整大小的图像的比例,它也没有显示像这样的确切块:
为了在原版上绘制积木,我做了这样的事情:
x, y, w, h = cv2.boundingRect(c)
x = round(x*x_old/wid)
y = round(y*y_old/hei)
w = round(w*x_old/wid)
h = round(h*y_old/hei)
这里 x_old 是原始高度 5874,y_old 是 4134,wid 是 1000,hei 是 700
【问题讨论】:
-
在您的代码中,而不是将新值分配给 x,y,w,h 尝试将这些新计算值添加到以前的值中,例如 x += round()
-
我认为你的宽度和高度以某种方式交换了。你能分享你所有的代码吗?它更容易理解。
-
@AnandCU 感谢您的帮助。是的,x_old 和 y_old 被交换了,但仍然不是那么准确,所以我将 round 函数移到了内部部门,从而解决了问题
标签: opencv image-processing ocr