2016-06-29 3 views
0

Ich möchte ungefähr Objekt auf meiner Tiefenkarte finden. Denn jetzt mein Verfahren ist folgendes: 1. Normalisierung der Tiefe 2. Schwelle nur das nächstgelegene Objekt 3. Gaußsche Unschärfe 4. Canny Kantenerkennung 5. KonturerkennungErmitteln Sie ungefähr Objekte auf Tiefenkarte

jedoch zu bekommen, ich Ich kann die Box um mein Objekt nicht finden. Eigentlich weiß ich nicht, ob es mit dieser Art von Tiefenkarte möglich ist ...

Ich habe drei Objekt auf dem Tisch: eine Kiste mit Essen und zwei Tassen.

Normalisation of the depth map

Ich möchte etwa ein Feld um mein Ziel zu finden.

enter image description here

Gibt es eine Möglichkeit, es nur durch Bildverarbeitung zu tun? Jede Hilfe wäre willkommen.

Vielen Dank im Voraus.

Antwort

1

Sie können dies mit OpenCV tun. Sehen Sie sich die folgende Lösung an.

Ich habe die Tiefenkarte in der Frage als mein Eingangsbild verwendet. I binäre Schwelle des Graustufenbild des Tiefenkarte durchgeführt

ret,th = cv2.threshold(gray,127,255, 1) 

und erhielt die folgenden:

enter image description here

Nun, um die Lücken in dem Bild zu füllen, durchgeführt I morphologischen Schließen Betrieb

kernel = np.ones((15,15),np.uint8) 
dilate = cv2.morphologyEx(th, cv2.MORPH_CLOSE, kernel, 3) 

enter image description here

Dann fand ich Konturen mit:

contours,hierarchy = cv2.findContours(dilate,2,1) 

und zog sie mit:

cv2.drawContours(img, contours, -1, (0,255,0), 3) 

endlich diese erhalten:

enter image description here

Hoffe, das ist, was Sie suchen :)

Verwandte Themen