2017-10-21 3 views
1

Ich versuche, die Ecken der 4 Säulen, die von gelber Farbe sind, zu finden und auch extreme Ecken der Tafel, die von weißer Farbe ist, zu erkennen.Erkennen von Ecken mit Opencv Python

Grundsätzlich möchte ich die Fläche des gesamten Raumes nach Subtrahieren der Fläche jeder Säule berechnen. Zuerst versuche ich, die Ecke der Säulen zu identifizieren, um die Fläche jeder Säule zu finden.

Input image

Hier ist der Code, den ich versucht, ich bin fast auf halbem Weg durch sie.

import numpy as np 
import cv2 

img = cv2.imread('Corner_0.jpg') 
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
gray = np.float32(gray) 

corners = cv2.goodFeaturesToTrack(gray, 100, 0.01, 10) 
corners = np.int0(corners) 

for corner in corners: 
    x,y = corner.ravel() 
    cv2.circle(img,(x,y),3,255,-1) 

cv2.imwrite('Detected_Corner_0.jpg',img) 

Output image I got

würde Ich mag Ecke erkennen und den Bereich der Säule berechnet wird.

Wenn ich Grabcut benutze, kann ich mich für eine Säule bewerben, macht das Sinn?

After Applying Grabcut

+1

„Ich bin fast auf halbem Weg durch das“: Ich habe Ihr Optimismus mag. –

+0

Meinst du den Bereich wie im Bild oder in der realen 3D-Welt gesehen? –

+0

@ YvesDaoust Bereich im Bild gesehen – venkat

Antwort

1

Corner Detektoren können oft nicht herangezogen werden. Die Show zusätzliche Ecken und vermisse diejenigen, die Sie erwarten. Außerdem musst du sie neu gruppieren.

Sie erhalten interessante Ergebnisse durch Berechnung eines Sättigungsbildes (S in LSH). Dann können Sie die Bereiche durch Binarisierung und Blobanalyse leicht finden.

enter image description here

+0

Danke, werde ich in der Lage sein zu berechnen, ob ich die oben genannte Methode benutze, wie du gesagt hast – venkat

+0

Ich bin nie auf die Methode gestoßen, die du erwähnt hast, ich schätze wenn möglich kannst du gib mir den Code, um das Ergebnis zu erreichen. Vielen Dank im Voraus – venkat

+0

Wird es funktionieren, wenn ich Grab cut Algorithm ?? – venkat

Verwandte Themen