2013-12-12 2 views
0

내 프로젝트에서 나는 이미지의 라인을 감지해야합니다. 사실 사각형 내부의 행과 열을 감지해야합니다. 나는 이것을 달성하기 위해 OpenCV를 사용한다. 나는 그것을 succesfuly했다. 그러나 그것은 다소 느리다. 이미지를 전처리하기 위해 많은 기능을 사용합니다. 등 임계 값, 영리한, 팽창, 가우스 흐림안드로이드 OpenCV 최적화 - 라인 감지가 느림 허프 라인

나는 그것은 ~ 600 선이 내 프로그램을 완료하는 데 약 2.5의 소요이

Imgproc.HoughLines(image, lines, 1, Math.PI/90 , threshold, minLineSize, maxGap); 

같은 HoughLines를 사용합니다. 그러나이 한 줄에는 2.2 초가 걸립니다. 아시다시피 OpenCV 용 Java 인터페이스를 사용합니다. 그것은 그것을 어쨌든 최적화 할 수 있습니까? 내 프로그램을 NDK로 다시 작성하면 더 빨리 만들 수 있습니까? OpenCV4Android를 이해한다면 NDK로 작성된 함수를 래퍼하는 것보다 빠르기 때문에 더 빠를 것이라고 생각하지 않습니다. 아니면 이미지의 선을 감지하는 더 빠르고 더 빠른 방법이 있습니까? 어떤 조언을 주셔서 감사합니다.

+0

아직 코드를 작성하지 않은 경우 코드를 작성하고 HoughLines에 전화하기 전에 수행 한 작업에 대해 자세히 설명하십시오. 2.5 초가 걸리는 경우, 잘못된 행동을하고 있습니다. NDK 경로를 시도하기 전에 해결해야합니다. 예를 들어, 어떤 처리를하기 전에 먼저 이미지의 크기를 줄여서 선을 감지하는 데 8 메가 픽셀의 이미지가 필요하지 않을 수도 있습니다. –

답변

1

HoughLines에서 반환 된 줄 수를 계산할 수 있습니까? 1000이면 그 시간이 걸릴 것입니다.

가능한 경우 HoughLines에서 작동해야하는 가장자리 수를 줄이려면 Canny 설정을 변경하는 것이 좋습니다.

또한 HoughLines에 대해 다른 매개 변수를 시도 할 수 있습니다. HoughLines 호출에 대한 각각의 80, 30 및 10 값은 관리 가능한 결과를 제공하는 것 같습니다.