Docstoc

Distributed Data Overview

Document Sample
Distributed Data Overview Powered By Docstoc
					히스토그램 (Histogram)을
 이용한 영상분석과 향상



       전자 공학과
       1998730013
           김동욱
      히스토그램의 개념
u   영상 안에서 픽셀들에 대한 명암 값의
    분포를 나타낸 것
u   영상 에 대한 많은 정보를 가지고 있다.
u   계산하기에 간편하므로 여러 영상 처리
    에 이용되고 있다.
원 영상과 히스토그램




                빈도수
        히스토그램
                      0   명암 값   255
 원 영상
임계 값을 이용한 이진화
u   이진화 : 디지털 영상을 검정색과 흰색
    두 개의 값으로만 표현하는 기법
    0 or 255라고 하며 일반적으로 0 or 1
u   임계 값 : 곙계값, 특정 정보추출 위해
    영상의 특징나눌때 기준으로 잡는 값
 이진화 프로그램의 구현
void CTestDoc::Binary() 임계값 설정 128-level
{
     for(int i=0; i<256; i++){
           for(int j=0; j<256; j++){
                 if(m_OpenImg[i][j]>=128){
                      m_ResultImg[i][j]=255;
                 }
                 else m_ResultImg[i][j]=0;
           }
     }
}
이진화된 결과 영상




임계값이 128   임계값이 100, 50
히스토그램의 평활화
u   히스토그램을 이용한 명도 값의 빈도
    수를 계산한다 .
u   구한 빈도 수를 이용하여 축적 히스토
    그램 값을 구하고 정규화 시킨다.
u   정규화된 축적 히스토그램을 그레이 스
    케일 사상 함수로 이용하여 그레이 레
    벨 값을 매핑한다 .



     축적 히스토그램의 정규화 식
 평활화 프로그램의 구현
void CTestDoc::Histo_Equal()
{
     int k=0,sum=0,total_pixels=0;
     int hist[256]; 히스토그램 빈도수 저장.
     int sum_of_hist[256];축적히스토그램저장.
     for(int z=0; z<256; z++){
           hist[z]=0;
           sum_of_hist[z]=0;
     }//초기화 작업.
               ~
평활화 프로그램의 구현
for(int i=0; i<256; i++){
      for(int j=0; j<256; j++){
            k=m_OpenImg[i][j];
            hist[k]=hist[k]+1;
      }
}//명도 값의 빈도수 조사
for(i=0; i<256; i++){
      sum=sum+hist[i];
      sum_of_hist[i]=sum;
}//축적 히스토그램을 구한다.
               ~
    평활화 프로그램의 구현
    total_pixels=256*256;//이미지의 전체크기.
    for(i=0; i<256; i++){
          for(int j=0; j<256; j++){
                k=m_OpenImg[i][j];
                //[식 1]에 의한 정규화.
    m_ResultImg[i][j]=sum_of_hist[k]*(255.0
                          /total_pixels);
          }
    }
}
평활화된 결과 영상




원영상과 평활화된 영상의 히스토그램 비교
히스토그램 스트레칭
u   콘트라스트 향상 연산에 속한다.
u   콘트라스트 : 영상의 각 픽셀에 상수 값
    을 더하거나 빼거나 곱하거나 나누는
    점처리 연산..
       스트레칭된 출력 그래프




                      입력 그레이 레벨
스트레칭 프로그램의 구현
u   주요 알고리즘 : 원 영상의 X와 Y 를 룩
    업테이블을 이용하여 Z와 W 로 스트레
    치 매칭..
    X,Y :원영상의 낮은 명도, 높은 명도
    Z,W:결과영상의 낮은 명도, 높은 명도
u   룩업 테이블 계산( LUT)



u   룩업 테이블 : 입력값에 대한 대응 되는
    출력 값을 테이블 형식으로 저장해 놓
    은 것.
스트레칭 결과 영상
             스트레칭 영상과
             히스토그램
             (원 영상, 결과 영상)


  서로 조합하여 영상을 향상




     Histo_Equal   Histo_Stretch
로그를 이용한 히스토그램 개
선

             Logarism 함수와
             로그 연산을
             위한 수식


단,
전체적으로 어두운 명암도를 가진 영상은
로그함수를 통하여 전체적으로 밝기 값을
향상시킬 수 있다.
  로그 프로그램 구현
void CTestDoc::LogarithmOP()
{
     double value=0;
     double c=255/log(1+255);
     for(int y=0; y<256; y++){
           for(int x=0; x<256; x++){
     value=c*log(1+m_OpenImg[y][x]);
                 if(value>255)value=255;
                 m_ResultImg[y][x]=value;
           }
     }
}
로그 결과 영상




원 영상과 로그함수를 이용한 개선 영상
히스트그램 그래프 그리기
u   히스토그램 : 영상의 밝기 값을 나타낸
    다.
u   히스토그램 평활화나 균일화 등의 기법
    을 적용함으로써 그래프의 변화량을 분
    석 혹은 영상의 밝기 정보가 어떤 분포
    인지 알수 있다.
히스토그램 그래프 결과
축적 히스토그램 그래프 결
과
End!!

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:2
posted:7/27/2013
language:Korean
pages:21
Jun Wang Jun Wang Dr
About Some of Those documents come from internet for research purpose,if you have the copyrights of one of them,tell me by mail vixychina@gmail.com.Thank you!