Problème de vitesse d'écriture sur disque dur

azza85 Messages postés 2 Statut Membre -  
azza85 Messages postés 2 Statut Membre -
Bonjour,
J'ai un problème de vitesse de sauvegarde des images sur DD. En effet, je dois sauvegarder des images qui proviennent des caméras JAI et les écrire sur le disque à une vitesse de 10 image/s.
Au début, j'utilise cette fonction (code en c++):

void CCamera::StreamCBFunc2(J_tIMAGE_INFO * pAqImageInfo)
{

std::cout << index << " " << i << " " << std::endl;
nbr_missing_packets+=pAqImageInfo->iMissingPackets;

if (J_Image_Malloc(pAqImageInfo, &tCnvImageInfo) == J_ST_SUCCESS) {
if (J_Image_FromRawToImage(pAqImageInfo, &tCnvImageInfo) == J_ST_SUCCESS) {
std::ostringstream out;
out << i++;
std::string sFileName = filename + "\\photo" + out.str() + ".tiff";

if (J_Image_SaveFile(&tCnvImageInfo, LPCTSTR(sFileName.c_str())) == J_ST_SUCCESS) {}
if (J_Image_Free(&tCnvImageInfo) != J_ST_SUCCESS) {}
}
}
}

On convertit l'image qui est dans pAqImageInfo sous forme binaire puis on fait la conversion du format binaire au format image et ensuite on sauvegarde l'image convertie. ça marche pour sauvegarder 10 image à 10 Hz mais dès que je veux sauvegarder 1000 images par exemple la vitesse descend à 2 images/s!
C'est la fonction d'écriture sur DD (J_Image_SaveFile) qui pose problème.
Je l'ai remplacée par cette fonction:

void CCamera::StreamCBFunc3(J_tIMAGE_INFO * pAqImageInfo)
{

FILE *f;

std::cout <<"cam"<< index << " " << i << " " << std::endl;
nbr_missing_packets+=pAqImageInfo->iMissingPackets;

std::ostringstream out;
out << i++;
std::string sFileName = filename + "\\photo" + out.str()+ ".jpg";
f=fopen(sFileName.c_str(),"wb");
if(f!=NULL)
{
fwrite(pAqImageInfo->pImageBuffer,sizeof(uint8_t),sizeof(&pAqImageInfo->pImageBuffer),f);
fclose(f);
}

else
TRACE("pas d'écriture!!\n");

}
Mais ça marche pas!!
Aidez moi à trouver la solution svp
Merci d'avance!
A voir également:

1 réponse

kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Qu'est ce qui ne marche pas?
-1
azza85 Messages postés 2 Statut Membre
 
En fait, ça compile et y a pas de problème à l'exécution sauf que lorsque j'ouvre l'image sauvegardée j'ai "aucun aperçu n'est disponible"
-1