이것저것 프로그래밍 정리(Macbook)

히스토그램(평활화(equalize)) 본문

machine vision

히스토그램(평활화(equalize))

parkaparka 2020. 8. 23. 16:39
반응형

https://parkaparka.tistory.com/24

 

히스토그램(히스토그램 생성, 정규화(normalize))

히스토그램 머신비전에서 히스토그램이란 [0,L-1] 사이의 명암값 각각이 영상에 몇번 나타나는지 표시해 주는 막대 그래프이다. 쉽게 말해서 0,1,2,...,L-2,L-1 화소가 각각 몇개인가를 막대 그래프로

parkaparka.tistory.com

위 링크의 글은 기본 히스토그램 생성과 히스토그램을 정규화해주는 글이니 참고 하실 분은 참고 하시길 바랍니다.

 

노멀라이즈 같은 경우는 한곳에 분포가 집중되어 있는 경우 효과적이지만, 집중 된 부분에서 벗어나면 효과가 없습니다. 이럴때 equalize, 평활화가 필요합니다.

평활화는 히스토그램을 평평하게 만들어 주는 연산으로서, 영상화소를 재배치 해주는 역할을 합니다. 따라서 명암 대비를 개선하는 데 효과적입니다.

평활하를 한다고해서 영상이 시각적으로 좋아지는 것이 아니기 때문에 영상 처리의 연산을 할때는 분별력을 갖고 필요할것 같은 곳에만 영상 처리 연산을 적용하는 것이 중요합니다. 

 

위 사진을 이퀄라이즈를 적용시켜 보도록 하겠습니다.

 

이미지를 읽어온 이후 cv2.equalizeHist() 함수를 이용해 히스토그램을 평활하 시켜 준 이후 원본 이미지와 평활화된 이미지의 히스토그램과 누적 히스토그램을 생성한 이후 시각화 시켜준 모습입니다. 

왼쪽은 원본 사진, 오른쪽은 equalize 시킨 사진입니다.

결과 사진을 보면 밝기가 밝아진 것을 확인 할 수 있습니다. 

 

이번에는 흑백 사진이 아닌 컬러 이미지에 대해 equalize를 적용시켜 보도록 하겠습니다. 

밝기 값을 개선하기 위해서는 BGR 컬러 스페이보다는 YUV 나 HSV 컬러 스페이스로 변환해서 밝기에 해당하는 채널만 연산하여 이미지에 적용시키는 것이 효과적입니다. 

다음 이미지를 YUV 컬러 스페이스로 변환해서 equalize를 적용시켜 보도록 하겟습니다.

위 사진은 equalize를 시킨 결과물입니다. 

위 컬러 이미지의 equalize에서 알수 있듯이 히스토그램 평활화를 한다고 해서 시각적으로 좋아지는 것이 아니라, 시각적으로 느낌이 나빠질 수 도 있기 때문에, 분별력을 갖고 활용 여부를 결정하는 것이 중요합니다.

이번 글에서는 히스토그램의 equalize(평활화)에 대해 알아 보았습니다.

반응형

'machine vision' 카테고리의 다른 글

히스토그램(히스토그램 생성, 정규화(normalize))  (0) 2020.08.21
Comments