2012-12-09 14 views
7

Wciąż jestem początkującym użytkownikiem OpenCV.Wykrywanie określonego kształtu za pomocą OpenCV

Obecnie próbuję wykryć określony kształt, jak na obrazku w linku poniżej, używając OpenCV.

enter image description here

Czytałam wiele blogów i artykułów na temat wykrywania kształtów za pomocą OpenCV ale nie znalazłem nic na temat tego, co ja pracuję.

Ponadto, nie mogę używać metod takich jak cvHistogram, ponieważ nie chcę znaleźć dopasowań na dwóch prawie identycznych obrazach, ale zamiast tego chcę wykryć określony kształt, a nie niektóre kształty geometryczne, takie jak prostokąty, okręgi itp.

Czy znasz sposób na zrobienie tego?

Z góry dziękuję.

+2

Twoje pytanie można użyć trochę wyrafinowania: jaki jest kształt szukasz? jakie są metody, które wypróbowałeś i które nie działały dla ciebie? dlaczego nie jesteś zadowolony z innych metod, które widziałeś na blogach itp.? – Shai

+0

Jeśli tylko rzeczy były takie proste ... wszystko, co musiałbyś w tym przypadku zrobić, to wykryć, czy krzywa jest otwarta czy zamknięta. W przypadku binarnym jest to proste, gdy nie przecina się z innymi liniami. Ale wierzę, że twój przykład nie odzwierciedla twojego rzeczywistego problemu. Czy chciałbyś zamieścić prawdziwy przykład? – mmgp

Odpowiedz

4

Trudno powiedzieć, jak wykryć ten kształt. Powinieneś podać pewne kryteria dotyczące kształtu, który chcesz wykryć. Na przykład w twoim przypadku:

  1. czy to powinno być zawsze wewnątrz innego konturu?
  2. czy ma tę dużą czarną plamę?

I tak dalej.

A po tym łatwiej będzie znaleźć dobry algorytm wykrywania.

Przy okazji czytając te dokumenty będą przydatne:

  1. Finding contours in your image
  2. Structural Analysis and Shape Descriptors
Powiązane problemy