OPENCV

포스트: 31
Tags

Posts

31 posts
Histogram Calculation #3 -  Histogram Equalization

Histogram Calculation #3 - Histogram Equalization

느린번개|2017년 1월 20일

한쪽으로 치우친 밝기의 분포를 재분배 해서 그레이 레벨의 발생 빈도를 균등하게 분포하도록 만들어줍니다. 출처 : Equalization 원리는 구글에서 쉽게 찾아 볼수 있으며, 아래 사이트를 참조하여 작성되었다.http://www.tutorialspoint.com/dip/Histogram_Equalization.htm equalizeHist() 를 이용하여 확인한 결과이다. 중간부분이 살짝 펴졌다는 느낌...실제 사진은 좀더 선명해졌다고 해야겠다. equalizeHist() 가 Gray데 대한 결과를 보고 RGB 모두를 변경하게 되면 어떤 결과가 나올지 궁금해졌다. 초록색이 평준화가 많이 되어,, 이미지가 전체적으로 초록색이 강해진 느낌...먼저 split() 함수를 이용하여, RGB별로 분리한후

Median Filter

Median Filter

느린번개|2017년 1월 20일

Median filter는 이미지 내의 노이즈를 제거하는 방법 중의 하나로, 특히 impulse noise 제거에 효과적입니다. 기본적인 원리는 다음과 같습니다. 1. 전체 이미지를 일정한 크기의 작은 영역으로 나눈다.2. 나누어진 영역의 모든 화소를 크기 순으로 정렬하고 중간에 해당하는 화소(중간값)을 찾는다.3. 나누어진 영역의 가운데 화소를 찾아낸 중간값으로 대체한다. 예를 들어, 가로X세로 사이즈가 5X5인 아래와 같은 이미지가 있다고 가정해보겠습니다.가로X세로 사이즈가 3인 작은 영역으로 나누어보면 첫번째 나누어진 작은 영역은 아래 이미지의 붉은 사각형 영역입니다.9개 화소를 크기 순으로 나열해보면 { 3, 3, 4, 4, 4, 5, 5, 5, 5 } 가 되고, 중간값은 5번째에 위치한 "4"

Histogram Calculation #1 - RGB Histogram

Histogram Calculation #1 - RGB Histogram

느린번개|2017년 1월 20일

RGB Histogram을 그리는것은 Gray를 구하는것과 별 차이가 없지만, 잊지 말아야 할 것은 각 색상별 channel로 선언해주어야 한다. const int ch_G[] = { 0 }, ch_B[] = { 1 }, ch_R[] = { 2 }; calcHist(&image, 1, ch_G, Mat(), mHist_G, 1, &size, &range); calcHist(&image, 1, ch_B, Mat(), mHist_B, 1, &size, &range); calcHist(&image, 1, ch_R, Mat(), mHist_R, 1, &size, &range); //==============================

Histogram Calculation #1 - Gray Histogram

Histogram Calculation #1 - Gray Histogram

느린번개|2017년 1월 19일

히스토그램은 계량형 표본 데이터의 형상과 산포를 평가하는 데 사용할 수 있는 그래프입니다.여기서는 image에서 각 Pixe들이 가지는 값의 출현빈도를 그래프화 한것입니다. 예를 들어, Gray 이미지의 크기를 100 x 100 이라고 한다면, 총 10,000개의 픽셀들을 0~255 값에 따라 분류하여 각 개별값을 갖는 픽셀들이 몇 개씩인지 알아낸 것이 히스토그램이다. 히스토그램을 통해서, 화질개선이 가능하며,물체인식에도 사용 될수 있고, 그외 image 분석을 위한 용도로 사용된다. OpenCV에서 calcHist() 를 통해서 쉽게 구현할 수 있다.calcHist() 관련 내용은 아래 사이트에를 참조 하면 된다.출처 : 레퍼런스 코드랑 똑같이 만들면 재미없으닌깐, 필요한 만큼 살짝 수정을 하였다