라인 검출은 종종 Hough 변환을 사용하기 때문에 Canny 에지 검출기와 윤곽 검출은 필요한 경우 편리한 프리 프로세서로만 작동합니다. - 라인의 출력 벡터
라인 : 당신이 평행선이있는 경우 두 번째 매개 변수는 검색을 포함 곳
, 감지 선에 대한
void HoughLines(InputArray image, OutputArray lines, double rho, double theta, int threshold, double srn=0, double stn=0)
를 사용합니다. 각 선은 두 요소 벡터 (ρ, θ)로 표시됩니다. ρ는 좌표 원점 (0, 0) (이미지의 왼쪽 상단 구석)에서부터의 거리입니다. θ는 라디안 (0 ~ 수직선, π/2 ~ 수평선)의 각도 회전 각도입니다.
[opencv2refman.pdf]
이 두 라인 사이의 거리는 거리가 lines
의 첫 번째 열에있는 픽셀 값 사이의 절대 차이가 있다는 abs(rho1-rho2)
되어야한다는 것을 의미한다. (참고 : 방법은 여기 CV_HOUGH_STANDARD
을해야합니다!)
당신이 거리로 생각,하지만 OpenCV의 여전히 감지 된 각 라인의 끝점의 좌표를 제공 할 수 있습니다 무엇인지 정의해야비 평행선을 위해.
method = CV_HOUGH_PROBABILISTIC
을 사용해야합니다.
CV_HOUGH_PROBABILISTIC 확률 허프 변환 (영상이 약간 긴 선형 세그먼트를 포함하는 경우 경우 효율적). 은 전체 줄이 아닌 선분을 반환합니다. 각 세그먼트는 시작 지점과 끝 지점으로 표현되는 이고 행렬은 CV_32SC4 유형의 ( 만든 시퀀스가되어야 함)이어야합니다.
[opencv2refman.pdf]
또한 설치된 OpenCV의의 문서 내에서 opencv_tutorials.pdf
에서 자습서를 찾을 수 있습니다.
게시물에 서명을 추가 할 필요가 없습니다. 사용자 카드가 자동으로 추가됩니다. – Artemix