2016-12-01 3 views
0

Hough transform 알고리즘을 구현하려고합니다.Hough transform : 어큐뮬레이터 매트릭스에 음수 rhos를 넣을 곳

cartesian plane의 원점을 이미지의 왼쪽 상단에 설정했습니다. (RHO과 X 축 사이의 각도)의 쎄타

범위 1 도의 스텝으로 1..180이다. 최대 크기는이며 이미지의 대각선 크기입니다. 누적 기 행렬을 계산하려고합니다. 위의 정보가 주어진 경우 크기는 Y : ρ, X : 180 (theta)이어야합니다.

알고리즘이 간단 해 보이지만 에 문제가 있습니다. 그것에는 음의 값이 있습니다. COS 및 는 양이기 때문에 0 로부터 PI에 들어 세타/2 RHO 만 긍정적 인 것이다. 그러나 포지티브 X에 따라 포인트의 y 좌표는, RHO가 음의 값을 가질 수있는 반면은 여기서 부정 COS 때문에 PI/2에 PI에서 세타 대한.

내 질문은 : 누산기 행렬을 계산할 때 의 음수 값을 어떻게 처리해야합니까? 어디에서 그들을 배치해야합니까?

답변

0

ρ- 세타 공간에서 L1 = (rho, theta)L2 = (rho, theta + 180)은 행에 선택 방향이 없기 때문에 동일합니다.

그래서 단지 변경 부정적인 theta

+0

theta + 180 그래서 나는 r은 (세타)에 대한 부정적인 때마다 (세타 + 180)으로 전환해야 가정에 (당신이 그것을?셨어요 방법), 그 반대의 경우도 마찬가지입니다. 이게 옳은 거니? 나는 theta = 2PI/3과 (x, y) = (9,4)에 대해 예제를 취했다. 'r'은이 경우 음수 (-1.03)입니다. 그러나 theta = PI + 2PI/3의 경우에는 양수 (1.03)입니다. –

+0

음의 값을 얻지 않아야합니다. 0이 아닌 모든 점에 대해 배열의 모든 적합한 셀을 인덱스 범위 0..179 (또는 1..180) 및 0..diagonal – MBo