Salve ragazzi, sto facendo un progetto in C (insieme ad Arduino) per un "antifurto" fatto in casa..ho una webcam collegata al pc che scatta delle foto quando intercetta un segnale da Arduino. Per ora le foto vengono salvate in una cartella specifica ma avrei la necessità di averle SEMPRE a disposizione, l'idea principale (e sinceramente quella che più mi piace) a cui pensavo era di farmele mandare ad un indirizzo email ma, dopo essermi informato accuratamente, ho capito che in C diventerebbe davvero molto complesso (non saprei da dove iniziare perchè tutta la documentazione che ho avuto modo di leggere è davvero troppo vaga) il chè mi ha fatto rinunciare a questa soluzione (se comunque siete a conoscenza di qualche metodo non troppo complesso (o di qualche tutorial preciso e mirato) per farlo ditemi pure! Non sono proprio alle prime armi con C, e il motivo principale per cui mi sto cimentando in questo progetto è IMPARARE qualcosa di nuovo!)
Venendo al dunque come alternativa alle email mi sono detto "e se le salvassi in dropbox?" così ho ripiegato su questa soluzione, ho creato un collegamento alla cartella di dropbox e (per semplicità) l'ho rinominata "immagini", poi ho scritto questo pezzetto di codice per vedere se riuscivo nell'impresa:
codice:
#include <stdio.h>
#include "opencv2/highgui/highgui.hpp"
int main(){
//creazione oggetti di cattura
CvCapture *capture1 = cvCreateCameraCapture(1);
CvCapture *capture2 = cvCreateCameraCapture(0);
//controllo
if(!capture1){
puts("la webcam di default non risponde\n");
return -1;
}
if(!capture2){
puts("la webcam esterna1 non risponde\n");
return -1;
}
//creazione matrici immagini
IplImage *frame1, *frame2;
//creazione finestre
cvNamedWindow("WEBCAM_DEFAULT", CV_WINDOW_AUTOSIZE);
cvNamedWindow("WEBCAM_ESTERNA1", CV_WINDOW_AUTOSIZE);
//ciclo infinito (si esce premendo un tasto qualsiasi)
for(;;){
//scatto le foto
frame1 = cvQueryFrame(capture1);
frame2 = cvQueryFrame(capture2);
//le visualizzo
cvShowImage("WEBCAM_DEFAULT", frame1);
cvShowImage("WEBCAM_ESTERNA1", frame2);
//metto in pausa per 33millisecondi
cvWaitKey(33);
if(_kbhit())
break;
}
//salvo l'immagine "frame1" nella cartella immagini (collegamento a dropbox)
cvSaveImage("immagini/immagine1.jpg", frame1, 0);
//rilascio le risorse
cvDestroyWindow("WEBCAM_DEFAULT");
cvDestroyWindow("WEBCAM_ESTERNA1");
cvReleaseCapture(&capture1);
cvReleaseCapture(&capture2);
return 0;
}
ma non va, non da errori di nessun tipo ma comunque non salva niente...
Chi mi da una mano a venirne fuori?
Ringrazio in anticipo chiunque vorrà farlo (: