我目前正在建立一个宠物项目,只是为了消磨一些时间(并学习一些东西)。
所以手头的问题是:我想从一个动态加载的Flash内容中捕获文本(几乎就是一个类似拼字游戏的游戏,它将字母放在10X10阵列上,您可以从中选择)。请求的功能是在编程语言上重新创建此数组。
由于这是出于完全学术目的,窗口放置,焦点,权限等无关紧要(它只能由我在完全受控的环境中运行,因此无需考虑部署)。使用的语言也无关紧要(包括图像分析在内的任何答案都会被接受为正确,只要通过捕捉就可以说当前屏幕)
任何指向正确方向的指针都会受到欢迎,即使它们不能构成完整答案。
示例图片在这里
请注意,这些字符是希腊语,只需要大的中央字母(我应该能够提取所有文本,这是奖金,但如果不是,则不是问题)
编辑:理想的解决方案是关于OCR(光学字符识别)。没有指定语言是为了避免限制答案,因为任何语言都是可以接受的,但是由于处理速度的原因,我的主要选择是c / c ++。
话虽这么说,任何能够达到目的的答案(将这个闪存'数组转换成编程语言的10X10数组)以及其背后的任何方法,都是可以接受的答案。当然,我不希望对这样一个复杂的问题有充分的答案,足够强大的指针就足够了。
答案 0 :(得分:1)
使用actionscript 3,您可以将该游戏swf加载到另一个获取屏幕截图并将其保存到磁盘的swf中,但这意味着将该过程分为两个步骤,分为两种:
使用c ++和system()调用屏幕截图可能更简单。 (可以随意使用Windows特定的c ++ API来获取屏幕截图,这样可以更轻松,但是可能值得保持代码的可移植性。)
然后,您的c ++程序可以使用OpenCV/Tesseract
访问屏幕并对其进行OCR处理