OpenCV

    [OpenCV with Python] 영상의 특징 추출 : 캐니 에지 검출 cv2.Canny

    [OpenCV with Python] 영상의 특징 추출 : 캐니 에지 검출 cv2.Canny

    그래디언트 크기를 구하고 임계값을 설정해줘서 에지를 검출할 경우, 윤곽선이 너무 두껍게 표현된다는 단점이 있다. 이를 보완한 것이 캐니 에지 검출 방법이다. 캐니 에지 검출 - 좋은 에지 검출기의 조건 정확한 검출 - Good detection 픽셀이 조명에 의해 미세한 영향을 받게 되어 임계점보다 크거나 낮아질 수 있다. 이처럼 에지가 아닌 점을 에지로 찾거나 또는 에지인데 에지로 찾지 못하는 확률을 최소화 한것을 정확한 검출이라고 한다. 정확한 위치 - Good localization 실제 에지의 중심을 검출하는 것 단일 에지 - Single edge 하나의 에지는 하나의 점으로 표현한다는 것 이 세가지 조건을 충족해야 좋은 에지라고 할 수 있다. 케니 에지 검출 4단계 1. 가우시안 필터링 가우시안..

    [OpenCV with Python] 영상의 특징 추출 : 그래디언트와 에지 검출

    [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 좌표 ..

    [OpenCV with Python] 영상의 특징 추출 : 영상의 미분과 소벨 필터

    [OpenCV with Python] 영상의 특징 추출 : 영상의 미분과 소벨 필터

    에지 검출과 미분 ✔︎ 에지 edge 에지는 영상에서 픽셀의 밝기 값이 급격하게 변하는 부분을 말한다. 객체와 객체, 객체와 배경에 어떤 경계를 나타내는 용어이다. 경계부분에는 픽셀값이 크게 변경된다고 가정하고 에지를 구한다. 영상에 미분을 하는 이유는 에지를 검출하기 위함입니다. ✔︎ 기본적인 에지 검출 방법 에지 검출을 위해 픽셀값이 급격하게 변하는 부분을 찾아야한다. 미분은 변화율을 나타내는 척도로, 영상을 미분하여 에지를 검출할 수 있다. 영상을 (x,y) 변수의 함수로 간주했을 때, 이 함수의 1차 미분 값이 크게 나타나는 부분을 검출한다. 검출한 미분값에 T 임계값을 설정해주는 것이 중요하다. 임계값보다 높으면 에지로 판단하게 된다. ✔︎ 1차 미분의 근사화 미분은 전진 차분(Forward d..

    [OpenCV with Python] 영상 기하학적 변환 : 리매핑(remapping) - cv2.remap

    [OpenCV with Python] 영상 기하학적 변환 : 리매핑(remapping) - cv2.remap

    리매핑(remapping) 리매핑을 잘 활용하면 입력 영상을 직선이 아닌 곡선으로 표현할 수 있어 좀 더 자유도 있는 변환을 할 수 있다. 리매핑은 영상의 특성 위치 픽셀을 다른 위치에 재배치하는 일반적인 프로세스이다. 리매핑은 기하학적 변환을 맵핑한다. 출력 영상의 x,y 좌표에서 픽셀 값을 입력 영상에서 참조할건데 어느 위치를 참조할 것인지 나타내는 map x와 map y 함수를 정의한다. 출력 영상의 좌표를 입력 영상의 어느 좌표를 참조해서 갖고올 것이냐를 설정해서 출력 영상의 모든 픽셀 값을 셋팅해 출력 영상을 만들어내는 방법이다. 따라서 영상을 꿀렁꿀렁하게 하거나 휘게하는 것도 리매핑으로 할 수 있다. 어파인 변환, 투시 변환을 포함한 다양한 변환을 리매핑으로 표현할 수 있다. ✔︎ cv2.re..