DIP_review_2_3 - Color image processing & Morphological image processing

1. Color image processing

1.1 Standard color spaces

1.1.1 RGB

  • Blue
  • Red
  • Green
  • 主要用于自身发光

1.1.2 CMYK

[CMY]=[111][RGB]\left[\begin{matrix}C \\M \\Y\end{matrix}\right] = \left[\begin{matrix}1 \\1 \\1\end{matrix}\right] - \left[\begin{matrix}R \\G \\B\end{matrix}\right]

  • Cyan = White – Red
  • Magenta = White – Green
  • Yellow = White – Blue
  • Black = White – Red - Green - Blue
  • 主要用于自身不发光,在照明条件下,吸收之后,反射的光谱
  • RGB

1.1.3 HSI/HSV

  • HSI
    • 将RGB color model以对角线投影到2D平面,再将正六边形拉成圆形
      • HSI
    • Hue 色调 主要是哪种颜色(波长determine)
    • Saturation 饱和度 颜色的纯度,即混有多少白光
    • Intensity/Lightness I=r+g+b3I = \frac{r+g+b}{3}
    • HSI
  • HSV
    • Hue 色调 主要是哪种颜色(波长determine)
    • Saturation 饱和度 颜色的纯度,即混有多少白光
    • Value v=max(r+g+b)v = max(r+g+b)
    • HSV

1.2 Transform between color spaces

1.2.1 RGB to gray scale

    1. Maximum value: gR(x,y)=gG(x,y)=gB(x,y)=max[fR,fG,fB]g_R(x,y) = g_G(x,y) = g_B(x,y) = max[f_R,f_G,f_B]
    1. Average value: gR(x,y)=gG(x,y)=gB(x,y)=[fR+fG+fB]/3g_R(x,y) = g_G(x,y) = g_B(x,y) = [f_R+f_G+f_B]/3
    1. Weighted value: gR(x,y)=gG(x,y)=gB(x,y)=0.299fR+0.587fG+0.114fBg_R(x,y) = g_G(x,y) = g_B(x,y) = 0.299f_R+0.587f_G+0.114f_B

1.2.2 RGB to CMYK

[gRgGgB]=[255255255][fRfGfB]\left[\begin{matrix}g_R \\g_G \\g_B\end{matrix}\right] = \left[\begin{matrix}255 \\255 \\255\end{matrix}\right] - \left[\begin{matrix}f_R \\f_G \\f_B\end{matrix}\right]

1.2.3 RGB to HSI

  • RGB_to_HSI

1.2.4 HSI to RGB

  • HSI_to_RGB

1.3 Color balance

1.3.1 White balance

  • step 1 I=0.299fR+0.587fG+0.114fBI = 0.299f_R+0.587f_G+0.114f_B
  • step 2 kR=IfRk_R = \frac{\overline{I}}{\overline{f_R}}, kG=IfGk_G = \frac{\overline{I}}{\overline{f_G}}, kB=IfBk_B = \frac{\overline{I}}{\overline{f_B}}
  • step 3

    [gRgGgB]=[kRkGkB][fRfGfB]\left[\begin{matrix}g_R \\g_G \\g_B\end{matrix}\right] = \left[\begin{matrix}k_R& & \\ & k_G& \\ & &k_B\end{matrix}\right] \left[\begin{matrix}f_R \\f_G \\f_B\end{matrix}\right]

1.3.2 Max value balance

  • step 1 SRGB=min[Rmax,Gmax,Bmax]S_{RGB} = min[R_{max},G_{max},B_{max}]
  • step 2 在每个channel中计算 >SRGB> S_{RGB} 的intensity的数目. Nmax=max[NR,NG,NB]N_{max} = max[N_R,N_G,N_B]
  • step 3 在每个channel中从大往小找到NmaxthN_{max^{th}}的intensity得到 [TR,TG,TB][T_R,T_G,T_B]
  • step 4 kR=SRGBTRk_R = \frac{S_{RGB}}{T_R}, kG=SRGBTGk_G = \frac{S_{RGB}}{T_G}, kB=SRGBTBk_B = \frac{S_{RGB}}{T_B}
  • step 5

    [gRgGgB]=[kRkGkB][fRfGfB]\left[\begin{matrix}g_R \\g_G \\g_B\end{matrix}\right] = \left[\begin{matrix}k_R& & \\ & k_G& \\ & &k_B\end{matrix}\right] \left[\begin{matrix}f_R \\f_G \\f_B\end{matrix}\right]

2. Morphological image processing

  • key point: SE(Structuring element, 与kernel十分类似)
    • def: small sets or sub-images used to probe an image under study for properties of interest.
    • Selection
      • Simpler than the image
      • With boundary
      • Convex
    • Structures
      • Origin
      • Rectangular
        SE

2.1 Morphological Operation

2.1.1 Erosion 腐蚀

  • AB={z(B)zA}A⊖B = \{z| (B)_z \subseteq A\}, 其中BB表示结构元集合,zz表示结构元的origin
  • 结构元要全部与图像重合,否则不进行erosion操作!!!
    erode
    erode

2.1.2 Dilation 膨胀

  • AB={zBz^AA}A⨁B = \{z|\hat{B_z}\cap A \subseteq A\}
  • 结构元至少有一个element与图像重合,否则不进行Dilation操作
    Dilate

2.1.3 Opening

  • 𝐴𝐵=(𝐴𝐵)𝐵𝐴 ∘ 𝐵 = (𝐴 ⊖ 𝐵) ⊕ 𝐵
  • Effect:
    • Smooth the contour of an object
    • Break narrow bridges
    • Eliminate thin structures
      open

2.1.4 Closing

  • 𝐴𝐵=(𝐴𝐵)𝐵𝐴 • 𝐵 = (𝐴 ⊕ 𝐵) ⊖ 𝐵
  • Effect:
    • Smooth the contour of an object
    • Fuse narrow breaks and long thin gulfs
    • Eliminate small holes
    • Fill gaps in the contour
      close
      openandclose
    • step 1 首先利用erode来消除背景的小的噪声点
    • step 2 再利用dilation来恢复变细的指纹纹路(此步骤也会恢复一部分背景噪声点)
    • step 3 此时指纹纹路中会有孔洞,做dilation来填充孔洞
    • step 4 恢复纹路大小,做erode

2.2.5 Hit - or - Miss Transform

HitorMiss

2.2.6 Boundary extraction

  • 𝛽 (𝐴) = 𝐴 − (𝐴 ⊖ 𝐵) 提取内边界 Inner border
  • 𝛽 (𝐴) = (𝐴 ⊕ 𝐵) -A 提取外边界 Outer border

2.2.7 Hole filling

Hole_filling