英语轻松读发新版了,欢迎下载、更新

起点低,能学图像处理吗

Sier 发布于 2015年03月21日
无人欣赏。

嗯 ,我是专科毕业..数学都没及格..有2年.net经验...我来听一下你们的意见 !- -

共25条回复
tinyfool 回复于 2015年03月21日

起点低,啥都可以学,别问这种傻问题,去学吧

南坞觉 回复于 2015年03月21日

可以学啊,很简单,我大一学的ps,挺好玩的

Sier 回复于 2015年03月21日

2楼 @南坞觉 ...不是PS,是类似模式识别的那种...

Sier 回复于 2015年03月21日

1楼 @tinyfool - -叔总是充满正能量,不过学倒是可以学,学的怎么样就是个问题了..嗯 这得看自己的造化...

yutopipp 回复于 2015年03月21日

推荐一本相关的书:《C#数字图像处理算法典型实例》作者 赵春江

Sier 回复于 2015年03月21日

5楼 @yutopipp 刚从京东看了下目录..挺好的 ..貌似没那么简单

tinyfool 回复于 2015年03月21日

4楼 @Sier 这跟造化没关系,只跟肯不肯干有关系,这年头大多数东西都简单到根本不需要拼智商,只需要拼努力即可

iamaflyingpig 回复于 2015年03月21日

有魄力啊!换个这么高深的方向,还是挺佩服你的。

南坞觉 回复于 2015年03月21日

3楼 @Sier 好吧,完全不懂。。

Soarse 回复于 2015年03月21日
起点低,能否学图像处理

这有个你需要回答的很重要的问题:你准备花多久的时间学习,或者说你准备学习多久后需要将其应用于工作或者变现上。

我是通信专业学生,专业选修课里面有数字图像处理,教材是冈萨雷斯的《数字信号处理》,我就从大学学习的角度说一下学习好这门课所需要的。

先定义「学习好」:课后题70%做的比较熟,不看答案就能做出来,并且可以和书本内容练习起来,包括实践性的题目。


需要学习的内容

|数学基础|高等数学|线性代数|概率统计| |--------| |专业基础|信号与系统|数字信号处理|

学习数字图像处理需要有比较熟的几门课做基础,这几门课程不熟难以看懂数字图像处理,就好像不会编程上来就学习数据结构。

首先需要高等数学、线性代数、概率统计三门考研数学课基础不错,本科教材课后题70%以上你得做的挺熟的,这种水平做考研数学卷子也起码能拿到90左右(满分150)。

信号领域完全脱离不了数学知识,甚至可以说比计算机领域对数学知识的要求还要高,因为计算机领域专业基础课对微积分、概率统计的应用并不多,而信号处理领域完全急于这两门数学课,专业基础课完全需要这两门课做工具来表述与计算。同时,概率统计依赖微积分来计算,这两者上升到高纬度时又需要利用线性代数来表达和求解。所以,你懂的。

然后可以拿出《信号与系统》和《数字信号处理》这两门信息专业的专业基础课程了,这两门课程网上名校视频不少,包括中文英文,学起来不会太痛苦。

并且也不需要全部搞透,因为你的目标是数字图像,那么《信号与系统》课程中电路部分看看知道有这个章节就行,拉普拉斯变换部分知道例题就行,核心重点是「傅里叶变换」与「Z变换」,这两个地方课后题起码做熟一半吧。然后可以拿出「数字信号处理」来了,这门课就是《信号与系统》中Z变换部分的深入阐述,偏重工程应用,也不需要整本书细枝末节全都拿下,找门网上名校课程,把握住重点章节就把握住课程核心了,以后需要用到一些细枝末节时候再反过头回来研究不就好啦。

这时候,再来看全世界的经典图书冈萨雷斯的《数字图像处理》就可以了,因为这时候你会知道书里面的很多的重要名词是做什么的和为什么这样做,我说几个看起来高大上的名词「图像的取样和量化」、「灰度变换和空间滤波」、「傅里叶变换」、「离散傅里叶变换」。这些名词的概念是在前面我提到的两本专业基础课当中详细阐述的,在这本书中不会做详细的概念阐述解释与教学,而是以应用为主,所以如果你不熟悉前面的两本基础课的话,很可能难以看懂本书。


为什么要这样学习

前面有人根据你掌握的C#推荐了本《C#数字图像处理算法典型实例》,目录的前面几章我不熟悉,但是第6章核心傅里叶变换与频率处理,第7章核心噪声与高斯滤波,第10章的编码与香农信息论,这些要求《信号与系统》《数字信号处理》的核心内容一定要非常熟练。而且,这本书的所有章节完全是需要你有数学底子的,基础就是考研数学三门课。

好了,现在回到我一开始提到的那个重要问题,「你准备花多久学习」,如果你的基础是「大学期间数学考试不及格」,那我个人保守估计,一周保证起码5天,每天有效学习时间8小时以上,最少要1年时间,很可能2~3年的全职学习时间。

所以泰尼老大告诉你肯定学得会,这句话没错,但可没告诉你需要付出多少时间与努力。


这种学习方法的缺陷

当然我目前是学生,学习这些课程做题偏多实践偏少,很多地方可能是错的,毕竟社会上很流行「大学学习与社会需求脱节」这样的说法。所以你可以先不重视我说的这些,直接买本相关的书看,然后不会的名词去查去向人请教,然后你自己学习的感觉以及其他人的意见来判断自己下一步学习的方向。如果有了新的体会与心得,那么请一定回来分享嗯。

我说到现在说的大部分还是传统的大学学习方法,这在互联网行业很可能不合适,比如计算机专业的《数据结构》和《操作系统》这些基础课学得很烂(课后题根本不会),但是纯编程和工程搞得很好,应届毕业去中小公司拿上W的薪水很多,去BAT可能略难一些。所以你也可以去向搞图像处理的人详细询问,毕竟我只是学了「数字图像处理」这门课,知道的更多还是把课程例题看好、课后习题做好、计算机仿真搞好,并没有在相关企业实习过,所以对于工作中的学习肯定有很多错误和不全的地方,希望做相关工作的牛人给予指正。


写篇文章好晕啊,但是写短了又无法表达,所以先写到这儿,明儿再修改

jiangqr 回复于 2015年03月22日

去年本科毕业,数学专业,现在也接触一些图像处理。有些理论还是挺难的,上次我看了几页小波分析就没动力了。。。 当然如果只是应用层面,也不需要多深的理论,大概了解一下就行吧,如果正好公司开发应用,那么边学边做也许更好。

matthew_z 回复于 2015年03月23日

可以学, 你为什么要学? 搞理论, 学位都没有, 搞学术可能性不大. 搞应用, 这个方向小公司基本用不上, 大公司不需要你去做.

就算最简单的应用, 都不能缺少线性代数 概率论 微积分, 你要学就得从数学开始学, 还有英语, 这方面的教材和论文都要英语的,没有人给你翻译.

很多工科和理科的人研究生会转去做数据挖掘 机器学习 图像处理, 因为他们编程能力差, 但是数学强, 有建模思维.

Silence 回复于 2015年03月23日

图象处理入门的门槛非常低,非常适合初学者。对于初学者,完全不必过虑数学和编程之类的东西,搞清楚大概的意思就可以了,能处理图像,达到你的目的就行。比如压缩图像,找出你想压缩的格式的parser和exporter就好了,至于原理,不外乎就是找组好的基(稀疏性,损耗低等),把图像投影到那些基张成的空间。至于里面的数学推导,完全不必理会。最怕的是,走着走着忘了自己的目的地,走进数学推导或者编程语言的分支里去了。

hey 回复于 2015年03月23日

学实用的图像处理算法其实很容易的。 不过想理解其中的深层次原理,需要有数字信号处理的基础。 不管学什么入门都简单,但是想搞得专业,有些“知识债”必须得还上。

russj 回复于 2015年03月23日

我是这个专业的研究生毕业

这个专业很难,而且没有那么实用,很多都是还在理论阶段。

有人说简单的,估计是指调用一些系统的 API。那么这个不用学,读下文档就行了。我认为学至少是想知其所以然。

主要是你想干什么

如果是爱好,那么可以用业余时间看看书,玩玩

如果只是想找个好工作,那么还是继续搞 。net 比较好

因为你想成为某专业领域的大师,图像处理对于你来说,估计得 2万个小时。但是 。net,或者前端之类的,你估计花个5000 小时就可以成为某领域的专家了。

有时候选择比努力还重要。

daluoboyh 回复于 2015年03月23日

比较赞同楼上说的,我也是这个专业的研究生。但是,我觉得学图像处理有一点好处就是,如果你能够亲手编代码实现算法,只要坚持,代码能力真的能上升一个档次。比起图像处理,其实我觉得图形学更有意思。

Akira 回复于 2015年03月23日

此专业相关。 同意10,15,16楼答案。 对于10楼的补充是学习时间不只一年。因为理论是很难的,编程只是最后实现理论的那一步。 请想清楚为什么要学这个,这个领域找工作硕士都未必要,一般都要博士。可见对于理论的高要求,以及应用性的不广泛,而且赚钱可能没有写代码高呢。编程的门槛要相对低。 如果数学不过关,请不要浪费时间。

Sier 回复于 2015年03月23日

感谢楼上各位大神的悉心解答

     我打算学这个也不是一时兴起,晚上没事的时候我就翻智联,看看现在的工作都需要什么技能,当然最多的也就是做前端了,也想过做前端@russj ,于是打算用半年到一年的时间学习下, 买了好几本书(没有JQ和JS,我下了几个应用程序,上下班路上就瞅两眼,),有MVC4 和ExtJS,看了将近一个月,每晚最少一个小时,一般两个小时,目前也只是了解一下,可是都知道HTML、JQ、JS是基础,可是前端对我来说,根本比从头开始学还难,因为打上学那会儿就没好好学HTML,现在看着只是眼熟,就是觉得自己不会,完全没感觉.而且HTML、JQ、JS是偏应用的东西,没有工作经验还是白塔,要花大量的时间查文档和调试,最后还是放弃了,对,彻底放弃前端了

为什么想学图像处理

没事的时候我还是继续翻智联,还有看到的就是要熟悉socket,有的要熟悉算法和设计模式的,于是我买了《算法导论》和《C#设计模式》,《算法导论》我只看了前几页,两次拾起又两次放下,你们懂得,我觉得现阶段我真的不适合看这个,然后我继续看《C#设计模式》,这个看起来比较顺手,毕竟有工作经验,有些东西看看就明白了,目前还差2章就搞定了,目测今晚搞定。之前还花了一个星期看了一下《C和指针》,并不是为了看懂,只是为了了解一下指针,因为我不想在问别人问题的时候,“别人说:这个就类似于C语言里的指针”,而我却不知道指针是什么。

@Soarse 程序员是吃青春饭的对吧,如果我只呆在现在的公司做现在的东西,而现在的公司又不是做软件的,如果我又不学习,那我就永远停在这里,不会有进步,况且我要为自己的未来着想。我是不打算做什么领导的,因为我不爱管闲事,喜欢安安静静的做自己的事。在翻智联的时候,看到有图像处理的,年龄要求是25到40岁之间,嗯,这个打动我了,我想这个然后我了解了一下图像处理,确实没那么简单,但是我觉得这个是理论为先的吧,个人也更爱好偏算法一类的东西,只要理论通了,剩下的应用应该不是难事。如果要学的话,我是打算用2到5年吧,目标是只要能找到一份工作就行,最令人心颤的那一句:小公司不需要做这个,大公司不需要你去做,嗯,现在看,我还是需要好好考虑下吧

非常感谢各位朋友的指导哈

@Soarse @matthew_z @jiangqr @tinyfool @russj @Silence @hey @daluoboyh

Sier 回复于 2015年03月23日

我继续啃设计模式去了。。。

xiaotie 回复于 2015年03月24日

这个有 3 点需要知道的:

(1)你的数学基础怎么样?这个主要是拼数学。高中平面几何、线性代数、概率统计、机器学习、分析。如果只会平面几何,可以做简单的图像处理,比如,现在移动互联网上的各种中低难度的美容、美化app。如果会线性代数有深入理解,一下子战斗力就会从5提升到50,概率统计能让你从50提升到80,数学分析能让你从80提升到100。专科的话,下决心啃,啃完到机器学习这一块没问题。高中平面几何就不说了,线性代数可以从Lay的《线性代数及其应用》入手,如果你能把这本书看完,再把《线性代数应该这样学》看懂,线性代数就OK了。线性代数是处理高维数据的必备工具。概率、统计可以随便看看,重点是多维高斯分布、贝叶斯、最大似然、回归。精力够的话,看《模式分类》这本书,精力不够的话,找陈希孺的《概率论与数理统计》看。机器学习,你就当是概率统计在工业上的应用,无非是分类和聚类。上面这些再加上SVM和DL就OK。SVM和DL不学也行,也能应对很多场合。分析嘛数学分析啊傅里叶分析啊泛函啊,学了之后可以用一些更高级的工具,看你是做什么的,做基础性工作需要,做应用性工作需要的不多。我到目前为止,最多最多也就是用用高斯和贝叶斯。傅里叶用过一次。按100分算的话,我能在60-70分左右。搞机器学习,要啃《Pattern Recognition and Machine Learning》。

(2)你准备从哪里切入进去?(a)从图像编辑切入进去 - 现在移动互联网时代,对图片类应用需求很大,图片的编辑、旋转之类的用的主要是高中数学,如果你会一点点线性代数,理解会更深刻。对图片编辑、融合、特效更进一步的需要全面掌握线性代数。剩下的就是编程知识,知道怎么操作像素更有效率。从这里切入进来是最简单的了。走到这里,已经能相对于别人有较大的优势了。(b) 从机器视觉切进去 - 现在产业升级,机器检测越来越多的替代人工检测,这就需要分析图片,从这里切进去需要的主要是二值化、边缘检测、膨胀、腐蚀、blob分析,检测圆,检测直线等等,这一块对数学要求不高,对逻辑思维要求高;(c) 从机器学习切进去 - 大学基础比较好可以从这里切进去,这条路线你需要努力很久才能获得回报,当然回报也比较大,比如百度的少帅计划,年薪120万起。这一块高端职位都被海外的博士们承包了。我是从(1)和(2)切进去的,现在在向(3)进军。

(3) 你看英文论文的水平怎么样?不看英文论文,最多只能做到中级水平,不上去。为了提高看英文的能力,我的托福单词快背完了,下一步是啃GRE单词。

不建议从信号那里切进去,程序员从那一块切进去,一点优势都没有。大学里那么多博士、硕士是你的竞争对手。科班出生,可以先学基础,再看做什么应用。转业青年,要从应用着手,看需要什么基础。

独孤九剑是这本:《学习OpenCV》,OpenCV是外功。九阴真经是这本:《计算机视觉:算法与应用》,这是内功。如果你能硬着头皮把 《计算机视觉:算法与应用》 这本书啃完,做完全部的习题,在中国找个年薪50万的工作妥妥的。

升级路线:

简单模式:《学习OpenCV》 => 《线性代数及其应用》 => 《概率论与数理统计》

困难模式:《计算机视觉:算法与应用(Computer vision algorithms and applications)》 => 《线性代数应该这样学(Linear Algebra Done Right)》 => 《Pattern Recognition and Machine Learning》 => 《计算机视觉:算法与应用(Computer vision algorithms and applications)》 。这是一个圆。

我是从2009年开始学习的。现在水平,数学 65/100,《计算机视觉:算法与应用》 30/100,英语 60/100。 预计还需要5年才会大成。

btw,顺便提一句,C#搞图像有个天生的优势:它是带指针的语言中最好用的,开发效率最高的!桌面、云端、移动端通吃。

ingenium 回复于 2015年04月23日

20楼 @xiaotie 赞,喜欢你这种工作方式

laoluo1991 回复于 2015年04月23日

还是看你的是否愿意学吧,泰尼大叔说的好,绝大多数的东西是轮不到拼智商、天赋之类的,还是个苦功夫。我是土木工程专业的,曾经做过一点边缘检测、文字识别方面的图像处理相关的东西,总的来说和数学相关性特别大,玩到后面你就是玩数学模型了,编程技能只是一个实现方式,要深入理解原理就必须从数学上下苦功夫,这样需要的学习投入是很长久,短期看不见成效。但是对于找工作方面来说,你知道怎么用就行了,因为现在绝大多数公司的需求就是你能做个东西出来就行了,不需要你去深入研究,不需要你做个多牛逼的东西出来,也不会投入资源去发展,所以遍大街的招聘都是web前端、Android、iOS开发,颇有接了工程的建筑队大量招收民工的感觉。所以如20楼所说的是最经济实惠的,你有.net经验,转当前比较热火的移动互联(Android、iOS、HTML5之类的),从应用着手,看需要什么基础,再去补补,虽然可能不容易出啥大成就,但是找个很不错的工作应该容易。(个人鄙见,不妥之处,望不吝斧正)

尼克徐 回复于 2015年04月23日

20楼 @xiaotie 特别喜欢看你的帖子,都是干货!

xiaotie 回复于 2015年04月23日

23楼 @尼克徐 谢谢

清醒疯子 回复于 2015年04月23日

20楼 @xiaotie

巨赞,等我啃完iOS,我也来学:)

本帖有25个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]