[OpenCV 3.2] Histograms - 4 : Histogram Equalization (평활화)

이번 정리에서는 히스토그램 평활화로 명암대비를 개선시킨 이미지로 변환시킨다.


6. 히스토그램 평활화하기

1) 히스토그램 스트레칭과 히스토그램 평활화

 히스토그램 스트레칭은 이미지의 가장 밝은 픽셀값과 어두운 픽셀값을 기준으로 늘린 것 뿐이라면, 히스토그램 평활화는 이미지의 전체 픽셀 값을 균등하게 재배치한다. 그러므로 히스토그램 평활화는 밝기 값의 차이들이 적어서 명암대비가 세밀하게 이루어진다.

 다음은 위키 페디아에 실린 원본 이미지와 히스토그램 평활화가 이루어진 이미지의 누적 히스토그램을 보여준다.


2) 소스 코드

void cv::equalizeHist ( InputArray src, OutputArray dst )

src : gray image

dst : equalization histogram image

그레이 이미지를 equalizeHist를 한 후 히스토그램을 그려준다. 


3) 실행 결과

원본 이미지와 히스토그램

히스토그램 평활화 후 이미지와 히스토그램

지금까지 1차원 히스토그램을 표시했는데, 2차원 이상의 다차원 히스토그램도 존재한다.

다차원 히스토그램에 대해서는 추후 정리하도록 하고 다음은 Canny를 이용한 Edge(가장자리) 검출 알고리즘에 대해 정리한다.




컴퓨터 비전과 영상 처리에 대해 독학을 하면서 정리한 걸 적고 있습니다.

전공과 무관하며 전문적인 지식이 아니므로 개인적인 의견과 부족하고 틀린 점이 많습니다.

추가 지식 및 잘못된 점을 지적해주시면 공부하는데 많은 도움이 되겠습니다. 감사합니다^^

- 푸어맨


[Reference]

(OpenCV HistogramEqualization) http://docs.opencv.org/3.2.0/d4/d1b/tutorial_histogram_equalization.html

(equalizeHist) http://docs.opencv.org/3.2.0/d6/dc7/group__imgproc__hist.html#ga7e54091f0c937d49bf84152a16f76d6e

(위키 페디아) https://en.wikipedia.org/wiki/Histogram_equalization

(히스토그램 프로세싱) http://blog.naver.com/PostView.nhn?blogId=neverabandon&logNo=100053397929&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView

(히스토그램 스트레칭) http://m.blog.naver.com/dlwjddns5/220687524811

+ Recent posts