数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章

6.3彩色图像处理

彩色图像处理分成三个主要类别:

  • 颜色变换
  • 单独彩色平面的空间处理
  • 颜色向量处理

为了使独立的彩色分量和以向量为基础的处理都相同,必须满足两个条件:首先,该处理必须对向量和坐标都可用;其次,对向量的每个分量的运算必须独立于其他分量。

例如:在图6.10(a)中,平均值可以通过对邻域内的所有像素的灰度级求和,并且用邻域内的像素总数去除得到。在图6.10(b)中,平均值通过对邻域内的全部向量求和,并用邻域内的向量总数去除每一个分量。但平均向量的每一个分量都是图像中相应分量的像素的和。若平均分别是在图像的每个分量上完成的,然后形成彩色向量,则会得到相同结果。

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第1张图片

6.4 彩色变换

  • 图6.11举例说明了用图形发指定映射函数的一个简单而有效的方法。图6.11(a)示出了一种变换,它是通过三次样条插值得到。图6.11©和图6.11(d)分别提供了更复杂的线性和三次样条插值方法。线性插值使用如下命令实现:

    z = interplq(x, y, xi)

    它返回一个列向量,该向量包括在点xi处使用一维函数z线性插值的值。列向量x和y指定控制点的水平和垂直坐标。x的元素必须单调递长。z的长度等于xi的长度,例如:

      >>z = interplq([0 255]',[0 255]',[0: 255]')
    

    产生一个有着256个元素的一一映射,以连接控制点(0,0)和(255,255),即z=[0 1 2…255]’。

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第2张图片
类似地,三次样条插值使用spline函数实现:

z = spline(x, y, xi)

变换函数的说明可以按图形方式操作控制点来交互地产生,这些控制点是函数interpiq和spline的输入并实时地在被处理的图像上显示变换函数的结果。ice(交互彩色编辑)函数可准确地做到这一点,其语法为

g = ice(‘Property Name’,‘Property Value’,…)

其中,'Property Name’和’Property Value’必须成对出现,并且这些点表示由相应输入对所组成的模式的重复。表6.4列出了ice函数中的正确搭配。

关于’watie’参数,当显式或默认地选择’on’时,输出g是处理后的图像。在这种情况下,ice将控制处理,包括光标,因而在命令窗口不必键入任何命令,直到函数关闭,这时最后的结果就是图像g。当选择’off’时,g为处理后的图像的句柄,并且控制会立即返回到命令窗口;因此,在函数ice扔处于活动状态时,可以键入新的命令。为了用句柄g获得图像的属性,我们使用get函数

h = get(g)
数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第3张图片

6.5彩色图像的空间滤波

6.5.1彩色图像平滑

  • 单色图像的平滑(空间平均)可以通过空间掩模中的相应系数(全是1)去乘所有像素的值,并用掩模中元素的总数去除来实现。

  • 彩色图像平滑:

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第4张图片

    图像1为原始图像

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第5张图片

图像10~12为图像1的红,绿,蓝,分量图像

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第6张图片

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第7张图片

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第8张图片
图像6~8为图像1色调,饱和度和亮度的分量图像

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第9张图片
数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第10张图片
数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第11张图片

图像2为图像1平滑后的结果
数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第12张图片
图像5为图像1经过rgb2hsi函数变换得到的

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第13张图片

6.5.2 彩色图像锐化

  • 彩色图像锐化

    锐化一幅图像,可使用拉普拉斯算子滤波器掩模

      >>lapmask = [1 1 1;1 -8 1; 1 1 1];
    

    然后,使用如下命令计算并显示增强后的图像:

      >>fen = imsubtract(fb, imfilter(fb, lapmask,'replicate'));
      >>imshow(fen)
    

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第14张图片

    注意水滴,叶脉,花杂的黄色中心和前景中的绿色植物等的锐化增强效果。

6.6 在RGB向量空间直接处理

基于单独彩色平面的处理不等于直接在RGB向量空间中的处理。

6.6.1 使用梯度的彩色边缘检测

  • 用函数colorgrad进行RGB边缘检测

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第15张图片

    [VG,A,PPG] = colorgrad(fc);

    得到图像:

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第16张图片

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第17张图片

6.6.2 RGB向量空间中的图像分割

  • 分割通过函数colorseg实现,其语法为:

    S = colorseg(method,f,T,parameters)

    其中,method不是’euclidean’就是’mahalanobis’,f是待分割的RGB图像,T是前边描述过的阈值。若选择’euclidean’,则输入参数是m,若选择’mahalanobis’,则输入参数是m和C。参数m是一个在上面描述过的向量m,它的形式不是行就是列,并且C是3x3协方差矩阵C。输出s是一幅二值图像(和原始图像同样大小),在未通过阈值测试的点包含0,在通过了阈值测试的点包含1。1表示从基于彩色内容的f中分割的区域。

    colorseg函数:

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第18张图片

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第19张图片
数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第20张图片
数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第21张图片

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第22张图片

第9章 形态学图像处理

9.1 预备知识

9.1.1 集合论中的基本概念

  • 并补不差

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第23张图片

9.1.2 二值图像,集合和逻辑运算符

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第24张图片

 f1= imread('c:\图像\二值图像1.png');
  
 f2= imread('c:\图像\二值图像2.png');

 figure,imshow(f1)

 figure,imshow(f2)

 figure,imshow(~f1)

 figure,imshow(f1&f2)

 figure,imshow(f1|f2)

 figure,imshow(f1&~f2) 
  • 图像1,2位两幅二值图像

    图像3为图像1的补集

    图像4为图像1和图像2的合集

    图像5为图像1和图像2的交集

    图像6为图像1和图像2的差集

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第25张图片

9.2 膨胀和腐蚀

膨胀和腐蚀运算是形态学图像处理的基础。

9.2.1 膨胀

  • 膨胀是在二值图像中“加长”或“变粗”的操作。这种特殊的方式和变粗的程度由一个称为结构元素的集合控制。数学上,膨胀定义为集合运算。A被B膨胀,记为\(A \oplus B\)定义为:

$$ A \oplus B=\left\{z |(\hat{B})_{z} \cap A \neq \varnothing\right\} $$

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626101143570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMTAxNjM3,size_16,color_FFFFFF,t_70)

数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第26张图片](https://imgchr.com/i/Z2BVm9)

  • IPT函数imdilate执行膨胀运算。其基本的调用语法为

    A2 = imdilate(A, B)

    其中,A和A2都是二值图像,B是指定结构元素的由0和1组成的矩阵。

      A = imread('c:\图像\膨胀样本.tif');
    
      B = [0 1 0; 1 1 1; 0 1 0];
    
      A2 = imdilate(A,B);
    
      figure,imshow(A)
    
      figure,imshow(A2)
    
      B = [1 1 1; 1 1 1; 1 1 1];
    
      A2 = imdilate(A,B);
    
      figure,imshow(A2)
    
      B = [0 0 0; 0 0 0; 0 0 0];
    
      A2 = imdilate(A,B);
    
      figure,imshow(A2)
    
      B = [1 0 0; 0 1 0; 0 0 1];
    
      A2 = imdilate(A,B);
    
      figure,imshow(A2)
    

    图像1为原图像,图像2为膨胀之后的图像。图像3,4,5分别为

    B = [1 0 0; 0 1 0; 0 0 1]

    B = [1 1 1; 1 1 1; 1 1 1];

    B = [0 0 0; 0 0 0; 0 0 0];

    变换之后的图像。

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第27张图片

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第28张图片

9.2.2 结构元素的分解

  • 膨胀满足结合律,即
    A ⊕ ( B ⊕ C ) = ( A ⊕ B ) ⊕ C A \oplus(B \oplus C)=(A \oplus B) \oplus C A(BC)=(AB)C
    结合律很重要,因为计算膨胀所需要的时间正比于结构元素中的非零像素的个数。例如,考虑一个大小为5 x 5且其元素为1的数组膨胀

    数字图像处理(冈萨雷斯版)学习笔记(4)第6,9章_第29张图片

你可能感兴趣的:(数字图像处理)