Ich versuche, eine Reihe ähnlicher Bilder basierend auf einem Eingabebild zu erhalten. Ich verwende ein Array-Element mit einer Sequenz. Setzen eines Array-Elements mit einer Sequenz. OpenCV
für Python
übrigens. Meine Strategie ist, dass ich die SURF
Funktionen der Datenbank von Bildern bekomme und dann setze ich es in das k-NN
Modell, so dass immer wenn ich ein Bild mit Hilfe der SURF Features abfrage und nach dem ähnlichen Satz von Artikeln suche, kann ich einfach k-NN
verwenden nimm die nächsten Nachbarn. Das Problem ist, ich versuchte das Modell in scikit-learn
zu trainieren, indem ich die SURF
Deskriptoren setzte und es dann abflachte. Dieser Fehler wird jedoch immer dann angezeigt, wenn ich versuche, das Modell zu trainieren. setting an array element with a sequence.setting an array element with a sequence.
Fehler beim Training von k-NN mit SURF Funktionen
Was mache ich falsch? Wie soll ich die Eigenschaften darstellen, so dass ich es mit k-NN
UPDATE verwenden können: Hier ist mein Code
SURFObject = cv2.SURF(hessianThreshold = 400, extended = 0)
image_names = []
image_descriptors = []
for i in range(1, 4001):
print("Image Number: " + str(i))
filename = 'cat.'+ str(i) +'.jpg'
img = cv2.imread(filepath + filename)
keypoints, descriptors = SURFObject.detectAndCompute(img, None)
image_descriptors.append(descriptors.tolist())
image_names.append(filename)
neighbors = NearestNeighbors(10, 0.5)
neighbors.fit(np.array(image_descriptors).reshape(-1,1))
Bitte schreiben Sie Ihren Code. –
@LakshyaKejriwal Ich habe den Beitrag aktualisiert. Danke – Jessie