목차

1. 영상처리에 대한 소개

2. 디지털 영상처리의 기본

3. 점처리

4. 영역처리

5. 프레임처리




4. 영역처리(Pixel Group(Area) Process)


(1) 영상회선(Image Convolution)


두 신호를 합성하여 새로운 신호를 만들어 내는 것



M = a1*b1 + a2*b2 + a3*b3 + .... a9*b9


(2) 공간 주파수(Spatial Frequency)


검->흰과 흰->검으로부터 주기의 수


변하는 빈도가 적으면 저주파(low frequency)

변하는 빈도가 크면 고주파(high frequency)


고주파만 뽑게되면 변화가 심한 윤곽선이 나오게 됨


                                 (이미지 1)


※ 공간 앨리어싱(Spatial Aliasing)


이미지가 공간주파수의 2배보다 작은 비율로 표본화되었을 때 나타나는 증상


ex) 카메라로 모니터 찍을때 짜글짜글

ex) 격자 옷을 입은 사람 이미지를 축소 할때


공간 앨리어싱은 모아레 패턴을 야기한다.


(3) 저주파필터(Lowpass Filter)


저주파 필터는 저주파에 해당하는 픽셀은 그대로 통과시키고, 고주파에 해당하는 픽셀은 이웃 픽셀 값에 가깝게 바꾸어

저주파 픽셀로 바꾼다.(Like 고주파 픽셀 차단)


저주파 필터는 영상을 blur 하게 만든다(bluring Mask)


image1[y+r][x+c] * mask[r][c];    // r은 mask의 y c는 mask의 x


  1. /* for lowpass process */
  2.         for(y=0;y<YY-2;y++){        // mask 최대 움직임
  3.             for(x=0;x<XX-2;x++){    // mask 최대 움직임
  4.                 for(r=0;r<3;r++){       // mask 세로
  5.                     for(c=0;c<3;c++){   // mask 가로
  6.                         sum += image1[y+r][x+c] * mask[r][c];
  7.                     }
  8.                 }
  9.             sum = sum/9;
  10.             if(sum > 255)   // saturation 방지 clamping
  11.                 sum = 255;
  12.             else if(sum < 0)
  13.                 sum = 0;
  14.             image2[y+1][x+1] = sum;
  15.             sum = 0;
  16.             }
  17.         }

(4) 고주파필터(Highpass Filter)


고주파 필터는 고주파에 해당하는 픽셀은 그대로 통과시키고, 저주파에 해당하는 픽셀은 차단한다.


image1[y+r][x+c] * mask[r][c];    // r은 mask의 y c는 mask의 x



  1. /* for highpass process (변경 필요 없음)*/
  2.  29     for(y=0;y<YY-2;y++){        // mask 최대 움직임
  3.  30         for(x=0;x<XX-2;x++){    // mask 최대 움직임
  4.  31             for(r=0;r<3;r++){       // mask 세로
  5.  32                 for(c=0;c<3;c++){   // mask 가로
  6.  33                     sum += image1[y+r][x+c] * mask[r][c];
  7.  34                 }
  8.  35             }
  9.  36         sum = sum/9 *10;    // 증폭 10
  10.  37         if(sum > 255)
  11.  38             sum = 255;
  12.  39         else if(sum < 0)
  13.  40             sum = 0;
  14.  41         image2[y+1][x+1] = sum;
  15.  42         sum = 0;
  16.  43         }
  17.  44     }
  18.  

* 특별한 변경은 필요없고 mask만 -1/9로 적용



이미지 출처)

1. https://2e.mindsmachine.com/ch/07/asf/07.04.01.jpg