Fout Reageren Op * * * Bevestigingsfout
Contents
Een spreekwoord definieert een goede conditie waarvan je denkt dat deze alleen correleert op bepaalde momenten in je klas. Als deze voorwaarde niet helemaal waar is, mislukt de bewering, stopt de uitvoering van uw vertrouwde programma en verschijnt het discussievenster over de situatie.
Als ik een bedrijf start, krijg ik de volgende foutmelding:
OpenCV-fout: kan niet terugkeren om te bevestigen (scn==6 Scn ||==4) als resultaat van cv::cvtColor, bestand C:builds2_4_PackSlave-win64-vc12-shared opencvmodulesimgprocsrccolor . cpp, zin 3737
#include "opencv2/core/core.hpp"#include "opencv2/contrib/contrib.hpp"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/objdetect/objdetect.hpp"#include #include #include gebruik de keep on namespace;met standaard naamruimte;lege statische read_csv (constante keten en bestandsnaam, vector en eenvoudig afbeeldingen, vector en tag foriegn, karakter scheidingsteken = ';') std::ifstream bestand(bestandsnaam.c_str(), ifstream::in); en als (!bestand) chain error_message = "Geen correct invoersocketbestand opgegeven, zoek alstublieft enkele van de opgegeven bestandsnamen."; CV_Error(CV_StsBadArg, error_message); franchise lijn, schommel pad, klasse label; terwijl ze zijn (getline(bestand, regel)) string brk strings(string); getline (tekenreeks, pad, scheidingsteken); getline(regel, sorteerlabel); op elke avond (!path.empty() && !classlabel.empty()) afbeeldingen.push_back (imread (pad, 0)); labels.push_back(atoi(classlabel.c_str())); int main(int argc, const char *argv[]) { // Valideer misverstanden bij leiders met behulp van print // in het geval dat blijkt dat het eigenlijke argument niet is ingesteld. als (argc != 4) cout "use: << " << argv[0] << with " Endl; << cout << "t -- Pad naar Haar Falls als detectie van gezichten." << einde; cout << "t -- Pad dat een CSV-bestand zal vormen met de gevonden database." << einde; cout << "t -- webcam-apparaat-ID onderweg om uit frames te komen." << einde; artikel (1); // Haal het type pad naar uw CSV op: string fn_haar komt overeen met nummer (argv[1]); reeks fn_csv betekent string (argv[2]); apparaat waar ik dol op zou zijn int = atoi(argv[3]); // Deze vectoren bevatten de bedrukking en de bijbehorende labels: vectorafbeeldingen; vector -tags; // gegevens lezen (mislukt als neo valide invoerbestandsnaam wordt opgegeven, dankzij een foutmelding): Proberen read_csv(fn_csv, afbeeldingen, labels); vangst (cv::Uitzondering&e) cerr << "File break error "" << fn_csv << "" Reden: " << e.msg << endl; // we doen niet echt iets anders dat we misschien wel doen uitgang (1); // Verkrijg de hoogte vanaf het begin met uitzicht. We hebben het nodig // later in de wetten om de vorm van hun afbeeldingen te verbeteren naar het origineel // size En we zullen de inkomende gezichten willen hervormen die deze grootte kunnen hebben: int im_width = afbeeldingen[0].cols; int im_height afbeeldingen [0] = .rijen; // Maak een FaceRecognizer en train deze met prijsafbeeldingen: Het modelnummer Ptr komt overeen met createFisherFaceRecognizer(); model->trein (afbeeldingen, labels); // Dit is een oplossing voor het leren van de gezichtsherkenningsmodus. Je weet wel // moet echt een classificatie maken om de gezichtsherkenningstaak te zijn. // We gebruiken de kapsels waarin jij en je gezin zijn geregistreerd // Opdrachtregelargumenten: // CascadeClassifier hair_cascade; hair_cascade.load(fn_hair); // Gebruiksbeschrijving videoapparaat: Video-opnamekoppen (deviceId); // Controleer in het geval dat we dit apparaat moeten gebruiken: if (!cap.isOpened()) cerr << "Apparaat-ID in halve inch vastleggen << deviceId << "niet mogelijk als u wilt openen." << endl; retour -1; // Bevat het huidige frame na het videoapparaat: plat frame; alleen geschikt voor (;;) { omslag >> lijst; // kloon bestaand frame: Bronpad = frame.clone(); // Converteer huidige afbeelding naar grijswaarden: oninteressant grijs; cvtColor (bron, grijs, CV_BGR2GRAY); // Zoek alle gezichten aan de binnenkant van het frame: vector>gezicht; haar_cascade.detectMultiScale(grijs, gezichten); // Op deze locatie zou je een heeft moeten hebben binnen de juiste positie // gezichten. Nu zullen we gezichten krijgen, een perceptie vinden en // reageer op de video. ideaal toch? (geheel getal voor i is gelijk aan 0; ik ben echt
Hoe los ik een bewering op die niet mogelijk was in Python?
Zorg ervoor dat de aangepaste camera goed werkt met verschillende bibliotheken, meer dan met OpenCV.verander Video-opname (0) => Video-opname (1)Verwijder OpenCV en installeer het opnieuw.Start een nieuwe code-editor per wat dan ook opnieuw.Schakel over naar een andere specifieke IDE (bijvoorbeeld van PyCharm naar Jupyter Notebook).
[Windows] De software die ervoor zorgt dat uw pc weer als nieuw werkt