如何自学图像编程(转)

    现在,图像类信息越来越多了,对图像的编程需求也越来越多。图像类项目的特点是性价比高,单行代码的价格一般是普通的程序的10倍,每行代码能够卖几块钱。很多人把目光放在这个上面。刚才又有网友咨询,做图像要看些什么书?结合我的自学经验,写一篇博客谈谈这个问题。

需要先明确几个问题:

(1)你的基础如何?做图形图像的话,对数学要求比较高,至少要有大学数学的基础——微积分、线性代数、概率统计和数值分析都会用到的。不然,书看不下去,没法自学。如果要做深入的话,对英语也有一定的要求,绝大部分深入的资料都是英文的。

(2)做哪个层面的?与硬件严重相关的只能选C,做应用层的话可以选C++和C#,我个人推荐C#,当然,智能手机还是推荐C++。做Web层面的话,目前最佳选择是Flash(其实Silverlight比Flash更适合做Web图像,好歹Silverlight有byte类型,有struct,但Silverlight的普及度不够),Html5/Canvas目前只能做简单的应用,复杂的还不行。如果只是做算法,matlab就够了,但一般不是科班出生,很少做纯算法的。做纯算法还有个缺点就是,算法转换为收入很难。鉴于C#写算法并不比用matlab写算法慢,不建议摸matlab。但matlab代码要能看懂,因为论文中很多算法是用matlab写的。

(3)有没有克服困难的勇气。图像类项目大多不大,普遍的几千行代码就可以搞定。就这几千行代码,难度越大的钱越多。关键词就是困难和难度,工作量往往不是问题。也就是说,你越牛逼,越值钱。牛逼是没有止境的,不像那些靠体力的项目,身体是个硬的限制。

下面的书籍,如果是写的英文名字,那就是推荐阅读英文版,如果是中文名字,那就说明,中文版写的/翻译的也不错,推荐看中文版而非英文版。都是可以直接下载到的或买到的。

首先是两本核心书籍:

(1)Image Processing,Analysis and Machine Vision 3ED。(中文名:《图像处理、分析与机器视觉》)

(2)Computer Vision:

Algorithms and Application(中文名:《计算机视觉——算法与应用》)

第一本书偏重于基础,但是它写的可不基础。写的很简且信息量极大,但核心概念都讲了,重点算法大部分都列出来了。第二本书偏重于工程应用,概述了各个领域的有效算法,点到为止。

如果看第二本没困难的话,可以忽略掉第一本。第一本书也不好读,一上来就讲了狄拉克分布,因此,要想从头到尾都看懂是几乎不可能的,但是它的内容的前后依存性不大,看不懂的直接略过去就行了,只看能看懂的即可。

没必要看完,我也只看了30-40%感兴趣的部分,其它的要么是不感兴趣的,要么是看不懂的。

只需要大学数学基础就可以开始看,能看懂部分就可以做项目了。找到和项目相关的内容,找到相应的参考文献,直接去看论文实现论文的算法即可。绝大部分重要论文Google

Scholar都能搜到原文,如果英文水平不够,也可以在几个期刊网搜中文的论文,不是特别前沿的东西,中文的论文也有涉及到的。

看书的重点是理解,理解算法最佳方式是自己把算法写一遍。可以参考OpenCV的代码来写。理解一个算法之后,这个算法就可以为你赚钱,不理解,是很难用对算法的。自己写算法。你才对这个算法的性能有直观的感受,知道可以通过哪些方式来改进它,知道怎么在性能和算法效果之间进行取舍,这对项目来说,是很重要的。

不建议买第二本书的中文版,它的中文版阉割了参考文献和索引这两个最有使用价值的部分。

把这两本书全部看完吃透,单靠大学水平的数学是不够的,至少得数学系本科生级别的知识储备。如果大学数学忘了,建议先复习一遍。

自学推荐:

(1)陈天权版《数学分析(一、二、三)》。这是国内最难的一套数学分析教材,为什么推荐它呢?它自成条理,信息量丰富,把图像分析深入所需的数学内容都包括进去了:微积分、点集拓扑、实分析、泛函、变分、复分析、流形……,重要概念都讲了。学完了,看论文问题不大。缺点就是难。可是,图像类项目的特点也是难。遇难而上是必须的。这套书虽难,但是思路极其清晰,就是看的慢一点而已。要知道,计算机所能发挥出的威力只是数学理论的一部分,随着计算机的计算能力越来越强,越来越多的数学方法会引入到程序中来,对于图像分析领域尤其如此。所以要未雨绸缪,别看有的数学知识现在用不上,说不定哪天就用到了。

(2)Lax的《线性代数及其应用》。作者是沃尔夫奖得主,写的很简洁明要,且不与大学学的线性代数重复。

(3)《Numerical Recipes》。数值分析有这一本书就够了,秒杀众书的书。这本书只看感兴趣的或当前用到的即可。

鉴于图形和图像的关系越来越紧密,关于图形学的书籍也是值得一读的。推荐两本:

(1)David F.Rogers的《计算机图形学的算法基础》。这本书实在是太经典了,就是有点老,比较基础。

(2)《实时计算机图形学》这本书讲的都是比较现代的,正好结合上一本看。

图像编程=算法+性能。因此,性能优化方面也得看。比如这本:《软件优化技术--IA-32平台的高性能手册》。

会用Photoshop对图像编程很重要。Photoshop有强大的编辑功能和特效库,很多时候,可以用Photoshop先进行预研究,确定项目是否可行。可行的话,我们再把Photoshop的操作过程用算法来实现,实际项目中,经常会这么操作的。Photoshop推荐一本书:李金明、李金荣的《Photoshop CS5完全自学教程》。这本书写的非常棒,就是书名有点土,和那些垃圾书的书名很像。

如果用C/C++的话,推荐《学习OpenCV(中文版)》,翻译的不错。如果用C#的话,没啥好书可以推荐,可以看看我博客中的文章。如果用Flash的话,推荐《Foundation ActionScript 3.0

Image Effects》。

如果做的是和彩图有关的话,推荐《彩色数字图像处理》。其它的,《图像局部特征不变性特征与描述》写的也不错。

====

下面举个例子讲讲工具、知识间的综合应用。

要实现一个lemo特效,可以先利用现有工具得到像素之间的映射图(比如我这篇文章:《解决问题的艺术:半小时编程实现照片的反转负冲特效》)。但这样一来,每种特效都需要一个像素映射图,增大了程序的尺寸,怎么办呢?

一种方法是用Photoshop模拟它,然后,写图像处理算法来重复这一过程。这是用图像处理的方法来解决问题。

另一种方法是将lemo特效当作一多元函数,特效前的图像是输入值,特效后的图像是输出值,先写出一个自由度高点的函数,再采用拟合的方法,找到合适的函数参数,然后检验这个函数的稳定性,靠谱的话就是它了。这是用数学的方法来解决问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容