画像の取得¶
画像の取得¶
バッファを確保し、現在のライブ画像を取得します。
はじめに、PUC_GetXferDataSize
で現在の解像度に対するデータサイズを取得します。
result = PUC_GetXferDataSize(hDevice, &nDataSize);
if (PUC_CHK_FAILED(result))
{
return;
}
注釈
カメラから転送される画像は圧縮画像です。上記では圧縮画像のデータサイズを取得しています。
PUC_GetXferDataSizeで取得したサイズでバッファを確保した場合、解像度の変更毎にバッファの再確保が必要になりますので、PUC_GetMaxXferDataSizeを使用してあらかじめ最大データサイズを確保する方法が効率的です。
次に、バッファを確保し画像を取得します。
PUC_XFER_DATA_INFO xferData = { 0 };
xferData.pData = new UINT8[nDataSize];
result = PUC_GetSingleXferData(hDevice, &xferData);
if (PUC_CHK_FAILED(result))
{
return;
}
注釈
xferData.nDataSizeには実際に転送した画像サイズ、xferData.nSequenceNoにはシーケンス番号が格納されます。
取得した画像は圧縮されているため、表示するにはデコードが必要です。