반응형

히스토그램 스트레칭 3

[파이썬 OpenCV] 히스토그램 역투영 - cv2.calcBackProject, cv2.selectROI

황선규 박사님의 을 공부한 내용을 정리했습니다.. 히스토그램 역투영(Histogram backprojection) 히스토그램 역투영은 영상의 각 픽셀이 주어진 히스토그램 모델에 얼마나 일치하는지를 검사하는 방법입니다. 임의의 색상 영역을 검출할 때 효과적입니다. YCrCb 색 공간을 이용합니다. (밝기에 상관없이 색을 검출하기 위함입니다.) HSV는 H 값을 이용해서 색상을 표현하기 좋을 때 이용합니다. ROI로 색상 영역을 선택한 뒤 히스토그램을 만듭니다. 만든 히스토그램으로 히스토그램 역투영을 합니다. 히스토그램 역투영을 마스크로 이용하여 기존 영상과 마스크 연산을 통해 원하는 색을 검출할 수 있습니다. 1. 히스토그램 역투영 함수 - cv2.calcBackProjection OpenCV에서 제공하는..

[파이썬 OpenCV] 히스토그램 평활화 - cv2.equlizeHist

황선규 박사님의 OpenCV 강의를 공부하면서 정리하였습니다. 황선규 박사님의 'OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝'를 바탕으로 제작하였습니다. 히스토그램 평활화(Histogram equalization) 히스토그램 평활화는 히스토그램이 그레이스케일 전체 구간에서 균일한 분포로 나타나도록 변경하는 명암비 향상 기법입니다. cdf를 이용하여 평활화를 합니다. 1. 그레이스케일 영상 히스토그램 평활화하기 - cv2.equlizeHist OpenCV에서 제공하는 cv2.equlizeHist 함수로 히스토그램 평활화를 할 수 있습니다. [함수 설명] cv2.equalizeHist(src, dst=None) -> dst • src: 입력 영상. 그레이스케일 영상. • dst: 결과 영상. [그레이스..

[파이썬 OpenCV] 영상의 명암비 조절 - 히스토그램 스트레칭, 정규화(cv2.normalize)

황선규 박사님의 OpenCV 강의를 공부하면서 정리하였습니다. 영상의 명암비 조절 명암비(Contrast)는 밝은 곳과 어두운 곳 사이에 드러나는 밝기 정도의 차이를 의미합니다. 1. 기본적인 명암비 조절 - np.clip 그레이스케일의 픽셀값을 조정하여 명암비를 조절하는 법을 알아보겠습니다. np.clip으로 saturate 연산을 구현하였고 아래의 방정식을 구현하였습니다. [예제 코드] src = cv2.Imread('lenna.bmp', cv2.IMREAD_GRAYSCALE) if src is None: print('Image load failed!') sys.exit() alpha = 1 # 기울기 dst = np.clip((1 + alpha) * src - 128 * alpha), 0, 255)..

반응형