Salve a tutti, per un lavoro di tesi sto usando per la prima volta c++ ad un livello più "alto" ed OpenCV.
Da giorni riscontro problemi con argc ed argv, io ho questo tratto di codice:
La mia domanda è: come posso passare le variabili ad argv? ho trovato dove farlo (con le impostazioni del debug) ma non riesco a capire se devo passare il path del video o solo il nome e mettere il video in una cartella specifica.codice:int main(int argc, char ** argv){ string inputFile(argv[1]),inputTimeFile(argv[1]),FGAviFile(argv[1]),BTAviFile(argv[1]), resultFile(argv[1]), regionMapFile(argv[1]); inputFile.append(".ogv"); inputTimeFile.append("_aligned.csv"); FGAviFile.append("_FG.avi"); BTAviFile.append("_BT.avi"); resultFile.append("_record.txt"); regionMapFile.append("_map.png"); cv::VideoCapture cap(inputFile); if(!cap.isOpened()) { cout<<"cannot find the file "<<inputFile <<endl; return -1; }
Credo che il problema sia quello perchè il debug mi visualizza correttamente un indirizzo di memoria in argv[1] ma le successive varibili (inputFile, InputTimeFile ecc) appaiono con la dicitura <BadPtr>.

Rispondi quotando
. Io devo fornire al programma un video che ho sul pc. So che argv[0] è il nome del mio programma (ad esempio prog.exe) mentre il resto dell'array argv sono gli indirizzi delle variabili che esso utilizza. Non riesco a capire però come assegnare ad argv[1] la cella di memoria dove è contenuto il video che io voglio passare al programma. Ho provato a fornirgli sia il path del file sia il nome ed a inserire il file nella cartella del programma ma non ne riesco a venire a capo.
