【发布时间】:2020-05-19 16:39:50
【问题描述】:
我实际上正在使用 Android 进行开发,并且我创建了一个程序,用户必须上传他的商店的图片,其中包含他正在销售和销售的所有东西(这是关于游戏的)。我其实是在最后一部分,我需要检测那些出售的物品是什么。
很遗憾,图片质量很差,因为它是用手机完成的。但是,我认为如果我使用 cv2 的 Grey、Thresh 和 Canny 方法清理图像,我可以在使用 OCR tesseract 读取信息后。
然后,我将向您展示我在最后一部分中工作的所有图像的结构:
例如,如果我对第二张图像进行简单的灰度处理,我会得到以下结果:
最后,如果我执行以下所有代码,我得到了这个结果:
img = cv2.imread('recorte.jpg')
gray = get_grayscale(img)
thresh = thresholding(gray)
opening = opening(gray)
canny = canny(gray)
我知道,结果太专业了,但我确实需要帮助。如果我执行 tesseract 我得到以下结果:
卷轴 Ae coe vel boise)
总之,我认为我正在朝着好的方向努力,我唯一要做的就是正确清理图像,使用具有正确配置的 tesseract 并最终获得良好的结果。希望你能帮助我。谢谢!
【问题讨论】:
-
怎么样。
img[ img < 100 ] = 255用灰色图像中的白色像素替换非常暗的像素?或img = ~img反转灰度图像中的颜色?或者也许你应该尝试inRange或HSL颜色:How to detect two different colors usingcv2.inRangein Python-OpenCV?
标签: python text ocr tesseract cv2