【无标题】

彩色图像处理

索引图像

  • 概念
    一幅索引图包含一个数据矩阵data和一个调色板矩阵map,数据矩阵可以是uint8,uint16或双精度类型的,而调色板矩阵则总是一个m×3的双精度矩阵
    索引图像相比彩色图像,文件更小,主要用于网络上的图片传输和一些对图像像素、大小等有严格要求的地方
    imshow(X, copper),copper为MATLAB内置彩色映射

  • 图像“抖动”(用黑白二值图产生灰色调)
    bw= dither(gray_img)%灰度图转换为二值“抖动”图
    rgb2ind对减少RGB图像的色彩数很有用
    在这里插入图片描述
    在这里插入图片描述

图像基本操作

  • 分离通道&合并通道

    • MATLAB
    rgb_img= cat(3, fR, fG, fB)       
    fR = rgb_img(:,:,1)     
    fG = rgb_img(:,:,2)     
    fB = rgb_img(:,:,3)     
    %rgbcube(vx,vy,vz),绘制彩色立方体    
    
    • python
    B,G,R = cv2.split(image)       
    img = cv2.merge([B,G,R]) 
    
  • 色彩空间转换

    • 颜色空间类型
      NTSC,YCbCr,HSV,CMYK,HSI
    • MATLAB
    hsv_img= rgb2hsv(rgb_img)   
    rgb_img= hsv2rgb(hsv_img)   
    cmy_img= imcomplement(rgb_img)   
    rgb_img= imcomplement(cmy_img)   
    
    • python
    #skimage
    skimage.color.rgb2grey(rgb)
    skimage.color.rgb2hsv(rgb)
    skimage.color.rgb2lab(rgb)
    skimage.color.gray2rgb(image)
    skimage.color.hsv2rgb(hsv)
    skimage.color.lab2rgb(lab)
    #opencv
    cv2.cvtColor(input_image,flag)
    #flag:cv2.COLOR_BGR2GRAY, cv2.COLOR_BGR2HSV....
    

彩色变换

  • 生成映射函数

    • z=interplq(x,y,xi):z=interplq([0 255]' [0 255]' [0:255]')
    • z=spline(x,y,xi) :若y比x多两个元素,则第一个和最后一个被假定为三次样条的端滚降
    • g=ice('image',f,'space','hsi'):鼠标控制映射曲线
      在这里插入图片描述
  • 彩色图均衡化
    RGB分量分别均衡化会导致错误的色彩,转换为HSI后,H不动(色调保持不变),S、I进行均衡化。

彩色图像空间滤波

  • 平滑-在RGB独立分量上同时进行
    %MATLAB
    w=fspecial('average',25)
    I_filter=imfilter(I,w,'replicate')
    
  • 锐化-在RGB独立分量上同时进行
    %MATLAB
    mask=[1 1 1;1 -8 1;1 1 1]
    fen=imsubstract(fb,imfilter(fb,mask,'replicate'))
    

RGB向量空间直接处理

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

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

    • 灰度图像梯度

    二维函数 f ( x , y ) f(x,y) f(x,y)的梯度向量为 ∇ f = [ G x G y ] T = [ ∂ f ∂ x ∂ f ∂ y ] T \nabla f= [G_x G_y]^T=[\frac{\partial f}{\partial x} \frac{\partial f}{\partial y}]^T f=[GxGy]T=[xfyf]T
    梯度向量幅值为 m a g ( ∇ f ) = [ G x 2 + G y 2 ] 1 / 2 = [ ∂ f ∂ x 2 + ∂ f ∂ y 2 ] 1 / 2 mag(\nabla f)=[{G_x}^2+{G_y}^2]^{1/2}=[{\frac{\partial f}{\partial x}}^2+{\frac{\partial f}{\partial y}}^2]^{1/2} mag(f)=[Gx2+Gy2]1/2=[xf2+yf2]1/2
    使用近似值避免平方与开平方运算(幅度与变化程度成比例)$ mag(\nabla f) \approx|G_x|+|G_y|$。
    G x G_x Gx等导数用邻域内的像素值差来计算

    在这里插入图片描述

    最大梯度角度 α ( x , y ) = a r c t a n ( G y G x ) \alpha(x,y)=arctan(\frac{G_y}{G_x}) α(x,y)=arctan(GxGy)

    • 彩色空间计算梯度
      将这三个通道的信息看作是一个矢量,而矢量是不存在梯度的概念的,我们无法直接将上诉方法或算子直接用于RGB 图像,而且RGB图像单个通道的梯度信息又无法反映整体的梯度信息。

      • 彩色空间梯度推导
        在多通道图像中,假设梯度方向为 θ \theta θ
        ∇ f = ∣ ∣ f ( x + ε c o s θ , y + ε s i n θ ) ∣ ∣ \nabla f = ||f(x+\varepsilon cos\theta, y+\varepsilon sin\theta)|| f=∣∣f(x+εcosθ,y+εsinθ)∣∣
        为了便于计算,将计算绝对值换为计算平方,令
        ∇ f 2 = ∣ ∣ f ( x + ε c o s θ , y + ε s i n θ ) ∣ ∣ 2 \nabla f^2 = ||f(x+\varepsilon cos\theta, y+\varepsilon sin\theta)||^2 f2=∣∣f(x+εcosθ,y+εsinθ)2
        f ( x + ε c o s θ , y + ε s i n θ ) f(x+\varepsilon cos\theta, y+\varepsilon sin\theta) f(x+εcosθ,y+εsinθ)进行二次泰勒展开:
        f ( x + ε c o s θ , y + ε s i n θ ) = f ( x , y ) + ∑ i = 1 m ( ε c o s θ ⋅ ∂ f i ( x , y ) ∂ x + ε s i n θ ⋅ ∂ f i ( x , y ) ∂ y ) + o n f(x+\varepsilon cos\theta, y+\varepsilon sin\theta)=f(x,y)+\sum_{i=1}^m (\varepsilon cos\theta \cdot \frac{\partial f_i(x,y)}{\partial x}+\varepsilon sin\theta \cdot \frac{\partial f_i(x,y)}{\partial y})+o^n f(x+εcosθ,y+εsinθ)=f(x,y)+i=1m(εcosθxfi(x,y)+εsinθyfi(x,y))+on
        ≈ f ( x , y ) + ∑ i = 1 m ( ε c o s θ ⋅ ∂ f i ( x , y ) ∂ x + ε s i n θ ⋅ ∂ f i ( x , y ) ∂ y ) \approx f(x,y)+\sum_{i=1}^m (\varepsilon cos\theta \cdot \frac{\partial f_i(x,y)}{\partial x}+\varepsilon sin\theta \cdot \frac{\partial f_i(x,y)}{\partial y}) f(x,y)+i=1m(εcosθxfi(x,y)+εsinθyfi(x,y))
        其中 m m m表示图像通道数,为方便表述,用 ∂ f i ∂ x \frac{\partial f_i}{\partial x} xfi代替 ∂ f i ( x , y ) ∂ x \frac{\partial f_i(x,y)}{\partial x} xfi(x,y),则有:
        ∇ f 2 = ∑ i = 1 m ( ε c o s θ ⋅ ∂ f i ∂ x + ε s i n θ ⋅ ∂ f i ∂ y ) 2 \nabla f^2 = \sum_{i=1}^m (\varepsilon cos\theta \cdot \frac{\partial f_i}{\partial x}+\varepsilon sin\theta \cdot \frac{\partial f_i}{\partial y})^2 f2=i=1m(εcosθxfi+εsinθyfi)2
        重新定义函数 G ( θ ) G(\theta) G(θ),令
        G ( θ ) = ∑ i = 1 m ( ε c o s θ ⋅ ∂ f i ∂ x + ε s i n θ ⋅ ∂ f i ∂ y ) 2 G(\theta)= \sum_{i=1}^m (\varepsilon cos\theta \cdot \frac{\partial f_i}{\partial x}+\varepsilon sin\theta \cdot \frac{\partial f_i}{\partial y})^2 G(θ)=i=1m(εcosθxfi+εsinθyfi)2
        = ε 2 ( c o s θ 2 ⋅ ∑ i = 1 m ∣ ∣ ∂ f i ∂ x ∣ ∣ 2 + s i n θ 2 ⋅ ∑ i = 1 m ∣ ∣ ∂ f i ∂ y ∣ ∣ 2 + 2 s i n θ c o s θ ∑ i = 1 m ∂ f i ∂ x ∂ f i ∂ y ) =\varepsilon^2 (cos\theta^2 \cdot \sum_{i=1}^m||\frac{\partial f_i}{\partial x}||^2+sin\theta^2 \cdot \sum_{i=1}^m||\frac{\partial f_i}{\partial y}||^2+2sin\theta cos\theta \sum_{i=1}^m \frac{\partial f_i}{\partial x} \frac{\partial f_i}{\partial y}) =ε2(cosθ2i=1m∣∣xfi2+sinθ2i=1m∣∣yfi2+2sinθcosθi=1mxfiyfi)
        因为要求 G ( θ ) G(\theta) G(θ)最大值, ε \varepsilon ε无用,舍去
        G ( θ ) = c o s θ 2 ⋅ ∑ i = 1 m ∣ ∣ ∂ f i ∂ x ∣ 2 ∣ + s i n θ 2 ⋅ ∑ i = 1 m ∣ ∣ ∂ f i ∂ y ∣ ∣ 2 + 2 s i n θ c o s θ ∑ i = 1 m ∂ f i ∂ x ∂ f i ∂ y G(\theta)=cos\theta^2 \cdot \sum_{i=1}^m||\frac{\partial f_i}{\partial x}|^2|+sin\theta^2 \cdot \sum_{i=1}^m||\frac{\partial f_i}{\partial y}||^2+2sin\theta cos\theta \sum_{i=1}^m \frac{\partial f_i}{\partial x} \frac{\partial f_i}{\partial y} G(θ)=cosθ2i=1m∣∣xfi2+sinθ2i=1m∣∣yfi2+2sinθcosθi=1mxfiyfi
        为了进一步方便表述;令
        E = ∑ i = 1 m ∣ ∣ ∂ f i ∂ x ∣ ∣ 2 ; F = ∑ i = 1 m ∣ ∣ ∂ f i ∂ y ∣ ∣ 2 ; H = ∑ i = 1 m ∂ f i ∂ x ∂ f i ∂ y E=\sum_{i=1}^m||\frac{\partial f_i}{\partial x}||^2; F=\sum_{i=1}^m||\frac{\partial f_i}{\partial y}||^2; H=\sum_{i=1}^m \frac{\partial f_i}{\partial x} \frac{\partial f_i}{\partial y} E=i=1m∣∣xfi2;F=i=1m∣∣yfi2;H=i=1mxfiyfi
        G ( θ ) = c o s θ 2 E + s i n θ 2 F + 2 s i n θ c o s θ H G(\theta)=cos\theta^2 E + sin\theta^2 F + 2sin\theta cos\theta H G(θ)=cosθ2E+sinθ2F+2sinθcosθH
        边缘的方向是图像像素梯度最大的方向。也就是说梯度的方向\theta_max会使G(\theta)取最大值,则;
        θ m a x = G ( θ ) a r g m a x \theta_max=\mathop{G(\theta)}\limits_{argmax} θmax=argmaxG(θ)
        G ( θ ) G(\theta) G(θ)进行求导
        G ( θ ) ′ = − E c o s ( 2 θ ) + 2 F c o s ( 2 θ ) + H s i n ( 2 θ ) G(\theta)'=-Ecos(2\theta)+2Fcos(2\theta)+Hsin(2\theta) G(θ)=Ecos(2θ)+2Fcos(2θ)+Hsin(2θ)
        G ( θ ) ′ = 0 G(\theta)'=0 G(θ)=0,可得:
        t a n ( 2 θ m a x ) = 2 F E − H tan(2\theta_max)=\frac{2F}{E-H} tan(2θmax)=EH2F
        θ m a x = 1 2 a r c t a n ( 2 F E − H + k π ) \theta_max=\frac{1}{2}arctan(\frac{2F}{E-H}+k\pi) θmax=21arctan(EH2F+)
        很明显 G ( θ ) G(\theta ) G(θ)是一个以\pi为周期的周期函数,如果只考虑区间 [ 0 , π ) [ 0 , π ) \left [ 0 ,\pi\right )[0,π) [0,π)[0,π),且 θ m a x \theta_{max} θmax落到该区间内,则会有另一个让 G ( θ ) G(\theta ) G(θ)取极值的解也落在该区域内,
        这个值是 θ m a x + π 2 \theta_{max}+ \frac{\pi}{2} θmax+2π或者 θ m a x − π 2 \theta_{max}-\frac{\pi}{2} θmax2π。但是不论如何这两个解有一个让 G ( θ ) G(\theta ) G(θ)取极大值,另一个让其取极小值,两个角度相差 90°。
      • 应用计算
        r ⃗ , g ⃗ , b ⃗ \vec r,\vec g, \vec b r ,g ,b 分别是RGB彩色空间定义向量,并定义向量
        u ⃗ = ∂ R ∂ x r ⃗ + ∂ G ∂ x g ⃗ + ∂ B ∂ x b ⃗ \vec u = \frac{\partial R}{\partial x} \vec r + \frac{\partial G}{\partial x} \vec g + \frac{\partial B}{\partial x} \vec b u =xRr +xGg +xBb
        v ⃗ = ∂ R ∂ y r ⃗ + ∂ G ∂ y g ⃗ + ∂ B ∂ y b ⃗ \vec v = \frac{\partial R}{\partial y} \vec r + \frac{\partial G}{\partial y} \vec g + \frac{\partial B}{\partial y} \vec b v =yRr +yGg +yBb
        g x x , g y y , g x y g_xx,g_yy,g_xy gxx,gyy,gxy是这些向量的点积:
        g x x = u ⃗ ⋅ u ⃗ = u ⃗ T u ⃗ = ∣ ∂ R ∂ x ∣ 2 + ∣ ∂ G ∂ x ∣ 2 + ∣ ∂ B ∂ x ∣ 2 g_xx= \vec u \cdot \vec u =\vec u^T \vec u =|\frac{\partial R}{\partial x}|^2+|\frac{\partial G}{\partial x}|^2 +|\frac{\partial B}{\partial x}|^2 gxx=u u =u Tu =xR2+xG2+xB2
        g x x = v ⃗ ⋅ v ⃗ = v ⃗ T v ⃗ = ∣ ∂ R ∂ y ∣ 2 + ∣ ∂ G ∂ y ∣ 2 + ∣ ∂ B ∂ y ∣ 2 g_xx= \vec v \cdot \vec v =\vec v^T \vec v =|\frac{\partial R}{\partial y}|^2+|\frac{\partial G}{\partial y}|^2 +|\frac{\partial B}{\partial y}|^2 gxx=v v =v Tv =yR2+yG2+yB2
        g x x = u ⃗ ⋅ v ⃗ = u ⃗ T v ⃗ = ∂ R ∂ x ∂ R ∂ y + ∂ G ∂ x ∂ G ∂ y + ∂ B ∂ x ∂ B ∂ y g_xx= \vec u \cdot \vec v =\vec u^T \vec v =\frac{\partial R}{\partial x}\frac{\partial R}{\partial y}+\frac{\partial G}{\partial x}\frac{\partial G}{\partial y} +\frac{\partial B}{\partial x}\frac{\partial B}{\partial y} gxx=u v =u Tv =xRyR+xGyG+xByB
        梯度方向角:
        θ ( x , y ) = 1 2 a r c t a n [ 2 g x y g x x − g y y ] \theta(x,y)=\frac{1}{2}arctan[\frac{2g_xy}{g_xx-g_yy}] θ(x,y)=21arctan[gxxgyy2gxy]
        梯度值:
        F θ ( x , y ) = { 1 2 [ ( g x x + g y y ) + ( g x x − g y y ) c o s 2 θ + 2 g x y s i n 2 θ } ] 1 / 2 F_\theta(x,y)=\{ \frac{1}{2}[(g_xx+g_yy)+(g_xx-g_yy)cos2\theta+2g_xy sin2\theta\}]^{1/2} Fθ(x,y)={21[(gxx+gyy)+(gxxgyy)cos2θ+2gxysin2θ}]1/2
      • MATLAB
      [VG, A, PPG]= colorgrad(f,T)
      

      其中,f是RGB图像,T是[0,1]范围内的阈值选项(默认为0);
      VG是RGB向量梯度 F θ ( x , y ) F_\theta(x, y) Fθ(x,y);A是以弧度计的角度 θ ( x , y ) \theta(x, y) θ(x,y),并且PPG是由单独彩色平面的2D梯度之和形成的梯度图像。
      计算上述方程时,要求全部微分都可用函数clorgrad中的Sobel算子来实现。输出VG和PPG通过clorgrad被归一化到[0, 1]范围内,并且把它们作为阈值进行处理。所以,它们的值小于或等于T,VG(x,y)=0;对于其他的情况, V G ( x , y ) = V G ( x , y ) VG(x,y) = VG(x,y) VG(x,y)=VG(x,y)
      在这里插入图片描述

      • python
        Q:!!!没有彩色图像梯度?都是sobel与laplacian
  • RGB向量空间中的图像分割

    • 距离度量(计算相似度)

      • 欧几里得距离
        D ( z ⃗ , m ⃗ ) = ∣ ∣ z ⃗ − m ⃗ ∣ ∣ = [ ( z ⃗ − m ⃗ ) T ( z ⃗ − m ⃗ ) ] 1 / 2 D(\vec z,\vec m)=||\vec z - \vec m||=[(\vec z - \vec m)^T(\vec z - \vec m)]^{1/2} D(z ,m )=∣∣z m ∣∣=[(z m )T(z m )]1/2
      • 马氏距离(mahalanobis)
        D ( z ⃗ , m ⃗ ) = [ ( z ⃗ − m ⃗ ) T C − 1 ( z ⃗ − m ⃗ ) ] 1 / 2 D(\vec z,\vec m)=[(\vec z - \vec m)^T C^{-1}(\vec z - \vec m)]^{1/2} D(z ,m )=[(z m )TC1(z m )]1/2
        C是要分割的彩色样值表示的协方差矩阵。马氏距离一个三维椭圆体,重要属性是主轴取在最大数据扩展方向上。
        在这里插入图片描述

      马氏距离与尺度无关
      如果是单纯使每个变量先标准化,然后再计算距离,可能会出现某种错误,原因是可能在有些多维空间中,某个两个维之间可能是线性相关的。
      通过对线性无关的分量进行标准化后,再求得距离是合理的。
      mahalanobis距离是基于样本分布的一种距离。物理意义就是在规范化的主成分空间中的欧氏距离。
      它的缺点是夸大了变化微小的变量的作用。

    • 马氏距离推导

      • 基本思想
        如下图的过程(以两个维度作为例子),此例的数据重心为原点,P1,P2到原点的欧氏距离相同,但点P2在y轴上相对原点有较大的变异,而点P1在x轴上相对原点有较小的变异。所以P1点距原点的直观距离是比P2点的小的。
        在这里插入图片描述

      !
      马氏距离就是解决这个问题,它将直观距离和欧式距离统一。为了做到这一点, 它先将数据不同维度上的方差统一(即各维度上的方差相同),此时的欧式距离就是直观距离。
      如下图:统一方差后的图,P1到原点的距离小于P2。P1到原点的欧式距离和P2的相同。以上所说的直观距离就是马氏距离。

      在这里插入图片描述

      但是,如果不同维度之间具有相关性,则压缩的效果就不好了。如下图只在横向和纵向上压缩,则达不到上图的压缩效果。所以在F1方向和F2方向上压缩数据才能达到较好的效果。所以需要将原始数据在XY坐标系中的坐标 表示在F坐标系中。然后再分别沿着坐标轴压缩数据。

      在这里插入图片描述

      所以,计算样本数据的马氏距离分为两个步骤:1、坐标旋转;2、数据压缩
      坐标旋转的目标:使旋转后的各个维度之间线性无关,所以该旋转过程就是主成分分析的过程。
      数据压缩的目标:所以将不同的维度上的数据压缩成为方差都是1的的数据集。

      • 理论推导
        有一个原始的多维样本数据 X n ∗ m X_{n*m} Xnm(m列,n行):
        x 11 x 12 ⋯ x 1 m x 21 x 22 ⋯ x 2 m ⋮ ⋮ ⋱ ⋮ x n 1 x n 2 ⋯ x n m \begin{matrix} x_{11} & x_{12} & \cdots & x_{1m}\\ x_{21} & x_{22} & \cdots & x_{2m}\\ \vdots & \vdots & \ddots & \vdots \\ x_{n1} & x_{n2} & \cdots & x_{nm} \end{matrix} x11x21xn1x12x22xn2x1mx2mxnm
        其中每一行表示一个测试样本(共n个); X i X_i Xi表示样本的第i个维度(共m个)。 X i = ( x 1 i , x 2 i , … , x n i ) T X_i=(x_{1i},x_{2i},…,x_{ni})^T Xi=(x1i,x2i,,xni)T ,以上多维样本数据记为 X = ( X 1 , X 2 ⋯ X m ) X=(X_1,X_2⋯X_m) X=(X1,X2Xm)。样本的总体均值为 μ X = ( μ X 1 , μ X 2 ⋯ μ X m ) \mu_X=(\mu_{X1},\mu_{X2}⋯\mu_{Xm}) μX=(μX1,μX2μXm)。其协方差为:
        ∑ X = E ( X − μ X ) T ( X − μ X ) = 1 n ( X − μ X ) T ( X − μ X ) \sum X=E{(X−\mu_X)^T(X−\mu_X)}=\frac{1}{n}(X−\mu_X)^T(X−\mu_X) X=E(XμX)T(XμX)=n1(XμX)T(XμX)
        协方差矩阵表示样本数据各维度之间的关系的。其中n是样本的数量。
        将原始数据集X通过坐标旋转矩阵U旋转到新的坐标系统中得到一个各变量线性无关的新的数据集F。
        F T = ( F 1 , F 2 ⋅ F m ) T = U X T ((1)) F^T = (F_1,F_2 \cdot F_m)^T = UX^T \tag{(1)} FT=(F1,F2Fm)T=UXT((1))
        新数据集F的均值记为KaTeX parse error: \tag works only in display equations
        由公式 ( 1 ) ( 2 ) (1)(2) (1)(2)可知:KaTeX parse error: \tag works only in display equations
        由于F的各维度之间是不相关的,所以新数据集F的协方差矩阵\sum_F应该为对角阵,由公式 ( 3 ) (3) (3)可得:
        ∑ F = E ( F − μ F ) T ( F − μ F ) = 1 n ( F − μ F ) T ( F − μ F ) {\sum}_F = E{(F−\mu_F)^T (F−\mu_F)}= \frac{1}{n}(F−\mu_F)^T (F−\mu_F) F=E(FμF)T(FμF)=n1(FμF)T(FμF)
        = 1 n U ( X − μ X ) T ( X − μ X ) U T = U ∑ X U T = [ λ 1 λ 2 ⋱ λ m ] =\frac{1}{n} U(X−\mu_X)^T(X−\mu_X)U^T =U {\sum}_X U^T= \left[ \begin{matrix} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_m \end{matrix} \right] =n1U(XμX)T(XμX)UT=UXUT= λ1λ2λm
        可以看出,其中 X X X数据的协方差的根号特征值 λ i \sqrt{\lambda_i} λi 就是 F F F数据中第i个维度的方差。U为 ∑ X \sum_X X的特征向量构成的正交矩阵 U T = U − 1 U^T=U^{−1} UT=U1
        将不同的维度上的数据压缩成为方差都是1,以下推导马氏距离公式:
        d 2 ( f , μ F ) = ( F 1 − μ F 1 λ 1 ) 2 + ( F 2 − μ F 2 λ 2 ) 2 + ⋅ + ( F m − μ F m λ m ) 2 d^2(f,\mu_F)= (\frac{F_1-\mu_{F_1}}{\sqrt{\lambda_1}})^2+(\frac{F_2-\mu_{F_2}}{\sqrt{\lambda_2}})^2+ \cdot +(\frac{F_m-\mu_{F_m}}{\sqrt{\lambda_m}})^2 d2(f,μF)=(λ1 F1μF1)2+(λ2 F2μF2)2++(λm FmμFm)2
        = ( F 1 − μ F 1 , F 2 − μ F 2 ⋯ F m − μ F m ) [ 1 λ 1 1 λ 2 ⋱ 1 λ m ] ( F 1 − μ F 1 , F 2 − μ F 2 ⋯ F m − μ F m ) T =(F_1−\mu_{F_1},F_2−\mu_{F_2}⋯ F_m−\mu_{F_m}) \left[\begin{matrix} \frac{1}{\lambda_1} & & & \\ & \frac{1}{\lambda_2} & & \\ & & \ddots & \\ & & & \frac{1}{\lambda_m } \end{matrix}\right] (F_1−\mu_{F_1},F_2−\mu_{F_2}⋯ F_m−\mu_{F_m})^T =(F1μF1,F2μF2FmμFm) λ11λ21λm1 (F1μF1,F2μF2FmμFm)T
        = ( F − μ F ) ( U ∑ X U T ) − 1 ( F − μ F ) T = ( X − μ X ) U T ( U ∑ X U T ) − 1 U ( X − μ X ) T = ( X − μ X ) ∑ X − 1 ( X − μ X ) T =(F−\mu_F)(U {\sum}_X U^T)^{−1}(F−\mu_F)^T=(X−\mu_X)U^T(U{\sum}_X U^T)^{−1} U(X−\mu_X)^T = (X−\mu_X) {\sum}_X^{−1} (X−\mu_X)^T =(FμF)(UXUT)1(FμF)T=(XμX)UT(UXUT)1U(XμX)T=(XμX)X1(XμX)T
    • MATLAB

      • 函数

      在这里插入图片描述
      在这里插入图片描述

      • 案例
      mask= roipoly(f); %交互式确定感兴趣区域
      red= immuliply(mask, f(:,:,1));
      green= immuliply(mask, f(:,:,2));
      blue= immuliply(mask, f(:,:,3));
      g = cat(3, red, green, blue);
      %计算均值向量与协方差矩阵
      [M N K] = size(g)
      I = reshape(g, M*N, 3)
      idx = find(mask)
      I = double(I(idx, 1:3))
      [C, m] = covmatrix(I) %求协方差矩阵与均值向量
      %d = diag(C)
      %sd = sqrt(d)
      E25 = colorseg('mahalanobis',f,25,m)
      
  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨痕_777

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值