hough
허프 변환(Hough Transform)
설명
[
는 이진 영상 H
,theta
,rho
] = hough(BW
)BW
의 표준 허프 변환(SHT)을 계산합니다. hough
함수는 선을 검출하도록 고안되었습니다. 이 함수는 직선에 대한 파라미터 표현 rho = x*cos(theta) + y*sin(theta)
를 사용합니다. 이 함수는 원점에서 직선에 수직인 벡터 상의 직선 거리 rho
와 x축과 이 벡터 사이의 각도(단위: 도)인 theta
를 반환합니다. 이 함수는 또한 SHT H
를 반환합니다. 이는 행과 열이 각각 rho 값과 theta 값에 해당하는 파라미터 공간 행렬입니다. 자세한 내용은 알고리즘 항목을 참조하십시오.
예제
입력 인수
출력 인수
알고리즘
표준 허프 변환(SHT)은 다음과 같은 직선에 대한 파라미터 표현을 사용합니다.
rho = x*cos(theta) + y*sin(theta)
좌표계의 원점은 왼쪽 위 코너 픽셀의 중심에 있다고 가정합니다.
변수 rho는 원점에서 직선까지의 수직 거리입니다.
변수 theta는 원점에서 직선까지의 법선과 양의 x축 사이를 시계 방향으로 측정(단위: 도)한 각입니다. theta의 범위는 –90° ≤ θ < 90°입니다. 직선 자체의 각도는 θ + 90°이며, 이 또한 양의 x축을 기준으로 시계 방향으로 측정됩니다.
SHT는 파라미터 공간 행렬이며, 행과 열은 각각 rho 값과 theta 값에 해당합니다. SHT의 요소는 누산기 셀을 나타냅니다. 처음에 각 셀의 값은 0입니다. 그런 다음, 영상에서 배경이 아닌 모든 점에서 rho가 모든 theta에 대해 계산됩니다. rho는 SHT에서 가장 가까운 허용된 행으로 반올림됩니다. 이 누산기 셀은 증분됩니다. 이 절차가 끝날 때, SHT(r,c)의 Q 값은 xy 평면에 있는 theta(c)와 rho(r)로 지정된 직선 위에 Q개의 점이 있음을 의미합니다. SHT의 피크 값은 입력 영상의 잠재적인 직선을 나타냅니다.
허프 변환 행렬 H
는 nrho×ntheta입니다. 여기서,
nrho = 2*(ceil(D/RhoResolution)) + 1
이고
D = sqrt((numRowsInBW - 1)^2 + (numColsInBW - 1)^2)
입니다.
rho
값의 범위는 -diagonal
에서 diagonal
까지입니다. 여기서
diagonal = RhoResolution*ceil(D/RhoResolution)
입니다.
ntheta = length(theta)