OK, danke. Das Initialisieren hatte ich leider nicht in der Schleife. Habe mich vertippt. Schade eigentlich. Die Lösung wäre einfach gewesen.
Hier mein Code. Ich mache das in der Schleife. Danach gehe ich durch die Elemente in contour. Es werden sehr viele gefunden. Das macht alles sehr langsam. Wo ist der Fehler!?
Code:
color_image = cv.QueryFrame(self.capture)
cv.Smooth(color_image, color_image, cv.CV_GAUSSIAN, 3, 0)
cv.Threshold(grey_image, grey_image, 70, 255, cv.CV_THRESH_BINARY)
down = cv.Scalar(10,100,100,0) # cv.Scalar(30,100,100) #
up = cv.Scalar(40, 255,255,0) #(35,255,255)
imghsv=cv.CreateImage(cv.GetSize(color_image),8,3)
cv.CvtColor(color_image,imghsv,cv.CV_BGR2HSV) # Convert image from RGB to HSV
imgyellow=cv.CreateImage(cv.GetSize(color_image),8,1)
imgthreshold=cv.CreateImage(cv.GetSize(color_image),8,1)
cv.InRangeS(imghsv,down,up,imgyellow) # Select a range of yellow color
storage = cv.CreateMemStorage(0)
contour = cv.FindContours(imgthreshold, storage, cv.CV_RETR_CCOMP, cv.CV_CHAIN_APPROX_SIMPLE)
Lesezeichen