이진화란?

 이진화란 RGB값으로 다양하게 분포되어 있는 색상값을 0 1만의 값으로 표현하는 것이다실제적으로 RGB컬러 영상을 흑백(Gray channel)영상으로 바꾼뒤 특정 임계값을 기준으로 초과 값을 255이하 값은 0으로 변환한다

의도

 에지 검출시 영상의 변화 부분을 강조함으로써 물체의 윤곽선과 영상 신호 분포를 이진화 하여 나타내는 방법이다.

 

기존의 영상을 출력해주고 다시 이진화로 변환된 영상을 출력해준다.

void CImageprocesingView::OnDraw(CDC* pDC)

{

             CImageprocesingDoc* pDoc = GetDocument(); // 도큐먼트클래스참조

             ASSERT_VALID(pDoc);

             int i, j;

             unsigned char R, G, B;

             for(i=0 ; i<pDoc->m_height ; i++){

                           for(j=0 ; j<pDoc->m_width ; j++){

                                        R = G = B = pDoc->m_InputImage[i*pDoc->m_width+j];

                                        pDC->SetPixel(j+5, i+5, RGB(R, G, B));

                           }

             }

             for(i= 0 ; i<pDoc->m_Re_height; i++){

                           for(j = 0 ; j<pDoc->m_Re_width; j++){

                                        R = pDoc->m_OutputImage[i*pDoc->m_Re_width+j];

                                        G = B = R;

                                        pDC->SetPixel(j+pDoc->m_width+10, i+5, RGB(R, G, B));

                           }

             }

}

 

이진화 코드

void CImageProcessingDoc::OnBinarization()

{

             CConstantDlg dlg;

             int i;

             m_Re_height = m_height;

             m_Re_width = m_width;

             m_Re_size = m_Re_height * m_Re_width;

             m_OutputImage = new unsigned char[m_Re_size];

             if(dlg.DoModal() == IDOK){

                           for(i=0 ; i<m_size ; i++){

                                        if(m_InputImage[i] >= dlg.m_Constant)

                                                     m_OutputImage[i] = 255// 임계값보다크면출력

                                        else

                                                     m_OutputImage[i] = 0// 임계값보다작으면출력

                           }

             }

}





'Programing > OpenCV' 카테고리의 다른 글

gray scale  (0) 2016.11.30
Opencv c# 2  (0) 2016.11.30
Opencv c#  (0) 2016.11.30
SIFT 알고리즘  (0) 2016.11.30
범위 강조 변환  (0) 2016.11.30

+ Recent posts