c ++ - fopen mislykkes efter at have skiftet konsol app til Windows app

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger OpenCV 2.3.1 på Windows XP Professional med Visual Studio
10 (Ultimate) og jeg har problemer med at åbne kaskadefilerne.


Den relevante kode er følgende:


String face\_cascade\_name = "haarcascade\_frontalface\_alt.xml";

CascadeClassifier face\_cascade;

if( !face\_cascade.load( face\_cascade\_name ) ){ message(TEXT("--(!)Error loading face
"));


Jeg sørger for, at den aktuelle mappe er korrekt ved hjælp af
GetCurrentDirectory() funktionen og xml filen er indeholdt i den pågældende mappe.


Det sjove er, programmet fungerer korrekt, når jeg kompilerer og kører det
Konsol -modus, men jeg får fejlen 'Fejl ved indlæsning af ansigt', når jeg kører det under
Win32-tilstand (ingen konsol).


Tak for enhver hjælp!

Bedste reference


Ifølge OpenCV-dokumentationen har CascadeClassification-objektet en belastningsmetode med følgende prototype:


bool CascadeClassifier::load(const string& filename)


men du fodrer det en String. Det ser ud fra din kommentar, som det blot har tilføjet markørværdien til katalogstrengen. Prøv at give den den rigtige type argument. dvs:


string face\_cascade\_name("haarcascade\_frontalface\_alt.xml");
if( !face\_cascade.load(face\_cascade\_name) { ... }