问题描述
我正在尝试从英雄联盟聊天屏幕中读取文本。
为此,我使用tesseract创建了一个Java应用程序。 但是,返回的文本并不完全正确。
这是我使用https://sourceforge.net/projects/tess4j/
从图像中获取文本的代码import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
# function that returns dy/dt
def model(y,t):
print("t=",t)
k = 0.3
dydt = -k * y
return dydt
# initial condition
y0 = 5
# time points
t = np.linspace(0,20)
# solve ODE
y = odeint(model,y0,t)
# plot results
plt.plot(t,y)
plt.xlabel('time')
plt.ylabel('y(t)')
plt.show()
在tessdata文件夹中,我得到了英语tessdata文件https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata
image返回以下结果(我删除了图片和结果中的个人详细信息):
File file = new File("screenshots/screenshot-15.59.19.png");
ITesseract instance = new Tesseract();
instance.setTessVariable("tessedit_char_whitelist","ABCDEFGHIJKLMnopQRSTUVWXYZ0123456789abcdefghijklmnopqtrstuvwxyz():[] ");
File tessDataFolder = LoadLibs.extractTessResources("tessdata");
instance.setDatapath(tessDataFolder.getAbsolutePath());
try {
String result = instance.doOCR(file);
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
如果不可能的话,如何改善Java或任何编程语言的屏幕截图(创建新应用程序)。
我想要的最终数据是游戏时间,例如:[00:05]和':'之后的文字
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)