V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
JhOOOn
V2EX  ›  问与答

python 识别曲线图数据思路?

  •  
  •   JhOOOn · 2016-02-10 21:40:46 +08:00 · 7638 次点击
    这是一个创建于 3001 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要抓取一些 bai 度 zhi 数的一些数据,比如:
    like this 下面的整体趋势图
    记得以前看 机器学习 时,看过通过学习的方法识别曲线的,所以打算使用相关算法识别,各位可以提供下 具体机器学习的 哪种算法比较好用?谢谢。

    8 条回复    2016-02-11 05:35:42 +08:00
    nbndco
        1
    nbndco  
       2016-02-10 21:43:41 +08:00
    …………………………………………
    66CCFF
        2
    66CCFF  
       2016-02-10 22:34:21 +08:00
    你这个问题,并不是曲线识别而是得到曲线代表的值。

    百度的曲线,比如 http://index.baidu.com/?tpl=trend&word=%B1%BC%C5%DC%B0%C9%D0%D6%B5%DC%2C%BF%EC%C0%D6%B4%F3%B1%BE%D3%AA ,曲线其实是用网页源代码中的一组数据画出来的。这种根本没必要去识别,抓网页中的数据反而能得到原始数据。

    如果曲线是图片且没有数值,你可能需要识别一下图片中的数字、识别曲线在坐标轴上各点幅度。数字识别有很多简单的办法。非手写字体,二值化后 KNN 就很管用。找到图片中的曲线和得到幅度稍微需要学习一些数字图像处理基础。一般来说找曲线的话,几个边缘检测算子就会很奏效。

    看得出楼主应该对算法方面了解不是很多,希望不要想当然认为机器学习是优先选择,这东西目前是有些被妖魔化宣传的。它不是万能的而且有很多不可做的事情。
    66CCFF
        3
    66CCFF  
       2016-02-10 22:39:41 +08:00
    啊这个问题真是槽点一片 orz
    python 的话, numpy 和 scipy 里应该有一些图像处理的基本函数。
    可以看这篇 http://reverland.org/python/2012/11/12/numpyscipy/
    miaoever
        4
    miaoever  
       2016-02-10 23:15:32 +08:00
    曲线拟合?
    MCVector
        5
    MCVector  
       2016-02-10 23:20:22 +08:00
    如果是比对信号的话可以用 Dynamic Time Warping(DTW), Time Delay Embedding(TDE).
    JhOOOn
        6
    JhOOOn  
    OP
       2016-02-11 05:04:09 +08:00
    @miaoever 谢谢,我可能记错了,想到的是线性回归,但那个只与自变量因变量相关,跟这个无关。
    JhOOOn
        7
    JhOOOn  
    OP
       2016-02-11 05:20:19 +08:00
    @66CCFF 谢谢,我理解错了,目前想法是将网页截成图片,处理图片,问题就在于怎么获取图片里曲线代表的数值,我再看看您提供的资料
    JhOOOn
        8
    JhOOOn  
    OP
       2016-02-11 05:35:42 +08:00
    @JhOOOn 可能只需要识别曲线代表的数值即可,可能会比较麻烦,我抽空试一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1150 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:03 · PVG 07:03 · LAX 16:03 · JFK 19:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.