Ich versuche, die findContours-Funktion in OpenCV zu verwenden, aber VS 2008 gibt eine Fehlermeldung aus, die besagt:
OpenCV Error: Falsches Flag (Parameter- oder Strukturfeld) (Nicht erkannt oder nicht unterstützt ed array type) in unbekannter Funktion, Datei ........ \ ocv \ opencv \ src \ cxcore \ cxarr ay.cpp, Zeile 2476
Diese Anwendung hat die Runtime aufgefordert, sie auf ungewöhnliche Weise zu beenden. Bitte kontaktieren Sie das Support-Team der Anwendung für weitere Informationen. Drücken Sie eine beliebige Taste, um fortzufahren . . .
Hier ist der Code:
%Vor%Vielen Dank im Voraus
FindContours akzeptiert nur Binärbilder. Das heißt, jedes Bild, das ausgegeben wird cvThreshold cvAdapiveThreshold cvCanny
versuchen Sie, diese Anweisung vor cv :: findContours
hinzuzufügen %Vor%Rufen Sie dann findcontours mit resultingImage auf.
Wenn es funktioniert, sollten Sie die korrekten Parameter in cvThreshold eingeben (100 ist nur ein Beispiel). Überprüfen Sie die Referenz für diese Angelegenheit.
EDIT: resultingImage sollte ein Single-Channel-Bild sein !!
Ich hatte das gleiche Problem (oder zumindest ein ähnliches) mit dieser Funktion. Ich konnte es nicht beheben, also benutzte ich stattdessen die alte C-Stil-Funktion cvFindContours. Ich habe eine Beispielfunktion hinzugefügt, in der ich die Funktion cvFindContours verwendet habe, um ein Blob-Bild zu bereinigen. Dies ist vielleicht nicht die schnellste Lösung, aber zumindest funktioniert es.
%Vor%Tags und Links c++ opencv visual-studio computer-vision