Ich versuche, das Zentrum der schwarzen/weißen Punkt Ziele zu erkennen, wie in diesem Bild. Ich habe versucht, die cv2.HoughCircles-Methode zu verwenden, aber 1, bin nur in der Lage, 2 bis 3 Ziele zu erkennen, und 2, wenn ich die gefundenen Kreise wieder auf das Bild plotten, sind sie immer leicht versetzt.OpenCV Punkt Zielerkennung nicht alle Ziele zu finden, und gefundene Kreise sind Offset
Verwende ich die falsche Methode? Soll ich die findContours oder etwas ganz anderes benutzen?
import cv2
from cv2 import cv
import os
import numpy as np
def showme(pic):
cv2.imshow('window',pic)
cv2.waitKey()
cv2.destroyAllWindows()
im=cv2.imread('small_test.jpg')
gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
#I've tried blur,bw,tr... all give me poor results.
blur = cv2.GaussianBlur(gray,(3,3),0)
n,bw = cv2.threshold(blur,120,255,cv2.THRESH_BINARY)
tr=cv2.adaptiveThreshold(blur,255,0,1,11,2)
circles = cv2.HoughCircles(gray, cv.CV_HOUGH_GRADIENT, 3, 100, None, 200, 100, 5, 16)
try:
n = np.shape(circles)
circles=np.reshape(circles,(n[1],n[2]))
print circles
for circle in circles:
cv2.circle(im,(circle[0],circle[1]),circle[2],(0,0,255))
showme(im)
except:
print "no cicles found"
Und das ist meine aktuelle Ausgabe:
Hier ist mein Code
Würde gerne Ihre aktuelle Ausgabe sehen. Sie könnten Interesse haben, diesen Thread zu überprüfen: http://stackoverflow.com/q/10313602/176769 – karlphillip
Hier ist die Ausgabe für den obigen Code. ! [Ergebnisse meines Codes] [1] [1]: http://i.stack.imgur.com/nd2Hr.jpg – hokiebird
Vielleicht ist es Zeit, Ihre anderen Fragen zu überprüfen und die Antworten zu akzeptieren, die sie gelöst haben (falls vorhanden) sind irgendwelche). Es gibt ein kleines Kontrollkästchen neben jeder Antwort, klicken Sie darauf, um die offizielle Antwort auf Ihre Frage auszuwählen. – karlphillip