그래디언트와 에지 검출

매일 공부(ML)·2021년 12월 2일
0

OPEN CV

목록 보기
31/45

그래디언트

  • 영상의 그래디언트(gradient)

    • 함수 f(x,y)를 x축과 y축으로 편미분하여 벡터로 표현:
    • 그래디언트 크기:
    • 그래디언트 방향:
    • 피타고라스로 활용:

  • 실제 영상에서 구한 그래디언트의 크기와 방향

    • 그래디언트 크기: 픽셀 값의 차이 정도, 변화량
    • 그래디언트 방향: 픽셀 값이 가장 급격하게 증가하는 방향

  • 2D 벡터의 크기 계산 함수

  • x: 2D벡터의 x좌표 행렬 실수형
  • y: 2D벡터의 y좌표행렬로 x와 같은 크기인 실수형
  • magnitude: 2D벡터의 크기 행렬로 x와 같은 크기이고 타입이다.

  • 2D 벡터의 방향 계산 함수

  • x: 2D벡터의 x좌표 행렬로 실수형
  • y: 2D벡터의 y좌표 행렬로 x와 같은 크기이고 실수형
  • angle: 2D벡터의 크기 행렬로 x와 같은 크기이고 타입으로, angle(l) = atan2(y(l),x(l))이다. 만약, x(l)=y(l)=0이면, angle =0으로 설정된다.
  • angleInDegrees: True이면 각도단위이고 False이면 래디언 단위이다.

소벨 필터 이용한 에지 검출 예제

src = cv2.imread('lenna.bmp', cv2.IMREAD_GRAYSCALE)
dx = cv2.Sobel(src, cv2.CV_32F, 1, 0)
dy = cv2.Sobel(src, cv2.CV_32F, 0, 1)
mag = cv2.magnitude(dx, dy)
mag = np.clip(mag, 0, 255).astype(np.uint8)
dst = np.zeros(src.shape[:2], np.uint8)
dst[mag > 120] = 255
#_, dst = cv2.threshold(mag, 120, 255, cv2.THRESH_BINARY)

profile
성장을 도울 아카이빙 블로그

0개의 댓글