zoukankan      html  css  js  c++  java
  • 图像处理的基本知识(转)

    调色板
    调色板(Palette)也叫颜色查找表,是指在16色(每个像素4个bit,总共有16种颜色)或256色(每个像素8个bit,即一个字节,总共有256种颜色)显示系统中由图像中出现最频繁的16种或256种颜色所组成的查找表。对这些颜色按4位(16色)或8位(256色),即0-15或0-255进行编号,每一个编号(索引值)代表R,G,B,3个分量24位的颜色值.使用调色板的图像叫做调色板图像.对于调色板图像而言,它们的像素值并不是颜色值,而是颜色在调色板查找表中的索引号.

    图像的颜色处理
    自然界的颜色可以简单地分为黑白色(包括灰度级)和彩色两种.
    彩色图像处理分为3个主要处理领域,即真彩色,假彩色和伪彩色处理领域.在真彩色处理中,被处理的图像一般从真彩色传感器中获得,例如彩色摄像头或彩色扫描仪;假彩色处理时一种尽量接近真彩色的人工彩色处理技术;伪彩色处理时将彩色分配给某种灰度(强度或强度范围),以增强辨识能力.
    1.将256色位图转换为灰度图
    位映像
    图像显示时是采用扫描方式,即电子枪每次从左到右扫描一行,为每个像素着色,然后再从上倒下扫描整个屏幕,利用人眼的视觉残留效应就可以显示出一屏完整的图像.我们常说的屏幕分辨率是1024X768,刷新频率为85Hz,意思为每行扫描1024个像素,一共要扫描768行,每秒重复85次.一般刷新频率大于80Hz时.人眼感受不到屏幕刷新引起的闪烁,这种显示器就成为位映像设备.因而所谓的位映像,实质上就是一个二维(行和列)的像素矩阵.
    位图:
    位图就是采用位映像方法显示和存储的图像.
    256色位图
    自然界的任何颜色都可以通过RGB三原色合成.有的颜色含红色成分多些,其他成分少些.针对含有红色成分的多少,可以将颜色分为0至255共256个等级.0级表示不含红色成分,255表示含有100%的红色成分.同样,绿色和蓝色也可以分为256个等级.这样,R,G,B的各种不同的组合就能表示256X256X256(约1600万)种颜色.当从大约1600万的颜色中选用最常用的256中颜色给位图的像素进行着色时,就得到256色位图.因而,256色位图是一种很具有吸引的彩色位图.
    灰度图
    灰度图(Grayscale)是数字图像处理中的一个比较简单但却非常重要的概念.它只含有亮度信息,不含色彩信息.从YIQ或YUV色彩系统转换公式可以看出,当R=G=B时,除了Y值不为0外,I,Q值和U,V值都为0,即只有亮度信息,没有色彩信息.灰度图就是这样一种特殊位图,他每个像素的R,G,B分量都相等.通常把R,G,B颜色分量量化为0至255共256个级别,0表示最暗(黑),255表示最亮(白).经过这样的量化之后,灰度图成了一种特殊的256色位图,其调色板的每一个选项的RGB分量都是相同的,即从(0,0,0),(1,1,1)一直到(255,255,255).(0,0,0)是全黑色,(255,255,255)是全白色,中间是灰色.
    256色到灰度图的转换
    1.最大值法 是R,G,B的值等于他们中的最大值
    即 R=G=B=max(R,G,B)
    2.平均值法 求 R,G,B的平均值
    即 R=G=B=(R+G+B)/3
    3.加权平均法 对R,G,B三值球加权平均值
    即 R=G=B=(wr * R + wg * G + wb* B)/3
    其中,wr,wg,wb分贝为R,G,B的权值
    4.色彩系统变换法 由 RGB与YIQ色彩系统变换公式可知,当R=G=B时,即得到相应的灰度值为
    Y=0.299 * R + 0.587 * G + 0.114 * B
    将灰度图像转换为256色位图
    这种将灰度图转换为彩色图像的方法通常称之为图像的伪彩色处理.
    对灰度图像进行伪彩色变换,只需要指定伪彩色的调色板替换为原来的调色板即可.
    目前常用的伪彩色的调色板有以下几种,红饱和度编码,绿饱和度编码,蓝饱和度编码,黄饱和度编码,青色饱和度编码,紫色饱和度编码,彩虹编码,热金属编码

    将真彩色图像转换为256色位图
    真彩色图像指的是能真实地反映自然物体本来颜色的图像.大多数彩色图像采集系统都采用24位的真彩色(每个像素12个bit)来存储图像,以便最大限度地保证图像信息的完整性.将24位真彩色图像转化为8位的256色图像,通常称为对图像进行减色处理.
    将真彩色图像转化为256色位图的关键是要生成一个合适的调色板,因为要显示256色位图必须使用调色板.该调色板是否合适是以用调色板显示图像时是否能最大限度地反映真彩色图像的彩色信息为标准.由于256色位图调色板仅能显示256种颜色,因此,当真彩色图像转化为256色位图时,就必须从真彩色所能表现的大约16M中颜色中选取最代表性或出现频率最高的256中颜色.在前面提到,在这256种调色板颜色中,有20中颜色是windows预留的.因此,实际只需要选出236中颜色.确定了用来填写调色板的256中颜色后,其余的颜色就用与选定的256中颜色最相似的颜色来代替,这也是不得已而为之,因为256色位图的表现能力有限.
    要想从真彩色图像所能表现的大约16M中颜色中选取最代表性或者出现频率最高的256中颜色,目前广泛的采用的方法主要有以下3种 :
    流行色算法(popularity algorithm)
    是对彩色图像中所有颜色出现的次数所统计分析,即创建一个数组记录各种颜色和该颜色出现的频率,然后把出现次数最多(频率最大)的236中颜色作为调色板的颜色.该算法实现起来比较简单,但该算法可能丢失一些出现频率较低但是视觉效果明显的信息.
    中位切分算法(median-cut algorithm)
    在RGB彩色空间中,R,G,B三基色对应于空间的3个坐标轴,并将每一个坐标轴都量化到0-255.0对应全黑,255对应全白.这样就形成了一个边长256的彩色立方体.所有可能的颜色都对应于立方体上的一个点.将彩色立方体切分成236个小立方体(每个小立方体中都包含了相同数量的图像中出现的颜色点.求出每一哦小立方体的中心点,这些中心点所表示的颜色就是最能代表图像颜色特征的236种颜色).中位切分法被广泛引用,但该算法设计复杂的排序工作,而且内存开销较大.
    八叉树颜色量化算法
    将图像的R,G,B颜色值分布到层状的八叉树中.八叉树的深度最多为9层,即根节点层和分别表示8位的R,G,B值的8个节点层.较及其不重要的R,G,B值的位(R,G,B右边的位).因此,为了提高效率和节省内存,通常并不把8位R,G,B分量值都用上.......

    2010.03.27
    图像增强
    图像增强的目的:1.人眼看着更舒服;2.适合机器进行分析处理.
    空域处理法:
    数字图像f(x,y)经增强处理后,得到一幅新的数字图像g(x,y),这种方法就叫做空域处理法.在二维图像空间进行增强处理,主要是在灰度级上做文章,即利用灰度对比度增强的方法,进行灰度级映射变换.
    频域处理法:
    将离散图像f(x,y)进行傅立叶变换F(u,v),在空间频率进行滤波处理后得到新的图像G(u,v),再经过傅立叶逆变换得到图像g(x,y),这种方法就做频域法处理.卷积定理是频域法处理的基础.
    一般情况下,用空域法增强图像是较有效的方法,而频域法则有可能产生交叠误差,造成图像失真.同时,频域法处理图像时占用内存多,计算比较费时,因而能用空域法就不采用频域法.使用频域法可以进行正,逆变换,将乘除运算变为加减运算.

    灰度变换法:
    灰度变换法是一种空间域图像增强的方法,也是图像增强中技术比较简单的方法.它是将图像f(x,y)的灰度级按照一定的映射关系变换为新图像g(x,y)的灰度级.通常有线性灰度变换,分段线性变换,非线性灰度变换等方法.当图像由于成像时曝光不充分或过度,成像设备的非线性或图像计量设备动态范围小等因素造成图像对比度不知,细节分辨率不清时,对图像进行灰度线性扩展常能显著改善图像质量.为了突出图像中感兴趣的灰度区间或图像中的目标,相对抑制图像中不感兴趣的灰度区间,可采用分度线性法.
    线性灰度变换:
    线性灰度变换的基本思想是把原图像的灰度值按照固定的比例关系进行放大或缩小.例如:原图像的像素灰度值的范围为[20,100],如果我们把所有的灰度值同时扩大两倍,则得到新图像的灰度值的范围是[40,200].
    分段线性灰度变换
    分段灰度线性变换的基本思想是对原图像中不同灰度范围的像素值放大或缩小不同的倍数.一般采用三段线性变换.
    非线性灰度变换:
    一般采用对数变换和指数变换两种形式.
    对数变换:当希望对图像的低灰度区有较大的扩展而对高灰度区进行压缩时,一般采用该变换.
    指数变换:这种变换对图像的高灰度区有较大的扩展.

    直方图均值法:
    灰度直方图简介:
    灰度级直方图是一种函数,它表示数字图像中每一灰度级与该灰度级出现的频率之间的对应关系.
    假设数字图像总的像素为n,某一灰度r的像素的数目为m,曾m/n就是相对频率.也就是灰度级为r的像素出现的频率.灰度直方图是由若干根线条组成的图形,每一根线条代表了某一灰度级像素在整个图像中出现的频率.
    如果能使图像的直方图是平直的,即各灰度级基于相同的出现频率,那么,由于灰度级具有均匀的概率分布,腿昂看起来就比较清晰.真正增强方法称为直方图均衡法.
    方差均衡法:
    方差均衡法多用于指纹识别中.计算图像的方差和均值,再根据期望的均值和方差计算.
    图像平滑技术:
    主要目的是减少由于图像采样系统的质量因素而产生的噪音.一般情况下,在空域内可以用邻域平均来减少噪音;在频率内,邮件噪音频谱通常在高频段,因此可以采用各种形式的第通道滤波方法来减少噪音.
    图像平滑一般有两种方法:一种是加权平均法,一种是低通滤波法.其中低波滤波法属于频域法图像增强技术.
    加权平均法是取一个nxn的窗口,并取窗口内的n^2个像素的灰度级的加权平均值取代中心像素原来的灰度级.加给每一个像素的灰度级的权值是该像素在灰度级上接近程度的一种度量.
    模板的选取:相等加权,锥形加权,灰度差倒数加权.

    种植滤波法:
    中值滤波是一种非线性的滤波技术,与其对应的中值滤波器当然也就是一种非线性滤波器.中值滤波在一定条件下可以克服线性滤波器如最小均方滤波,均值滤波等带来的图像细节模糊,而且对抑制图像中的脉冲干扰和椒盐噪音特别有效.因为这些噪音在图像中往往以鼓励点的形式出现,与之对应的像素又比较少,所有采用中值滤波能有效的去除这些噪音,达到图像增强的目的.
    中值滤波法一般采用一个含有奇数个点的滑动窗口,对该窗口内的诸像素灰度排序,用其中值代替窗口中心像素原来的灰度值,或者说用局部中值代图像模糊替局部平均值.

    图像的锐化
    图像模糊的实质是图像受到平均或积分造成的,因此可对图像进行逆运算如做微分运算来是图像清晰化.从频谱角度来看,图像模糊的实质是其高频分量被衰减,因而可以通过高通滤波清晰图像.值得一提的是,对图像进行锐化处理时,图像必须具有较高的信噪比,否则锐化处理后,图像的信噪比反而更低,从而使噪声的增加比信号还要多.因此,一般是先去除或减弱噪声后再进行锐化处理.
    图像的锐化方法一般有两种方法:一种是微分法,一种是高通滤波法.
    常用的微分锐化方法主要有两种,即梯度锐化和拉普拉斯锐化.

    低通滤波法:
    在二维数字图像中,干扰和噪声经傅立叶变换后多反映在高频分量中.因此,对图像进行傅立叶变换后,在频域进行低通滤波,是低频分量无损通过,对高频分量进行抑制和衰减,即可达到图像增强的目的.
    常用的集中低通滤波器:理想低通滤波器,巴特奥斯低通滤波器,指数低通滤波器,梯度低通滤波器.

    高通滤波法:
    由于图像中边缘与灰度级的急剧变化都与图像的高频分量有关,因而在频域中用高通滤波器滤波能够使图像尖锐化.高通滤波器可以衰减图像傅立叶变化中的低频分量,而无损傅立叶变换中的高频信息.
    常用高通滤波器:理想高通滤波器,巴特奥斯高通滤波器,指数高通滤波器,梯度高通滤波器.

    图像的边缘检测:
    图像的边缘检测(或叫边缘增强)是使图像的轮廓更加突出的图像处理方法.在对图像进行特征提取之前,一般都进行边缘检测,然后再进行二值化处理.边缘检测将突出图像的边缘,边缘以外的图像区域通常被削弱甚至被完全去掉.处理后边界的亮度与原图中边缘周围的亮度变化率成正比.

    微分算子边缘检测:
    边缘的检测常借助空域微分算子进行,通过将其模板与图像卷积完成.两个具有不同灰度值的相邻区域之间总会存在灰度边缘.这种不连续的灰度边缘常可利用求导数的方法检测到.一般用一阶和二阶导数来检测边缘,这是因为在边缘地带导数值达,而非边缘地方导数值小.
    图像中目标的边缘可通过求导数来确定.但是数字图像是离散的,不能求导数.那该怎么办?方法很简单,离散的数字图像不能求导数,求差分却是可以的,那么我们就用求差分来近似求导数.

    哈夫变换
    哈夫变换方法是利用图像全局特性直接检测目标轮廓,即可将边缘像素连接起来组成区域封闭边界的一种常用方法.在预知区域形状的条件下,利用哈夫变换可以方便地得到边界曲线二净不连续的边缘像素点连接起来.哈夫变换的主要优点是受噪声和曲线间断的影响较小.
    梯度算子:梯度对应一阶导数,因而梯度算子是一阶导数算子.
    Roberts边缘检测算子:利用局部差分方法寻找边缘的算子,是一种平方根运算.对具有陡峭的低噪声图像影响最好.
    Sobel边缘检测算子:采用两个卷积核.对灰度级渐变和噪声较多的图像处理得较好.
    Prewitt边缘检测算子:采用两个卷积核.
    梯度算子虽然简单,但都对噪声有一定的敏感性.由于噪声的影响,常需要对梯度算子的结果进一步选取阈值做二值化处理,以区分真假边缘点.

    方向算子:
    方向算子也能用来检测图像的边缘.方向算子利用一组模板分别计算不同方向上的差分值,取其中的最大值作为边缘强度,而将与之对应的方向作为边缘方向.
    平移和差分算子:
    平移和差分算子可分为垂直边缘算子,水平边缘算子和水平与垂直边缘算子3中,他们采用不同的卷积核.
    该方法的实现思路是首先将图像平移一个像素,然后用原图像减去平移后的图像.用相减后的结果来反映原图像亮度变化率的大小.如果原图像某个区域中的像素保持不变,相减的结果当然为零,即像素为黑;如果图像中某个区域的像素变化剧烈,相减后的结果就会较大,即得到较大的变化率,对应的像素很亮.值得注意的是,如果相减后的像素为负值,则应取其绝对值,以保证原图像像素比平移后图像像素更亮或更黑时,都能得到有效的增强.当要检测垂直边缘时使用垂直方向的卷积核,其结果是先将图像向左平移一个像素,再用原图像减去平移后的图像;当要增强水平边缘是使用水平方向卷积核,其结果是先将图像向左上移一个像素,再用原图像减去平移后的图像;当要同时增强水平和垂直方向的边缘时,利用水平与垂直方向卷积核,其结果是先将图像向左上移一个像素,再向左平移一个像素,然后用原图像减去平移后的图像.

    梯度方向算子:
    梯度方向算子增强根据边缘检测方向不同可以有8个不同的卷积核,分别是北,东北,东,东南,南,西南,西和西北方向.
    如果在卷积核方向上存在着正的像素亮度变化率,则输出图像上的像素变量.变化率越大,则图像越亮.由于卷积核中所有卷积系数至和为0,因此,图像中基本不变的区域(空域频率较低的区域)的结果像素值很小,即这些部分经处理后将变黑.

    Krisch边缘检测算子:
    Nevitia算子:

    拉普拉斯算子:
    Laplace边缘检测算子是一种二阶导数算子,它具有各向同性的性质,即其对边缘的检测与边缘的方向无关.而且Laplace算子比前述的算子计算量要小,因为它只需要一个模板,因而不必综合各个模板的值,所以比较省事.计算数字图像的拉普拉斯值也是借助各种模板实现.这里对模板的基本要求是对应中心像素的系数应是正的,对应中心像素临近的系数应是负的,且所有系数的和应该是0,这样就不会产生灰度偏移.

    综合正交算子:
    边缘的存在是图像中灰度值不连续的一般表现,按照这个观点,图像中的孤立点和直线也可以看成边缘.直线段可看作是由两个相邻的边缘组成(相当于脉冲边缘),所以也可以很方便地用特殊设计的正交模板来检测.综合正交模板就是这样一个具有特殊功能的算子.

    边界闭合:
    当图像中有噪声时,用各种边缘算子检测到的边缘像素常常是孤立的或分小段连续的.也就是说,在检测得到的边缘图中,有些是真正的边缘像素,有些实际上是噪声点.
    为将图像中不同的区域分开,需要将边缘像素连接起来组成区域的封闭边界,既要对检测到的图像的边缘进行边界闭合.边界闭合的方法分为并行和串行两种.
    要对图像的边缘像素点进行边界闭合,前提是这些边界像素点要有共同点,就像两个人要想在一起,就要有共同语言一样.边缘像素连接的基础即使他们的梯度之间有一定的相似性.

  • 相关阅读:
    Android-IntentFilter
    Activity-Flag标志位
    设计模式杂谈
    Android-语言国际化
    Android 常见SD卡操作
    Android
    nginx,wsgi,django的关系
    mac安装python-mysql
    mac mysql命令行
    地址空间 32位和64位
  • 原文地址:https://www.cnblogs.com/xingma0910/p/2606686.html
Copyright © 2011-2022 走看看