openCV4android erkennt Form und Farbe (HSV)

8

Ich bin ein Anfänger in openCV4android und ich möchte, wenn möglich, Hilfe bekommen . Ich versuche mit meiner Android-Handy-Kamera farbige Dreiecke, Quadrate oder Kreise zu erkennen, weiß aber nicht, wo ich anfangen soll. Ich habe OReilly Learning OpenCV Buch gelesen und ich habe etwas über OpenCV gelernt.

Hier ist was ich machen möchte:

1- Erhalten Sie die Tracking-Farbe (nur die Farbe HSV) des Objekts durch Berühren des Bildschirms       - Ich habe dies bereits getan, indem ich das Beispiel des Farbklecks aus dem Beispiel von OpenCV4android verwendet habe

2- Finden Sie auf der Kamera Formen wie Dreiecke, Quadrate oder Kreise basierend auf der zuvor ausgewählten Farbe.

Ich habe gerade Beispiele gefunden, wie man Formen in einem Bild finden kann. Was ich machen möchte, ist das Finden der Kamera in Echtzeit.

Jede Hilfe wäre willkommen.

Beste Grüße und einen schönen Tag.

    
Iker 24.11.2013, 16:14
quelle

4 Antworten

6

Wenn Sie planen, NDK für Ihre opencv-Sachen zu implementieren, dann können Sie die gleiche Idee verwenden, die sie in OpenCV Tutorial 2-Mixedprocessing verwenden.

%Vor%

Auf der nativen Seite

%Vor%

Da alle Manipulationen mit Zeigern durchgeführt werden, müssen Sie vorsichtig sein. hoffe das hilft

    
Darshan 26.11.2013, 17:30
quelle
2

Warum nutzen Sie JavaCV nicht, ich denke, es ist eine bessere Alternative .. Sie müssen nicht das NDK überhaupt für diese verwenden ..

versuche das: Ссылка

    
sijeesh 02.12.2013 07:27
quelle
2

Wenn Sie das OpenCV-Backprojection-Tutorial überprüfen, tun Sie dies was du suchst (und ein bisschen mehr).

Rückprojektion:

  

"In Bezug auf Statistiken, die in der BackProjection gespeicherten Werte   Matrix repräsentiert die Wahrscheinlichkeit, zu der ein Pixel in einem Bild gehört   die Region mit der ausgewählten Farbe. "

Ich habe dieses Tutorial nach OpenCV4Android (2.4.8) konvertiert, wie Sie es gesucht haben, es verwendet kein Android NDK. Sie können alle Code hier bei Github sehen.

Sie können diese Antwort auch für weitere Details überprüfen

    
Rui Marques 23.02.2014 21:37
quelle
1

Obwohl es ein bisschen spät ist, möchte ich gerne einen Beitrag zu dieser Frage leisten.

  

1- Erhalten Sie die Tracking-Farbe (nur die Farbe HSV) des Objekts durch   berühre den Bildschirm - das habe ich bereits mit dem Farbklecks getan   Beispiel aus dem OpenCV4android Beispiel

Implementiere OnTouchListener zu deiner Aktivität

onTouch-Funktion

%Vor%

mRGBA ist ein mattes Objekt, das in onCameraViewStarted als

initiiert wurde
  

mRgba = neue Matte (Höhe, Breite, CvType.CV_8UC4);

Und für den zweiten Teil:

  

2- Finden Sie auf der Kamera Formen wie Dreiecke, Quadrate oder Kreise basierend   auf der vorher gewählten Farbe.

Ich habe versucht, die ausgewählte Konturenform mit approxPolyDP

herauszufinden %Vor%

Dies wurde an der Funktion onCameraFrame gemacht, nachdem ich die Konturliste erhalten habe

Wenn die Länge des Punktfeldes mehr als 5 beträgt, ist es normalerweise ein Kreis. Aber es gibt einen anderen Algorithmus, um einen Kreis und seine Attribute zu erhalten.

    
Fay007 24.11.2015 11:10
quelle

Tags und Links