2017-01-18 2 views
1

저는 OpenCV/Python을 사용하여 물의 가장자리를 감지하려고 노력하고 있습니다. 결과는 상당히 부정확하며 견고하지 않습니다. 이것은 내가 지금까지 달성 한 것입니다 : Original Image, output imageOpenCV와 Python을 정확히 사용하여 워터 에지 찾기

Canny Edge detection

내가 현재 어떤 변수 (가우시안 블러의 수준, 캐니 에지 검출에 사용되는 시그마, 최대 편차를 설정하는 것입니다 뭐하는 거지 측정 된 레벨이 각 포인트 사이에서 변경 될 수 있음), 자동 '캐니 에지 감지 (중앙 픽셀 강도가 측정되고 하단 경계선을 형성하는 데 사용됨)를 수행 한 다음 하단 왼쪽 모서리에서 위쪽으로 이동하여 첫 번째 '흰색'픽셀. 이것은 프레임의 전체 길이 x 간격으로 5 번 수행됩니다.

포인트의 평균 y 값은 계산 된 것입니다. 각 포인트는 평균 픽셀과 너무 멀어 지는지, 그리고 편차 한계가 더 일찍 설정되었는지 테스트합니다. 나머지 점은 파란색 선으로 이미지에 그려집니다. 그린 된 픽셀의 평균값은 각 프레임에 기록됩니다.

30 프레임이 지나면 평균의 평균이 계산되어 빨간 선으로 그려지며 그 다음 '실제'수위라고 가정합니다.

아무에게도 더 좋은 방법이 있나요? 물의 가장자리가 더 돋보이게 만드는 것은 무엇입니까? 이 방법은 내가 녹화 한 대부분의 영상물에서 작동하지만 결과는 좋지 않습니다.

미리 감사드립니다.

답변

2

나는 비슷한 문제에 근무하고 나는이 조언은 어떤 방법으로 당신을 도울 수 있기를 바랍니다 : 검색 영역을 제한하는

  • 시도를 : 당신이 물 수준이 있어야 할 곳에에 가정을 만들 수 있습니까? 또한 수위를 정확하게 감지하는 것을 고려하십시오. 다음 프레임에서 수위가 지속적으로 감소/증가한다고 가정하는 것이 안전한가요? 천천히 변화할까요? 수위가 있다고 가정하는 것이 안전한 지역만을 고려하여 이미지를 자릅니다.
  • 변경 색 공간 : 당신은 밝기 색도 분리 한하기 위해 HSV 같은 다른 색 공간에서 일을 시도 할 수
  • 호우 라인 감지 변환 : 수평 특정 검색이 알고리즘을 사용하려고 이미지의 선 또는 다른 모양.
  • 이미지 왜곡 : 필요하면 곡선을 수정하기 위해 이미지를 수정하거나 역 투시 매핑 (IPM)을 사용하여 원근을 취소하십시오.

가장자리 감지 알고리즘을 변경할 수도 있습니다.

+0

유사한 상황이지만 다른 분야에서 - 나는 '뜨거운 픽셀'왜곡을 제거하기 위해 중간 필터를 사용합니다. –

관련 문제