V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
excellentcx
V2EX  ›  问与答

一个本科非科班出身的硕士党的苦闷

  •  
  •   excellentcx · Sep 25, 2019 · 2945 views
    This topic created in 2407 days ago, the information mentioned may be changed or developed.

    简要介绍一下我的情况: 本科电气工程,硕士专业是控制工程(研一,刚入学),但实际内容是在做图像方面的工作,自学过 C++( C+ +Primer Plus ),主要使用的工具是 OpenCV(C++版本)。 C++水平也就是看懂代码的水平吧,复杂算法看不懂,但一般流程性的代码没有问题。 没有学过数据结构,正在恶补中(网课)。 参与过一个项目,由于是刚进来,所以我的任务就是照着已有的代码改改功能这些工作,虽然完成了一些工作,但感觉也没学到些啥东西。

    最近在翻着看 OpenCV 和 Eigen 的源码,但看得着实有些痛苦。我分析了一下,主要原因有以下几个方面: 1.代码写的少,很多新奇的写法根本就没见过。 2.抛开算法部分先不谈,光是理清各种类之间的继承关系就已经是一个相当大的工作量了,前期没注意到这点,导致看的越来越乱,越来越摸不清方向。 3.自己的 C++基础还是有些差,某些语法掌握的还不是很牢固。

    目前的这个情况使我非常苦恼,就好比脚上拴上两大坨铁块在走路,每走一步都很费劲。 好在我是发自内心的喜欢计算机,以及我做的这个方向,所以每天都可以坐在电脑前看代码,试着写代码。

    我就想问一下各位大佬,面对我这个情况,能否给我一些建议,总之,目标就是尽可能地摆脱这种状态? OpenCV 到底怎么学才最高效?(我的目标是尽可能地了解其运行机理,而不是仅仅会调用函数) 还有一个很关键的问题,C++的编程水平怎样才能有一个实质性的提高?(我是很想学好 C++这门语言的)

    14 replies    2019-09-26 15:02:07 +08:00
    zzj0311
        1
    zzj0311  
       Sep 25, 2019 via Android   ❤️ 1
    不是 cs 的为啥不用 MATLAB 呢🙈
    tmachineff
        2
    tmachineff  
       Sep 25, 2019 via Android
    不学 java ?
    seki
        3
    seki  
       Sep 25, 2019
    了解运行原理的话,看文档和算法更快吧,直接看代码感觉是绕了远路

    然后如果做科研的话,实现原型不是更重要么,完全可以用更简单灵活一点的语言
    ayase252
        4
    ayase252  
       Sep 25, 2019
    先知道某个东西解决了什么问题,然后想想怎么用最简单的方法解决这个问题,一般到这里就够了。
    rayhy
        5
    rayhy  
       Sep 25, 2019 via Android   ❤️ 1
    OpenCV 这种大型项目,个人感觉不适合从代码看起。最起码应该先看书学会了算法再看代码吧?建议先看数字图像处理里的算法再在 OpenCV 找对应的代码。学一部分算法看一部分代码。先从 OTSU (cv::threshold)看起呗。
    zjsxwc
        6
    zjsxwc  
       Sep 26, 2019 via Android   ❤️ 1
    一般都是先会用然后才是看源代码,opencv 这种也是这样,可以先用 opencv 写点东西,在看 opencv 里的源代码实现,

    这个项目里小例子挺多的
    https://github.com/spmallick/learnopencv
    faller
        7
    faller  
       Sep 26, 2019 via Android
    咱俩差不多,只不过我跨考的计算机😂
    excellentcx
        8
    excellentcx  
    OP
       Sep 26, 2019
    @tmachineff 我还是觉得 C++习惯一些
    excellentcx
        9
    excellentcx  
    OP
       Sep 26, 2019
    @zzj0311 算法肯定是要掌握的啊,况且还能提升编程水平(至少我是这么想的),matlab 在工作中也不见得有太多人用啊
    excellentcx
        10
    excellentcx  
    OP
       Sep 26, 2019
    @zjsxwc 谢谢,我进去看看
    Zchary
        11
    Zchary  
       Sep 26, 2019 via iPhone   ❤️ 1
    Oreilly 上啃原版书 hands-on Algorithms for Computer Vision,常用算法 Opencv 实现都有,应该对你很有帮助
    huruwo
        12
    huruwo  
       Sep 26, 2019
    一句话 多学多练
    jagger2048
        13
    jagger2048  
       Sep 26, 2019
    先会用,再去看源码。把图像处理里边的经典算法都用 opencv 跑一边摸清楚,看源码之前先自己实现一遍
    zzj0311
        14
    zzj0311  
       Sep 26, 2019 via Android
    @excellentcx 还有 Python 啊,非要盯着个新手不友好的玩意死怼,一边抱怨自己没基础,要么练要么弃,自己选咯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1006 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 115ms · UTC 19:14 · PVG 03:14 · LAX 12:14 · JFK 15:14
    ♥ Do have faith in what you're doing.