임계값
[OpenCV with Python] 이진 영상 처리 : 영상의 이진화 - cv2.threshold
영상의 이진화 Binarization 란? 영상의 이진화는 영상의 픽셀 값을 0 또는 255(1)로 만드는 연산이다. 0은 검정색, 255는 흰색을 의미한다. 이진화를 하는 이유는 배경과 객체를 구분 관심 영역과 비관심 영역 구분 마스크 영상도 이진 영상의 한 형태라고 볼 수 있다. 그레이스케일 영상의 이진화 그레이스케일 영상의 이진화는 픽셀 값이 임계값을 넘으면 0(검은색) 임계값 보다 낮으면 255(흰색)으로 표현한다. 히스토그램을 보고 적절한 임계값을 설정하는 것이 중요하다. ✔︎ 임계값 함수 - cv2.threshold retval, dst = cv2.threshold(src, thresh, maxval, type, dst=None) src : 입력 영상. 다채널, 8비트 또는 32비트 실수형 t..
[OpenCV with Python] 영상의 특징 추출 : 그래디언트와 에지 검출
그래디언트 Gradient 그래디언트는 함수 f(x,y)를 x축과 y축으로 각각 편미분(partial derivative)하여 벡터 형태로 표현한 것이다. x방향 미분과 y방향 미분을 따로 계산하고 벡터라는 것으로 묶은 것이 그래디언트이다. 그래디언트 크기는 픽셀 값의 차이, 변화량을 의미하며, 그래디언트 방향은 픽셀 값이 가장 급격하게 증가하는 방향을 나타낸다. ✔︎ 2D 백터의 크기 계산 함수 - cv2.magnitude 소벨 필터로 구한 x방향, y방향 미분 값을 cv2.magnitude에 입력값으로 설정하면 백터의 크기를 계산할 수 있다. magnitude = cv2.magnitude(x, y, magnitude=None) x : 2D 벡터의 x 좌표 행렬. 실수형. y : 2D 벡터의 y 좌표 ..