본문 바로가기

프로그래밍/c++ /영상처리

Mean Filter ( 평균값 필터)

반응형
for (j = firstout; j < h - firstout; j++)
  for (i = firstout; i < w - firstout; i++)
  {
   tempr = tempg = tempb = 0;
   for (j_1 = j - firstin; j_1 < j + lastin; j_1++)
   for (i_1 = i - firstin; i_1 < i + lastin; i_1++)
   {
    tempr += (1 * ptr1[j_1][i_1].r);
    tempg += (1 * ptr1[j_1][i_1].g);
    tempb += (1 * ptr1[j_1][i_1].b);
   }
   // 255를 넘어갈경우 넘기지 않고 255로 고정
   ptr2[j][i].r = (BYTE)limit(tempr / value + 0.5);
   ptr2[j][i].g = (BYTE)limit(tempg / value + 0.5);
   ptr2[j][i].b = (BYTE)limit(tempb / value + 0.5);
  }
  for (j = firstout; j < h - firstout; j++)
  for (i = firstout; i < w - firstout; i++)
  {
   ptr1[j][i].r = ptr2[j][i].r;
   ptr1[j][i].g = ptr2[j][i].g;
   ptr1[j][i].b = ptr2[j][i].b;
  }

 

 

평균값 필터에 의해 만들어지는 결과는 원본 영상보다 영상이 흐려지는 즉 , 날카로운 영상이 아니라 부드러운 영상이 나오게 된다. 그로인하여 높은 평균값 필터를 적용할 경우에 영상의 초점이 흐려 질 수 있다.

반응형

'프로그래밍 > c++ /영상처리' 카테고리의 다른 글

영상이동  (0) 2015.10.02
Median Filter  (0) 2015.10.01
OnLButtonDown  (0) 2015.09.21
Member initializer  (0) 2015.09.19
감마 보정  (0) 2015.09.17