WPF OpenCV 프로젝트 #21: Improve Histogram Bug (히스토그램 버그 개선)

Histogram Bug

Histogram Bug 를 이번 글에서는 개선하여 WPF OpenCV 프로젝트를 업데이트 하겠습니다. 지난 포스팅(#20) 마지막에 제가 이렇게 글을 쓰고 마무리했었죠. “다음에는 영상의 기하학적 변환(이동, 회전, 확대/축소)을 다루겠습니다!” 라구요. 하지만… 제가 포스팅 된 내용을 읽고 계신 분들께 알리지 않고 은근슬쩍 모른 척 넘어가려던 버그가 하나 있었습니다. 댓글이 없어서 ‘아무도 모르거나, 알아서들 고쳤으리라~’ 하고 묻어두려 했지만, 다음 글을 … 더 읽기

WPF OpenCV 프로젝트 #20: CLAHE (Contrast Limiting Adaptive Histogram Equalization)

WPF OpenCV - CLAE

CLAHE 알고리즘을 WPF OpenCV 프로젝트에 구현하겠습니다. 지난 포스팅(#19)에서는 히스토그램 평활화(Equalize)를 통해 영상의 명암비를 전체적으로 높이는 방법을 다뤘습니다. 확실히 이미지가 밝아지고 선명해지긴 했지만, 혹시 뭔가 “과하다”는 느낌 못 받으셨나요? 너무 어두운 배경에 있던 노이즈(Noise)까지 덩달아 선명해지거나, 밝은 부분이 하얗게 날아가 버리는 현상 말이죠. 오늘은 바로 그 문제를 해결해 주는 ‘업그레이드된 평활화’, CLAHE (Contrast Limiting Adaptive Histogram … 더 읽기

WPF OpenCV 프로젝트 #19: Equalize (히스토그램 평탄화) 구현

OpenCV Equalize 적용 이미지

Equalize (히스토그램 평탄화)와 관련하여 WPF OpenCV 프로젝트 추가해 보도록 하겠습니다. 지난 포스팅(#18)에서는 Normalize (정규화)를 통해 좁은 범위에 몰려 있는 픽셀들을 0~255 전체 구간으로 쫙 펴주는(Stretch) 작업을 했습니다. 하지만 정규화만으로는 해결되지 않는 ‘진짜 골 때리는 애들’ 이 있습니다. 바로 픽셀 값들이 한 곳에 극단적으로 뭉쳐 있는 경우입니다. 이럴 때 필요한 것이 바로 오늘 다룰 Histogram Equalization … 더 읽기

WPF OpenCV 프로젝트 #18: Normalize (정규화)

Nomalize Histogram Graph

Normalize (정규화) 처리를 WPF OpenCV 프로젝트에 구현하도록 하겠습니다. 지난 포스팅(#17)에서는 영상의 밝기 분포를 확인하는 히스토그램(Histogram)을 구현했습니다. 히스토그램을 통해 “아, 이 사진은 픽셀들이 너무 어두운 곳에만 몰려있네?” “어라 ! 이 사진은 픽셀들이 너무 밝은 곳에만 몰려있네? “라는 걸 알았다면, 이제는 그걸 수정할 차례입니다. 바로 Normalize (정규화) 기능을 통해서 말이죠. 이번에는 정규화 라는 녀석의 개념을 제가 가능하다면 … 더 읽기

WPF OpenCV 프로젝트 #17: Histogram (히스토그램) 분석 및 그래프 그리기 (Cv2.CalcHist)

Histogram Graph

영상에서 Histogram (히스토그램) 분석 및 Histogram 데이터를 이용하여 그래프를 그려 분석 할 수 있도록 WPF OpenCV 프로젝트에 구현하겠습니다. 지난 포스팅(#15, #16)에서 Otsu와 Adaptive Threshold를 다루면서 “히스토그램(Histogram)”이라는 단어를 스치듯 언급했었습니다. 기억나시나요? “히스토그램에서 두 개의 산봉우리(Bimodal)가 생길 때, Otsu 알고리즘은 그 사이 골짜기를 찾아냅니다.” (Post #15 참조) 오늘은 바로 그 히스토그램을 직접 구현해 볼 차례입니다. 단순히 “어떤 … 더 읽기