我试图分析视频中的页脚并检索当前页码。我让框架集合工作,但我正在努力阅读页码本身,使用EasyOCR
我已经试过使用pytesseract,但效果不好。我误解了数字:10被认为是113,6被认为是41,依此类推。总的来说,它非常不一致,即使我使用灰度、阈值和裁剪(仅分析页脚的页码区域)正确设置输入图像的格式
代码如下:
def getPageNumberTest(path, psm):
image = cv2.imread(path)
height = len(image)
width = len(image[0])
# the height of the footer
footerHeight = 90 # int(height / 15.5)
# retrieve only the footer from the image
cropped = image[height-footerHeight:height,0:width]
results = reader.readtext(cropped)
这给了我以下输出:
有没有我错过的场景?有没有办法指导EasyOCR只查找数字? 任何帮助或暗示都将不胜感激
编辑:
在对数字图像进行了一些优化之后,我现在回到了开始,根本没有对图像进行优化。剩下的就是转换为灰度和调整大小
这是正常输入的样子:
但结果是:
这很奇怪,因为对于大多数数字(尤其是个位数)来说,这是完美无瑕的,产生了95%以上的确定性
我试着用cv2.filter2D()去模糊、阈值化、去噪、模糊
例如,当我使用thresholding时,我的输出如下所示(忽略“1”,同样适用于单个数字“1”):
我研究了模式匹配,这不是一个选项,因为我事先不知道页码形状
目前没有回答
相关问题 更多 >
编程相关推荐