图像处理流程csdn

2019-03-11 16:38:29 qq_35594560 阅读数 1861

第一步:是否为彩色图片(假设:是)

第二步:转为灰度图像

第三步:通过灰度阀值寻找区域

第四步:通过特征点提取,提取固定区域

第五步:对提取的区域做处理,例如填充区域,膨胀,开操作等。

 

2019-06-11 21:17:10 Hu_helloworld 阅读数 2984

1.4数字图像处理的基本步骤

数字图像处理的内容划分为以下两个主要类别:一类是其输入输出都是图像。一类是其输入可能是图像,但输出是从这些图像中提取的属性。
在这里插入图片描述

  1. 图像获取是数字图像处理的第一步处理。图像获取与给出一幅数字形式的图像一样简单。通常,图像获取阶段包括图像预处理,譬如图像缩放。
  2. 图像增强是对一幅图像进行操作,使其结果在特定应用中比原始图像更适合进行处理。“特定”一词很重要,因为增强技术建立在面向问题的基础上,例如,对增强X射线图像十分有用的方法,对增强电磁波谱中红外波段获取的卫星图像可能就不是好方法。不存在图像增强方法的通用理论,图像增强方法多种多样,特殊情况特殊对待。
  3. 图像复原也是改进图像外观的处理领域。与图像增强不同,图像增强是主观的,而图像复原是客观的;复原技术倾向于以图像退化的数学或概率模型为基础。而增强以什么是好的增强效果这种主观偏爱为基础。
  4. 彩色图像处理,第6章涵盖许多彩色模型和数字域彩色处理的基本概念。彩色也是图像中提取感兴趣区域的基础。
  5. 小波是以不同分辨率来描述图像的基础。本书中为图像数据压缩和金字塔表示使用了小波,此时图像被成功地细分为较小的区域。
  6. 压缩指的是减少图像存储量或降低图像带宽的处理。互联网是以大量的图片内容为特征的,例如,jpg文件扩展名用于jpeg的图像压缩标准。jpeg格式的图像可以用最少的磁盘空间得到较好的图像质量。
  7. 形态学处理涉及提取图像成分的工具,这些成分在表示和描述形状方面很有用。这一章的内容将从输出图像处理到输出图像属性处理的转换开始。
  8. 分割过程将一幅图像划分为其组成部分或目标。通常,自动分割是数字图像处理中最困难的任务之一。成功地把目标逐一分割出来是一个艰难的分割过程。通常,分割越准确,识别越成功。
  9. 表示与描述,选择一种表示仅是把原始数据转换为适合计算机进行后续处理的形式的一部分。为描述数据以使感兴趣的特征更加明显,必须确定一种方法。描述又称为特征选择,它涉及提取特征,可得到某些感兴趣的定量信息,或是区分一组目标与其他目标的基础
  10. 目标识别,是基于目标的描述给该目标赋予标志(如“车辆”)的过程。
2015-12-29 11:21:24 u013088062 阅读数 32635

  最近有人问我图像处理怎么研究,怎么入门,怎么应用,我竟一时语塞。仔细想想,自己也搞了两年图像方面的研究,做个两个创新项目,发过两篇论文,也算是有点心得,于是总结总结和大家分享,希望能对大家有所帮助。在写这篇教程之前我本想多弄点插图,让文章看起来花哨一点,后来我觉得没必要这样做,大家花时间沉下心来读读文字没什么不好,况且学术和技术本身也不是多么花哨的东西。

  一、图像处理的应用

  这个其实没什么好说的,一种技术的应用价值不是靠嘴上说,而是要看有多少人去搞,很简单的道理。其实我觉得判断一项技术有没有价值、有多大价值的最简单最有效的方法就是看有多少人在研究它。如果大家都在研究,那必然说明它很火,至少目前很火,以后的几年里依然还会火。因此,如果你不确定图像处理是不是有价值,那就查查全国图像处理工程师的数量就行了。

当然这里还是简单提一下。如果你真的只想问“图像处理有什么用?”,相信百度会给出比我更专业的答案。不过作为图像处理的行内人,我还是从几个基本的点来具体说一下。

  1、身份认证

  21世纪是刷脸的时代,这一点无可厚非。首先是银行,据说重庆的银行已经使用了人脸识别的验证系统来进行辅助的认证。其次是门禁系统,以前是指纹,虹膜,现在就是人脸。指纹、虹膜的识别虽然准确,但是有侵犯性,采集的过程中有侵犯性,验证的过程中也有侵犯性,反正让谁天天录指纹(采集指纹信息),用眼睛瞪摄像头(采集虹膜信息),谁都会觉得不舒服的,况且手还会脱皮。相比之下,人脸的识别就方便多了,拍张照片(采集人脸信息)谁都不会介意。最后是监控,一个摄像头所拍的监控能从不同的角度记录成百上千的人(比如车站等密集场所的监控),让警察去辨认将是一个浩大的工程,要是系统能够自动判别人员信息,无疑会给办案带来极大方便。

  2、监控安防

  安防监控可以说是图像处理领域最有潜力的应用领域。如今各个城市都在疯狂的安装监控摄像头,全国时刻都有无数的摄像头在录监控,但是安防监控的后端处理却没跟上。什么是后端处理,简单的说就是监控录像的视频处理。注意这里的视频处理可就不止包含人脸识别了,还有行人检测、异常检测、显著性检测、协同跟踪等。人脸识别之前说了,这里简单说说行人异常检测。图像处理中的行人异常检测在外行人眼中是一个非常有魔力的东西。毕竟让摄像头通过监控视频就能判断出当前画面中谁是好人谁是坏人(当然直接分为好人和坏人还是太武断了),在一般思维中貌似是不可能的。但是请不要忽略这样一个事实,就是目前大部分监控视频的分析处理都是由人工来完成的,警察破案时经常动不动就调出最近几天的监控视频,然后从头看到尾,其工程量之大可想而知。也正是这样才催生了人们对智能监控方面的研究,因为有这方面的实际需求。当然我们的视频分析程序不会直接给出诸如“好人or坏人”这样的武断而片面的判断结果。就当前的技术水平而言,能够统计当下监控画面中的人数(行人检测)、定位他们的人脸(人脸检测)、识别他们的身份(人脸识别)、判别他们的表情(表情识别)、检测他们的动作(异常检测),这就已经够了。这样以后人们就不会再面对长达几十甚至上百个小时的监控视频发呆,而是直接分析计算机给出的数据,当前画面中有多少人、都是谁、谁的动作可疑等。总之,接下来智能监控发展会很迅速,因为需求很迫切。

  3、深度学习(Deep Learning)

  通俗的说一句,“图像处理是深度学习应用的天堂”。深度学习这个概念可能有人不太熟悉,大家可以自行百度,我这里给出一个相对通俗的解释:“如果你不知道什么叫深度学习,就想想《终结者》中的T-800”。当然这句话不是我说的,是出自业界的一位大牛之口。当然这可能有点小片面,不过深度学习确实是公认的新一代人工智能的基础。

  这里举两个例子。一是谷歌的人工大脑项目。谷歌公司可以说是深度学习方面的牵头企业了,其在2012年公布的谷歌大脑项目,动用了1.6万个计算节点,训练数周,得到的人工智能模型能够自主识别猫脸图像,为新一代人工智能开辟了道路,之后微软深度学习研究院、百度深度学习研究院等机构都开始大量投入,各个高校也搞得风声水起,原因很简单,大家都知道它会火。

  第二就是图像识别方面的竞赛。最有权威的就是ImageNet竞赛。大家在一个拥有上千万张,上千类别的图像数据库上训练和测试自己的算法,比拼识别率。近几年来,摘得桂冠的一直都是深度学习模型,确切的说是卷积神经网络。更多有关ImageNet历年的竞赛信息大家可以自行百度。

  说道深度学习在图像处理的应用,不得不提中国的汤晓鸥教授,说他是国内深度学习的领头羊也不为过。他提出的DeepID人脸识别算法(一共分为三代),在一些大规模人脸数据库上的正确率(若LFW库)已经达到了99.75%,单纯从数字上讲的话可以说已经超越了人类的识别率,为此汤教授还开办了公司,开发FaceSDK(虽然还没有公布)。不过拿计算机和人脑相比本身就是不合理的,各有所长嘛。不过可见DeepLearning在图像识别领域的强大威力。至于深度学习与图像处理的关系这里就不用多说了,谷歌大脑识别的是图像,深度学习竞赛用的是图像,DeepID识别的还是图像人脸,虽然深度学习在其他方面诸如语音识别等也有应用,在图像处理依然是其主要的应用领域。

  二、图像处理研究工具

  图像处理的研究分为算法研究和应用两个部分。用到的主要编程语言有Matlab、C/C++、Python等,原因很简单,它们都有很多相应的第三方库,不用我们从零开始编程。

  1、Matlab

  MathWork公司的Matlab软件可以说是算法研究的利器,它的强大之处在于其方便快捷的矩阵运算能力和图形仿真能力,单从简洁性和封装性来说,确实完爆其他语言。但高度封装必然会相应的损失一部分灵活性,况且Matlab严格的讲更像是一个工具,而非一门编程语言。顺便提一句,它在2015年编程语言排行榜中位于第20名,仅次于IOS开发的Objective-C。

  对于算法研究人员(尤其是高校的硕士博士),首选工具自然是matlab,因为它简便快捷,封装性好,更重要的是全世界几乎所有的算法大牛、精英教授都会首先公布对应的Matlab源码,然后在逐步改写成其他语言进行实际应用。所以,如果你想做图像处理方面的研究,Matlab是必须掌握的,而且是熟练掌握。当你有一些想法需要验证时,最好明智的先用matlab编写出来测试。如果你上来就用看似高大上的C++来实验,不仅错误BUG一大堆,到头来可能效果还不佳,就算效果好,时间也会耽搁不少,毕竟算法开发还是要快的,这样才能赶在别人之前发论文。总之,只要是接触图像算法,终究逃不过Matlab,就算你是软件开发的,不研发算法,但总得能看懂别人的Matlab算法吧。

  对于之前没怎么接触过Matlab与图像处理的人,在这里推荐一本相关的书籍《MATLAB图像处理实例详解(附光盘)》。这本书对于Matlab图像处理入门还是很有帮助的。记得我当时刚上研究生时就靠两本书入门的,一是冈萨雷斯的《数字图像处理》,二是这本《MATLAB图像处理实例详解》。不过这里友情提示,在看这类教程(不仅仅是Matlab)时千万不要试图去记忆所有的工具函数,这种做法是十分愚蠢的。正确的做法是根据自己的情况快速翻阅这类工具书,可以找出里面的有实际意义的源码来敲一敲练练手感,至于具体的工具函数,只需要知道Matlab提供了这方面的功能就行了,以后用到了再回来查,或者谷歌百度。我觉得在入门阶段,最重要的不是看了多少书,听了多少课,而是尽快自己敲出一段代码,运行出结果,来建立自信和成就感,这才是支持我们走下去的最实在的动力。记得我当时看了没多久就自己敲了一个蹩脚的车牌检测的Matlab程序,现在看来真是漏洞百出,不过当时我真的很兴奋,很有成就感,觉得自己能干这行,对于初学者来说,这种感受弥足珍贵。

  2、OpenCv

  Opencv是Intel公司开发的C++图像处理工具包,形象的理解为就是C++版的Matlab。当初Intel公司开发这个工具包的初衷也是方便大家共享,希望大家能够在一个共同架构的基础上共同建造摩天大楼,而不是各自在自己的地基上盖平房。与Matlab不同,Opencv是面向开发的,稳定性好,异常处理机制周全,但有一点需要注意,由于Opencv是开源的,那么如果你在项目中直接调用了它的API,那就意味着你的项目也必须开源。因此在真正的产品开发过程中,往往需要从Opencv库里面挖代码,而不是直接调用,幸好Intel公司允许我们看源码,自己编译一把就可以了。

  说道C++和Opencv,有一个问题不得不提,那就是深度学习领域大名鼎鼎的Caffe框架。这是一个典型的基于C++和OpenCv的深度学习框架,由谷歌深度学习团队、“谷歌大脑”负责人之一贾扬清学者编写,并公布了源码。如今各个深度学习机构都在大量使用这个框架进行研究。

  这里同样对推荐两本关于Opencv方面的教程。一本是CSDN博客大牛毛星云写的《OpenCV3编程入门》,这是它根据自己多年的博客整理成的书,很详细,很典型的一本教程,介绍了OpenCv中相对前沿的知识。我翻看过这本教程,中规中矩,里面的代码通俗易懂,尤其适合初学者。当然大家同样要注意不要犯了死读书的毛病,只看它的功能,敲代码练手感即可,不要试图记忆API函数。重要的工具用多了自然会记住,不重要的工具记住了也没用。

  这里推荐的第二本书是《图像识别与项目实践――VC++、MATLAB技术实现》,这本书是一本偏向于工程应用的书,我之所以推荐它是因为它给出了很多有新意、能运行的代码。其中里面有一个项目让我印象很深,是一个车牌检测的实例。简单描述一下:由于车牌中的字符数是固定的,因此它通过判断横向区域笔画的跳变数以及笔画宽度来定位车牌区域。这个想法让人耳目一新,并且它还给出了详细代码,我也亲身试验过,效果还不错。

  这里同样再强调一下,就是一定要尽早入手写程序,建立自信和成就感。我当时学OpenCv正好用它开发了一个人脸性别识别的系统,是一个本科大学生创新计划的需求,效果还可以。

  3、Python

  Python在今年12月份的编程语言排行榜中名列第5,增长迅速。可以说Python已经逐渐成为当下脚本语言的新标准。Python在图像处理算法方面除了其自身简洁的编程优势外,还得益于两个重要的Python类库——Numpy和Theano。

  Numpy是Python的线性代数库,对于矩阵运算能提供很好的支持,并且能够在此基础上进行很多机器学习相关算法的开发仿真,这里推荐一本受到大家广泛认可的书《机器学习实战》,我最近也正在看这本书,里面对好多机器学习领域的经典算法,小到KNN,大到SVM,都给出了详细的介绍以及代码实现(Python版)。Theano是Python的机器学习库,能够方便的实现深度学习(例如卷积神经网络CNN)算法,网上很多对于DeepID算法的复现都是用的这个库。

  人觉得单从图像处理的角度评价的话,Python并没有前面两个工具(Matlab和OpenCv)应用广泛,不过作为通用的脚本语言,我觉得每个程序员都应该去了解了解它,毕竟俗话说没有烂的编程语言,只有烂程序员。我在学Python时第一个自己写的程序就是微信打飞机的小程序,在我的博客中有详细的教程,虽然是参照小甲鱼的《零基础入门学习Python》视频教程写的,但还是蛮有成就感的。

  三、图像处理研究方法

  我觉得,图像处理研究主要可以分为三个部分:基础概念、基本思想、算法研究。

  1、基础概念

  所谓基础概念,就是图像处理里最基本的知识,比如什么是图像?什么是像素?什么是彩色图像等等。没有一个明确的界限来划定什么是基础概念什么是高级知识,因人而异。了解图像处理的基础知识,有一本书是必读的,就是冈萨雷斯编写的、阮秋琦翻译的《数字图像处理》。这本书已经作为图像处理领域的经典教材使用了三十多年,我自己也把这本书看了好几遍,每一遍都会有新的体会。我觉得每一个搞图像的都应该熟读这本书。书中除了有几章内容在讲小波变换、模式识别等相对抽象的内容外,其他内容相对都是很基础的,本科生水平就能看懂。而且我建议要尽早看这本书,如果是研究生尽量在进入课题之前就看一遍,因为这样一本经典的书在进入课题之后可能就没时间看了,以后也顶多是查阅而已。我当初就是在大四的寒假看完了这本书,以后在图像入门的过程中就显得轻松很多。看完这本书,哪怕是只看前几章,明白了什么是图像(二维或者三维矩阵)、什么是像素、彩色图和灰度图、颜色空间、图像滤波、图像噪声、图像频域变换等概念,将来在进行更深一步的研究的话就会方便很多了。

  2、基本思想

  刚开始想把这部分内容命名为“基本算法”,意在介绍图像处理中的一些基本算法,后来仔细想想决定不这么写,因为图像处理是一个非常大的概念,图像处理不等于人脸识别,也不等于模式识别,直接介绍诸如图像处理基本算法之类的内容很容易写成空话,没有什么实际意义。读者有兴趣的话可以直接谷歌百度“图像处理十大经典算法”,上面有我想说的内容。

  万变不离其宗,算法是死的,重在思想。举个例子,我个人是主攻模式识别方向,在这个方向判断一个学生是否入门有一个非常简单的方法,就是“如果你能把图像很自然的想象成高维空间中的一个点”,那就说明在模式识别方面入门了,可以对图像进行分类了。当然标准不是唯一,在其他领域如目标检测也会有其他的判断标准,总之我们要对图像进行处理,那么图像就不再只是图像,它可能会演变成各种不同形式的概念,可能是点,可能是面,还可能是一个坐标空间。在目标跟踪的经典算法粒子滤波中,将一个个的小图像块看做一个个粒子;在子空间理论中,将一系列图像放在一起构建一个成分主空间(例如主成分分析PCA算法等等。,我不会详细介绍这些算法,说多了就显得抽象老套,但我要说的是我们一定要把图像本身理解好,它是一个图像,是一个矩阵,是一个信息的容器,是一种数据的表现形式,图像不一定都必须在视觉上有意义(比如频域的图像)。

  总之图像处理的基本思想还是要立足于图像本身,要深度到图像内部结构中,思维要灵活。我当时做本科毕设时,怎么也不知道图像和高维空间中的点之间有什么对应关系,后来总算有一天,突然就明白了,这也就是所谓的量变产生质变。总之一定要多想,多总结,主动去钻研,才能够真正领悟一些东西。最基本的东西往往蕴藏着深奥的道理,无论你现在多牛多厉害,都不能放掉最本源的东西。多想想图像是什么,有什么本质属性,你可能无法得到准确的答案,但肯定能得到一些有用的感悟(有点像哲学问题了)。

  3、算法研究

  算法研究应该是图像处理的核心工作,尤其是各大高校的博士硕士。这里我并不想谈那些高大上的算法,我更想说的是一些算法研究的一些基础的东西,比如说一些基础课程,比如说矩阵运算。

  研究图像处理的算法,离不开数学。在这里我建议图像处理方面的硕士一定要上两门课:《泛函分析》以及《最优化算法》,有的学校已经将这两门课列为了研究生阶段的必修课程。这两门可可以说是图像处理(至少是模式识别)的基础。我当初没上过最优化算法,但后来也自己补上了,不然真的是寸步难行。至于泛函我当时听课的时候也不是很懂,但是在之后的研究过程中发现很多图像处理的基本知识基本理论都和泛函分析中枯燥的定理如出一辙,没办法,有的东西本身就是枯燥的干货,学着费力,缺它不行。

  其次我想说的是矩阵运算。图像就是矩阵,图像处理就是矩阵运算。大家为什么都喜欢用Matlab,就是因为它的矩阵运算能力实在是太强大,在Matlab的世界中任何变量都是矩阵。同样OpenCv之所以能流行,不仅仅是因为它良好的封装性,也是因为它的矩阵格式,它定义了Mat基础类,允许你对矩阵进行各种操作。Python也不例外,它的Numpy就是一个专门的线性代数库。

  真正在图像编程过程中,那些看着高大上的API函数归根到底都是工具,查查手册就能找到,真正核心还是在算法,算法是由公式编写的,公式的单元是变量,而图像届的变量就是矩阵。所以,熟练去操作矩阵,求秩、求逆、最小二乘,求协方差,都是家常便饭。所以,如果你有幸能上《矩阵分析》这门课,一定要把它看懂,那里面都是干货。

  四、小结

  总之,图像处理就是一个典型的门槛低、厅堂深的领域。不需要太多基础,学过线性代数,会一点编程就够了;但是那些算法却深不可测,是个消耗功夫的活儿。在写这篇教程时我说的很直白,就像和大家对话一样,想到什么说什么。在最后我想说两句题外话,就是不仅仅针对图像处理,对于其他新技术的入门学习也是一样,尽快迈出第一步,尽快去建立自信和成就感,让自己有勇气走下去,然后缺什么补什么就行了。我觉得真正让人望而却步的往往不是技术本身,而是我们对自身的不自信。唯有果断开工,才能战胜心魔。


如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢。


2017-09-19 10:07:05 Strive_0902 阅读数 6285

1、数字图像:

数字图像,又称为数码图像或数位图像,是二维图像用有限数字数值像素的表示。数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。


2、数字图像处理包括内容:

图像数字化;图像变换;图像增强;图像恢复;图像压缩编码;图像分割;图像分析与描述;图像的识别分类。


3、数字图像处理系统包括部分:

输入(采集);存储;输出(显示);通信;图像处理与分析。


4、从“模拟图像”到“数字图像”要经过的步骤有:

图像信息的获取;图像信息的存储;图像信息处理;图像信息的传输;图像信息的输出和显示。


5、数字图像1600x1200什么意思?灰度一般取值范围0~255,其含义是什么?

数字图像1600x1200表示空间分辨率为1600x1200像素;灰度范围0~255指示图像的256阶灰阶,就是通过不同程度的灰色来来表示图像的明暗关系,8bit的灰度分辨率。 


6、图像的数字化包括哪两个过程?它们对数字化图像质量有何影响?

采样;量化  

采样是将空间上连续的图像变换成离散的点,采样频率越高,还原的图像越真实。量化是将采样出来的像素点转换成离散的数量值,一幅数字图像中不同灰度值得个数称为灰度等级,级数越大,图像越是清晰。


7、数字化图像的数据量与哪些因素有关?

图像分辨率;采样率;采样值


8、什么是灰度直方图?它有哪些应用?从灰度直方图中你可可以获得哪些信息?

灰度直方图反映的是一幅图像中各灰度级像素出现的频率之间的关系

它可以用于:判断图像量化是否恰当;确定图像二值化的阈值;计算图像中物体的面积;计算图像信息量。

从灰度直方图中你可可以获得:

暗图像对应的直方图组成成分几种在灰度值较小的左边一侧  

明亮的图像的直方图则倾向于灰度值较大的右边一侧 

对比度较低的图像对应的直方图窄而集中于灰度级的中部 

对比度高的图像对应的直方图分布范围很宽而且分布均匀


9、什么是点处理?你所学算法中哪些属于点处理?

在局部处理中,输出值仅与像素灰度有关的处理称为点处理。如:图像对比图增强,图像二值化。


10、什么是局部处理?你所学算法中哪些属于局部处理?

在对输入图像进行处理时,计算某一输出像素值由输入图像像素的小领域中的像素值确定,这种处理称为局部处理。如:图像的移动平均平滑法,空间域锐化法。


------------图像增强-----------------空域------------------平滑去噪-----------------


11、图像增强的目的是什么?

图像增强的目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的的增强图像的整体或局部特性,将原来不清晰的图像变得清晰或增强某些感兴趣的特征,扩大图像中不同物体的特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,将强图像判读和识别效果,满足某些特征分析的需求。


12、什么是灰度图像的直方图?简述用它可以简单判断图像质量? 

灰度直方图定义为数字图像中各灰度级与其出现的频数间的统计关系,它能描述该图像的概貌,例如图像的灰度范围,每个灰度级出现的频率,灰度级的分布,整幅图像的平均明暗和对比度等


13、常用图像增强方法有哪些?

图像的线性变换;图像的非线性变化;图像的直方图均衡化和规定化。


14、“平均模板”对图像做哪种处理?写出 3x3和5x5“平均模板”?

抑制噪声,改善图像质量


15、“中值滤波”对图像做哪种处理?是如何运算的?

中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心像素的灰度
值的滤波方法,它是一种非线性的平滑法,对脉冲干扰及椒盐噪声的抑制效果好,在抑
制随机噪声的同时能有效保护边缘少受模糊。


16、什么叫点处理、局部处理、全局处理?3x3平均模板、直方图修正、灰度反转各属于哪种处理?

点处理:输出值仅与像素灰度有关的处理称为点处理。(直方图修正)

局部处理:计算某一输出像素值由输入图像像素的小领域中的像素值确定,这种处理称为局部处理。(灰度反转)

全局处理:图像某一像素灰度的变化与图像全部像素灰度值有关。(3x3平均模板)


-------------图像变换----------频域处理---------------频域--------------


17、常用图像变换算法:

图像的几何变换(图像畸变校正、图像缩放:双线性插值、旋转、拼接)

图像变换(傅立叶、余弦、沃尔什-哈达玛、K-L变换、小波变换)

图像频域处理(增强算法:高频率提升、同态滤波;平滑去噪:低通滤波)


18、为什么要进行图像变换?各种变换应用在图像什么处理上?

图像变换在数字图像处理与分析中起着很重要的作用,是一种常用的、有效的分析手段。图像变换的目的在于:使图像处理问题化;有利于图像特征提取;有助于从概念上增强对图像信息的理解。


19、简述空域滤波跟频域滤波的不同

 空域法:直接对图像的像素灰度进行操作。常用算法:图像的灰度变换;直方图修正(均衡化、规定化);平滑和锐化处理;彩色增强。

频域法:在图像的变换域中,对图像的变换值进行操作,然后经逆变换获得所需要的增强结果。常用算法:低通滤波;高频提升滤波;同态滤波。


20、频域进行图像增强、去噪、边缘检测分别用哪种滤波器?

增强------------同态滤波器

去噪------------低通滤波器

边缘检测------高通滤波器


21、频域处理图像的步骤:

a.清除噪声,改善图像的视觉效果     

b.突出边缘有利于识别和处理


------------------------- 图像复原--------------------------------------------

常用图像变换算法:

(1) 逆滤波;  (2)维纳滤波(Wiener Filter); (3)盲卷积


22、什么叫图像复原?与图像增强有什么区别?

图像在形成、传输和记录中,由于成像系统、传输介质和设备的不完善,导致图像质量下降,这一现象称为图像退化。

图像复原和图像增强是有区别的,虽然二者的目的都是为了改善图像的质量,但图像增强不考虑图像是如何退化的,只通过试探各种技术来来增强图像的视觉效果。因此,图像增强可以不顾增强后的图像是否失真,只要看着舒服就行。而图像复原则完全不同,需知道图像退化的机制和过程等先验知识,据此找出一种相应的逆过程解算方法,从而得到复原的图像。如果图像已退化,应先做复原处理,再做增强处理。


23、说出几种图像退化:

图像模糊、失真、有噪声等


24、什么是维纳滤波器?

是一种以最小平方为最优准则的线性滤波器,在一定的约束条件下,其输出与给定函数的差的平方达到最小,通过数学运算最终可变为可变为一个拖布列兹方程的求解问题,是利用平稳随机过程的相关特性和频谱特性混有噪声的信号进行滤波。


25、说出几种常用的图像复原方法?

代数恢复方法:无约束复原;约束最小二乘法  

频域恢复方法:逆滤波恢复法;去除由均匀运动引起的模糊;维纳滤波复原法


---------------------------------图像压缩编码----------------------

常用图像变换算法:

(1)哈夫曼编码;(2)算术编码;(3)预测编码;(4)变换编码 


26、图像为什么可以压缩?(即数字图像中存在哪几种冗余?) 

图像数据之所以可以被压缩,是因为数据中存在着冗余。  在图像压缩中,有三种基本的数据冗余:编码冗余;像素间冗余;视觉冗余。


27、什么是有损和无损压缩?

无损压缩:是对文件本身的压缩,和其它数据文件的压缩一样,是对文件的数据存储方式进行优化,采用某种算法表示重复的数据信息,文件可以完全还原,不影响文件内容,对于数字图像而言,也不会使图像细节有任何损失。  

有损压缩:是对图像本身的改变,在保存图像时保留了较多的亮度信息,而将色相和色纯度的信息和周围的像素进行合并,合并的比例不同,压缩的比例也不同,由于信息量减少了,所以压缩比可以很高,图像质量也会相应的下降。


28、霍夫曼编码算法的基本思想是什么? 

是根据源数据符号发生的概率进行编码的。在源数据中出现概率越大的符号,分配的码字越短;出现概率越小的信号,其码长越长,从而达到用尽可能少的码表示源数据。


29、损和有损预测编码算法不同之处?各在哪个环节对数据实现了压缩?

无损(亦称无失真、无误差、信息保持)编码中删除的仅仅是图像数据中冗余的数据,经解码重建的图像和原始图像没有任何失真。  

有损(亦称有误差、有失真)编码是指解码重建的图像与原图像相比有失真,不能精确的复原,但视觉效果上基本相同,是实现高压缩比的编码方式。


30、简述统计编码、算术编码、预测编码、变换编码算法的基本原理

统计编码:根据信源的概率分布可变长码,使平均码长非常接近于熵。 

算数编码:利用编码符号的联合概率,用一个单独的浮点数来代替一串输入符号。 

预测编码:不是直接对信号编码,而是对图像预测误差编码。实质上是对新的信息进行编码,以消除相邻像素之间的相关性和冗余性。  

变换编码算法:是通过正交变换把图像从空间域转化为能量比较集中的变换域系数,然后对变换系数经行编码,从而达到压缩数据的目的。


--------------------------图像边缘检测、分割---------------------------

图像处理常用算法:

(1)边缘检测:Canny 算子、Laplacian算子、Sobel 算子 

(2)Hough变换检测直线和圆算法  

(3)图像分割:阈值分割算(也叫二值化)、区域分割算法 :区域生长法、分裂合并法、空间聚类法。


31、说出几个常用的边缘检测算子:

Canny 算子、Laplacian算子、Sobel 算子


32、分别说出下面四种模板分别实现平滑去噪(低通滤波器)、图像锐化(梯度法)、边缘检测(高通滤波器)哪种处理?





附加:

1、灰度图像跟彩色图像:

灰度图像:是一个二维的灰度(亮度)函数f(x,y)

彩色图像:由三个二维灰度函数f(x,y)组成。三个是RGB或者HSV


2、图像处理:

从图像到图像:从图像到经过加工的另一图像

一个决策:将一幅图像转化为一种非图像的表示


3、相邻像素:

四邻域:


对角领域:


八领域:



4、像素的连接、邻接、与连通

邻接adjacency:仅考虑像素间的空间关系 

由像素间的度量关系知:

四领域也可以定义为:

八领域也可以定义为:

连接connectivity

空间关系:满足邻接

灰度关系:灰度值是否满足某个特定的相似准则,用V来表示这个准则。

                        

4-连接:2个像素p和r在V中取值且r在p的4邻域中

8-连接:2个像素p和r在V中取值且r在p的8邻域中

m-连接(混合连接):2个像素 p 和 r 在V 中取值,且满足下面条件之一即可

1、r在p的4领域中。
2、r在p的对角领域中且p的4领域与r的4邻域的交集是空集。如下图所示:eg:彩色图像中左边是m-连接,右边不是。


                         



5、像素间的距离

3个像素p,q,r,分别具有坐标(x, y),(s, t),(u, v),度量函数记为D。

像素间距离的性质:

1>D(p,q)>=0 两个像素之间的距离总是正的

2>D(p,q)=D(q,p) 距离与起终点的选择无关

3>D(p,R)<=D(p,q)+D(q,r) 最短距离是沿直线的

距离度量函数:

1>欧氏距离:距离p小于或者等于某一值是:以p为原点的圆


2>城市街区距离:距离小于或者等于某一值是以p为中心的菱形


3>棋盘距离:距离p小于或者等于某一值是以p为中心的正方形


                                     



























2015-07-29 10:52:41 qq_26898461 阅读数 16011

经历了半年多的学习,图像处理总算入门了,做了个小项目,将之前所学的都用到了。虽不敢说精通,但该掌握的工具都掌握了,包括图像算法。图像处理虽说不难,但刚开始入门,还是不易的,我也走了不少弯路,希望借鉴给有缘人。

首先,搞图像处理,熟悉图像算法是必经之路,如果上过图像处理这门课的话,再好不过。如果没有,我推荐中科院研究生院刘定生老师的数字图像处理与分析(视频),这位老师上课引人入胜,值得推荐。其次,在这个阶段,配套的书籍自然是《冈萨雷斯版数字图像处理》这本书,最好同时用matlab软件,仿真每一个图像算法案例,推荐《matlab宝典》。大概花一个月时间,基本的图像算法,相信你已经学完了。第二阶段,希望你再次认真学习C++,推荐《C++ Primer》,因为以后我们开发程序,都是基于类的开发,什么虚函数,类的继承、多态、命名空间、文件的输入输出、模板STL都应非常熟悉。在这之后,VC++你也应该掌握,圣经级的书籍自然是孙鑫的《VC++深入详解》,大概花一个时间,将书上每一个代码都敲一边,消息的映射机制,尤其要非常熟悉,MFC的框架结构也应明白。在此阶段,有时间的话,看看中科院研究生院杨力祥老师的高级windows程序设计(视频),这些代码开发都是基于VC6.0的。

以上如果你都搞明白了,就进入重头戏了。将图像处理算法和代码结合起来,进行开发。首推北航老师谢凤英, 赵主培主编的《Visual C++数字图像处理》这本书,将上面的代码都敲一边,你会有不一样的感觉。

最后一个阶段,因为在实际的开发过程中,不可能每一基本算法都要自己写,前人已经写好了。所以推荐大家使用opencv这个开源库,他实现了大多数图像算法,实际开发中,用他的函数就够了,推荐书籍《学习opencv》,《opencv教程》,视频自然是庞峰老师的视频,大家可以在opencv中文论坛上免费观看。至此,该掌握的工具你已经掌握了,但是将MFC和opencv结合起来开发,最好是要有一个项目,你会理解许多。

最后,我想说MFC开发已经过时了(俗称没饭吃),但是他的那套消息机制还是非常有用的,建议大家界面开发的用C#或QT,代码编写结合opencv,这样你会轻松很多。在图像处理领域中,真正得到大牛都是搞算法的,建议大家在看看计算机视觉和模式识别、机器学习方面的书籍。至此,以上就是我的感悟。

数字图像处理入门

阅读数 10073

红外图像处理

阅读数 5559