sauvegarde des images sur DD
Bonjour,
J'ai codé une fonction qui doit enregistré une image sur DD..ça compile et y a pas de pb à l'éxecution mais lorsque j'ouvre l'image j'ai "aucun aperçu disponible"
voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| void CCamera::StreamCBFunc2(J_tIMAGE_INFO * pAqImageInfo)
{
FILE *f;
std::cout <<"cam"<< 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";
f=fopen(sFileName.c_str(),"wb");
if(f!=NULL)
{
fwrite( &tCnvImageInfo.pImageBuffer,sizeof(uint8_t),sizeof(&tCnvImageInfo.pImageBuffer),f);
fclose(f);
}
else
TRACE("pas d'écriture!!\n");
if (J_Image_Free(&tCnvImageInfo) != J_ST_SUCCESS) {}
}
}
} |
En effet, l'image est stochée sous forme brute dans le buffer pImageBuffer de la structure pAqImageInfo et après je fais la conversion du format binaire au format image et le resultat est stocké ds le buffer pImageBuffer de la structure tCnvImageInfo.
voici la déclaration de ces structures:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| J_tIMAGE_INFO tCnvImageInfo;
J_tIMAGE_INFO *pAqImageInfo;
et la définition de la structure est:
typedef struct _J_tIMAGE_INFO
{
uint32_t iPixelType; ///< Pixel Format Type
uint32_t iSizeX; ///< Image width
uint32_t iSizeY; ///< Image height
uint32_t iImageSize; ///< Number of bytes for image
uint8_t *pImageBuffer; ///< Buffer pointer
uint64_t iTimeStamp; ///< Timestamp
uint32_t iMissingPackets; ///< Number of missing packets
} J_tIMAGE_INFO; |
Merci d'avance!