【编程学习书目】给立志coder/designer的测绘院本科学弟妹、硕士师弟妹的学习参考书目

来源:互联网 发布:ubuntu 看java路径 编辑:程序博客网 时间:2024/05/21 08:38

曾经答应过几位朋友说一下编程经验的,我的编程水平也仅限于会编的水平,基本的程序结构和数据结构比较清楚。如果要实现复杂的算法,可能心有余而力不足。

    这次利用晚上加班时间所列的书目是给测绘学院本科学弟学妹和硕士师弟师妹用于参考,面向的对象是测绘学院的本科生(有兴趣当c++ coder、system designer、摄影测量遥感方向)和图像理解分析方向的硕士生。

    这些书我基本都学习过,基本从大三开始学。精读的打上“▲”,如果是仅仅简单学习过的打上“△”。

    重点要讲的是编程语言只要学会一门就可以了,把一门学精即可,千万不能贪图学多,建议测绘学院的学弟学妹学习的编程语言从C++、C#、Java中选择一个。

    如果真想学习的话,建议大家按照我给的顺序学习这些书籍。编程的书籍要边看边加强练习,从抄书上的程序学习慢慢发展到自己想着去实现一段程序。还有,编程的书籍第一次看不一定能够全部看懂,在你每学习一部分的时候再回头看看总有新的思想。

    当年自己学C++走了不少弯路,于是在看了很多没用的书后总结了这样一张学习列表。这张列表仅作为c++学习参考,若有大神路过,见笑了。话不多说。

 

C++基础类书籍:

    【▲】《C++程序设计》,谭浩强,清华大学出版社。(红皮书,非常重要,只有这一本,一定要把内容吃透,完全吃透);

 

C++界面编程:

    【▲】《VC++程序设计》,清华大学出版社。(名字有出入,白皮书,用于学习VC的界面编程,也就是常说的MFC);

    【辅助学习△】《深入浅出MFC》,具体忘记了,很厚的一本。作为MFC学习的辅助教材和查询教材。

    【▲】《C++ GUI Qt4编程(第二版)》,Jasmin Blanchette,电子工业出版社。(Qt界面编程可以跨平台,移植性强,界面编程较MFC容易。近几年Qt的发展很迅速。建议在MFC学习的基础上学习Qt,如果需要Qt for Vs2008联系我邮箱astro-yao@qq.com);

 

图像编程:

    注:图像是数据的一种,通过学习图像编程可以很好的锻炼数据处理、理解、分析的能力,并学会数据的可视化。所以不管学什么方向,建议都要学习图像编程的基本理论和知识。

    【▲】《Visual C++数字图像处理》,谢凤英,电子工业出版社。(北航的一位教授写的,基于C++写的图像处理类、和基于MFC写的图像处理框架,通过这本书可以巩固C++和MFC的知识);

    【▲】《学习OpenCV》,Gary Bradski,清华大学出版社。(open Computer Vision,OpenCV是近几年开始热起来的一个开源库,涵盖计算机视觉的所有算法和实现函数,可用于图像算法实验,小型图像、视频工程项目制作和集成。其里面有较为简单的机器学习machine learning库,可用于定量遥感分析等。建议在学习Visual C++数字图像处理后,再学习OpenCV。)

    【辅助学习△】《数字图像处理》,冈萨雷斯,电子工业出版社。非编程书籍,作为算法理论的查询书籍。

 

开源库的学习:

    注:基于C和C++目前有很多开源库,从图像(如OpenCV)到遥感(openRS/ossim)、界面编程(Qt)到多线程(posix thread)。所以这里总结了几个摄影测量与遥感常用的开源库,可能没有相关的书籍,但是建议学习(如果需要相关学习笔记可以联系我邮箱,我会尽量把我总结的内容发给你们)。

    【重要▲】GDAL:GDAL是一个操作各种栅格和矢量(由ogr这个库实现)地理数据格式的开源库,并支持内存的管理操作。GDAL包括读取、写入、转换、处理各种栅格和矢量数据格式。即使不是进行地理遥感方面的应用研究,GDAL也是一个非常有用的库,因为它可以支持大量我们常见的图像数据,比如jpg,gif之类的;

    【重要▲】OpenCV:同《学习OpenCV》; 

    【▲】Qt:同《C++ GUI Qt4编程(第二版)》;

    【▲】posix thread:简称pthread,可以在网上下载相关源码。可支持windows和linux下的多线程开源库,很好用,如需要相关文档联系我邮箱。

    【重要△】openGL:三维数据处理包,对于做三维激光扫描的遥感方向学生非常重要。

    【△】DirectX:同OpenGL,建议学习OpenGL。

    【△】OSSIM:OSSIM是美国国防部一个计划里实现遥感影像的快速处理的开源工具包。可以在网上下载,非常巨大,所以建议初学者只要稍微了解一下就可以。

    【△】openRS:武大遥感重点实验室出的开源RS处理包,目前还未完善,可以了解了解。

 

学习时间安排:

    C++基础:2个月

    MFC:1.5个月

    Qt:1个月(注:可以暂时不学,看个人兴趣)

    《Visual C++数字图像处理》:1个月

    《学习OpenCV》:1个月

    GDAL:1周(注:建议遥感方向的重点学习)

    pThread:1周(注:可暂时不学习)

 

写在最后的话:

    编程一旦入门就不难了,什么时候开始都可以。记住:千万不能急,切莫浮沙筑高台!基础扎实最重要!

    在学习过程中一定要知道自己的目标是编程用来做什么,千万不要什么方向的编程都学。学测绘遥感的抓住一个方向——图像编程。至于网络编程、数据库编程感兴趣、有时间的话可以学一学。

    祝大家学习顺利。


    邮箱:astro-yao@qq.com

原创粉丝点击