个人分类: 经验贴、心路历程
经历了半年多的学习,图像处理总算入门了,做了个小项目,将之前所学的都用到了。虽不敢说精通,但该掌握的工具都掌握了,包括图像算法。图像处理虽说不难,但刚开始入门,还是不易的,我也走了不少弯路,希望借鉴给有缘人。
首先,搞图像处理,熟悉图像算法是必经之路,如果上过图像处理这门课的话,再好不过。如果没有,我推荐中科院研究生院刘定生老师的数字图像处理与分析(视频),这位老师上课引人入胜,值得推荐。其次,在这个阶段,配套的书籍自然是《冈萨雷斯版数字图像处理》这本书,最好同时用matlab软件,仿真每一个图像算法案例,推荐《matlab宝典》。大概花一个月时间,基本的图像算法,相信你已经学完了。第二阶段,希望你再次认真学习C++,推荐《C++ Primer》,因为以后我们开发程序,都是基于类的开发,什么虚函数,类的继承、多态、命名空间、文件的输入输出、模板STL都应非常熟悉。在这之后,VC++你也应该掌握,圣经级的书籍自然是孙鑫的《VC++深入详解》,大概花一个时间,将书上每一个代码都敲一边,消息的映射机制,尤其要非常熟悉,MFC的框架结构也应明白。在此阶段,有时间的话,看看中科院研究生院杨力祥老师的高级windows程序设计(视频),这些代码开发都是基于VC6.0的。
以上如果你都搞明白了,就进入重头戏了。将图像处理算法和代码结合起来,进行开发。首推北航老师谢凤英, 赵主培主编的《Visual C++数字图像处理》这本书,将上面的代码都敲一边,你会有不一样的感觉。
最后一个阶段,因为在实际的开发过程中,不可能每一基本算法都要自己写,前人已经写好了。所以推荐大家使用opencv这个开源库,他实现了大多数图像算法,实际开发中,用他的函数就够了,推荐书籍《学习opencv》,《opencv教程》,视频自然是庞峰老师的视频,大家可以在opencv中文论坛上免费观看。至此,该掌握的工具你已经掌握了,但是将MFC和opencv结合起来开发,最好是要有一个项目,你会理解许多。
最后,我想说MFC开发已经过时了(俗称没饭吃),但是他的那套消息机制还是非常有用的,建议大家界面开发的用C#或QT,代码编写结合opencv,这样你会轻松很多。在图像处理领域中,真正得到大牛都是搞算法的,建议大家在看看计算机视觉和模式识别、机器学习方面的书籍。至此,以上就是我的感悟。