V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
a15017657065
V2EX  ›  Python

斜体加半透明的字体怎么做到准确识别?

  •  
  •   a15017657065 · 2018-01-16 14:35:35 +08:00 · 1531 次点击
    这是一个创建于 2263 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://imgsrc.baidu.com/forum/w%3D580/sign=18294ff4b81bb0518f24b320067bda77/2b310db30f2442a7686dbe73da43ad4bd0130261.jpg 想用 python+opencv 做一个守望先锋血量监控,语音报警脚本,雏形已经做出来了,但是识别率比较低,0 和 8 基本分不出来。上图是用 cv2.rectangle 框出来的。仔细一看发现这真是坑,斜体字也就算了,不光横坐标重叠,纵坐标居然还不一样......再加上是半透明的(图片虽然看不出来,但透明度不小),我突然感觉好像需要机器学习......

    程序目前的思路是先手动测数字坐标,把 0 到 9 的样本图片截取到的矩阵二值化后,保存为二进制 bin 文件。再每个单独数字(二值化后)和所有样本文件对比一遍,相同像素点最多的样本判定为相同数字。

    由于目标是程序能够 70ms 左右运行一次,所以还需要想办法提高运行效率...求有没有什么既能提高识别率计算量又不会太高的好办法?

    oott123
        1
    oott123  
       2018-01-16 14:42:14 +08:00
    正经办法不是读内存吗(

    话说没玩过守望先锋,想问这个血量的位置是不固定的吗?不能固定把位置标出来,非要学习吗?
    a15017657065
        2
    a15017657065  
    OP
       2018-01-16 17:21:05 +08:00
    @oott123 位置是固定的,但是手动可能很难精确到 3 位像素以内。不过我是绝对不想用机器学习来弄这玩意的,先试试别的方法。
    AvenirX
        3
    AvenirX  
       2018-01-17 10:41:26 +08:00 via iPhone
    按血条平行四边形的角度在数字周围选 4 个顶点,按这四个顶点做一个透视变换。数字可能更好识别?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1010 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:55 · PVG 03:55 · LAX 12:55 · JFK 15:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.