如何使用pytesseract获取游戏属性截图的高质量OCR识别结果?
游戏属性OCR识别优化及像素匹配方案咨询
我尝试提取下图中的游戏属性数据,但始终无法得到理想的OCR结果:
我已尝试使用ImageEnhance和cv2处理图像,其中通过cv2自适应阈值得到的效果相对最佳,代码如下:
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) inverted_image = cv2.bitwise_not(gray) #_, thresh = cv2.threshold(inverted_image ,95, 255, cv2.THRESH_BINARY) Test = cv2.adaptiveThreshold(inverted_image,120,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,2)
处理后得到的图片如下:
但pytesseract仍无法准确识别内容:
- 使用法语(fra)语言包识别结果:
845 Vitalité
75 lnteligence +
35 Sagesse
1Poñge 15 Dommages Feu AaTace à
Teva eM
- 使用英语(eng)语言包识别结果:
Extracted Text: 345 Vitalité
‘75 Inteligence ~
‘35 Sagesse
“onée. 1S Dommages Feu WBTaole 2s
7 Reve OM.
两种语言的识别效果都不理想。我还尝试用cv2.GaussianBlur(image, (3, 3), 0)进行模糊处理,但反而导致图像无法识别。
请问我是否遗漏了什么操作,或是哪里处理有误?
我的整体项目目标是开发一个能读取屏幕指定区域信息、完成计算并执行简单操作的机器人。截图中可能出现约40个不同的词汇,是否可以通过建立词汇数据库进行像素匹配?但如何处理1-500的数字呢?希望能得到相关帮助!
内容的提问来源于stack exchange,提问作者Cyclo
相关产品推荐
相关产品推荐

