hough
허프 변환(Hough Transform)
설명
[는 이진 영상 H,theta,rho] = hough(BW)BW의 표준 허프 변환(SHT)을 계산합니다. 허프 변환 행렬 H를 사용하여 직선을 검출할 수 있습니다.
이 함수는 직선에 대한 파라미터 표현 rho = x*cos(theta) + y*sin(theta)를 사용합니다. 여기서 rho는 직선에 수직인 벡터를 따라 원점에서 직선까지의 오프셋이고, theta는 x축과 직선에 수직인 벡터 사이의 각도(단위: 도)입니다. 함수는 rho 값과 theta 값의 여러 조합에 대해 SHT를 샘플링하고, 샘플링된 값을 각각 rho와 theta로 반환합니다. 자세한 내용은 허프 변환(Hough Transform) 항목을 참조하십시오.
예제
입력 인수
이름-값 인수
출력 인수
알고리즘
표준 허프 변환(SHT)은 다음과 같은 직선에 대한 파라미터 표현을 사용합니다.
rho = x*cos(theta) + y*sin(theta)
좌표계의 원점은 왼쪽 위 코너 픽셀의 중심에 있다고 가정합니다.
변수 theta는 원점에서 직선까지의 법선 방향(수직 투영)의 각도로, 양의 x축을 기준으로 시계 방향으로 측정됩니다(단위: 도). theta의 범위는 –90° ≤ theta < 90°입니다. 직선 자체의 각도는 theta + 90°이며, 이 또한 양의 x축을 기준으로 시계 방향으로 측정됩니다.
변수 rho는 원점에서 직선까지의 수직 오프셋입니다. rho의 크기는 원점과 직선 사이의 수직 거리와 동일합니다. 그러나 hough 함수는 theta의 지원 범위를 벗어나는 유효 회전 각도의 직선을 표현하기 위해 rho의 음수 값을 지원합니다. 시각적으로, 직선이 theta로 정의된 법선 벡터의 반대쪽 사분면을 통과할 때 rho는 음수가 됩니다. 즉, 유효 회전 각도가 –180° ≤ theta < –90° 또는 90° ≤ theta < 180°인 직선을 표현할 때 rho는 음수가 됩니다.

허프 변환 행렬 H는 행과 열이 각각 rho 값과 theta 값에 해당하는 파라미터 공간 행렬입니다. rho와 theta의 모든 조합에 대해 SHT는 해당 파라미터를 갖는 직선을 계산하고, 그 직선을 따라 BW에서 true인 모든 픽셀의 합을 반환합니다. 파라미터화된 직선을 따라 많은 픽셀이 true 값을 가지면, 그 결과는 허프 변환 행렬에서 피크 값으로 나타납니다. 피크 값은 입력 영상에서 직선일 가능성이 있는 부분을 나타냅니다. houghpeaks 함수를 사용하여 허프 변환 행렬에서 피크 값을 찾을 수 있습니다.
원점이 왼쪽 위 코너 픽셀의 중심에 있기 때문에, rho가 음수이고 theta가 양수인 직선은 영상 내에 존재하지 않습니다. 허프 변환 행렬에서 rho가 음수이고 theta가 양수에 해당하는 요소들은 0 값을 가집니다.


