I는 현재 이러한 매개 변수를 사용하여, OpenCV의 HoughLinesP의 기능을 이용하여 영상의 수평 형상의 라인을 검출하는 것을 시도하고있다 :HoughLinesP를 사용하여 OpenCV에서 수평선을 감지하는 방법?
HoughLinesP(linMat[i], lines, 1, CV_PI/180, 80, linMat[i].cols*(0.3), 3);
여기서 linMat[i]
입력 화상이다. 그 결과,이 OK 동안 (광고를 수동으로 그려진)
이미지의 노란색 선으로 도시 된 바와 같이, 내가 원하는 것은, 수평 방향의 라인을 가지고있다이
http://postimg.org/image/49b8wzlgz/
같다 http://postimg.org/image/rh9wlueo7/
I (예 CV_PI/45
)을 작은 값으로 CV_PI/180
파라미터를 변경하고, 다른 매개 변수에 대해 다양한 값을 사용하려고 시도했지만, 수평 라인을 생성 할 수 없다.
opencv에서 HoughLinesP 기능을 사용하여 노란색 라인을 생성하는 매개 변수에는 어떤 값을 사용해야합니까?
감사합니다. 제안 (덕분에 모든!) 나는
HoughLinesP(linMat[i], lines, 1, CV_PI/360, 80, 1, 1);
그럼에도 불구하고
처럼도 매우 극단적 인 값을 시도한 다음
업데이트
, 생성 된 라인이 가깝게 수직 방향으로 경사가 : postimg.org/image/y5w6vm7lx/ (링크를 복사하여 붙여 넣으십시오 ...). 두꺼운 선을 감지하지 못했기 때문에 canny와 같은 가장자리 감지 필터를 사용하지 않습니다. 가장자리는 단선이되는 경향이 있습니다.
업데이트 2
다만 해명 결과에 그려진 선합니다 (HoughLinesP 후) 다음과 같이 생성된다
for all lines
{
line(linMat[i], Point(lines[j][0], lines[j][1]), Point(lines[j][2], lines[j][3]), Scalar(0,0,255), 1, 8);
}
세타를 PI로 설정하면 거의 수직 선이 결과로 표시됩니다. PI/3도 똑같이 작동하는 것 같습니다. 그러나 PI/6은 모든 방향을 반환합니다. 세부 사항을 파악하지 못했지만, 왜 이렇게 작동하는지 테스트 이미지에서 세타를 수정하면 방향을 알 수 있습니다. –