Ich möchte gerne ein Nahaufnahmebild eines Mangobaums verarbeiten, damit ich die Mangos identifizieren und zählen kann. Eine Mango ist in etwa eine ovale oder elliptische Form, die sich von den Blättern und Zweigen im Bild eindeutig unterscheidet. Ich würde gerne in der Lage sein, Mangos zu zählen, die zu 20% von anderen Objekten bedeckt sind (aber immer noch für das menschliche Auge offensichtlich sind). Ich glaube, es gibt einen Algorithmus in MatLab, der dies tun könnte und ich würde jede Hilfe oder Vorschläge schätzen.
Ich denke, dass die robustere Lösung für dieses Problem darin besteht, die Mangos aus dem Hintergrund (dh Baumblätter) nach Farben zu segmentieren und die Anzahl von verbundene Komponenten im resultierenden Binärbild. Wie bereits erwähnt, können Sie die verbundenen Komponenten eines Binärabbilds mithilfe des bconncomp und labelmatrix Funktionen.
Um die Mangos nach Farbe zu segmentieren, konvertieren Sie das Bild zuerst in den HSV-Farbraum und führen Sie dann eine Binarisierung mit dem Farbton durch Komponente. Ich glaube, dass die Farbtonkomponente von den Mangos sich von anderen Teilen des Bildes unterscheidet. Dieser Blog-Beitrag gibt einen Einblick in die Vorgehensweise Mach das in Matlab.
Vielleicht könnten Sie:
Formfaktor - (4 * PI * Fläche) / (Umfang ^ 2). Dies ergibt ein Hinweis auf die Objektform. Kreise haben die größte Fläche zu Perimeter-Verhältnis und diese Formel nähert sich einem Wert von 1 für a perfekter Kreis. Quadrate sind um 0,78. Ein dünnes fadenförmiges Objekt hätte den niedrigsten Formfaktor, der sich 0 nähert.
Rundheit - (Umfang ^ 2) / 4 * PI * Fläche). Dies gibt die Reziproker Wert von Shape Factor für diejenigen, die verwendet werden, um es zu verwenden. Ein Kreis hat einen Wert, der etwas größer als oder gleich 1 ist Formen werden an Wert zunehmen.
Sie können also einen Formfaktor für eine "ideale" Mango annähern und sehen, ob eine der Komponenten innerhalb der Näherung liegt?
Tags und Links matlab image-processing image-recognition shape