撮影条件の取得/設定¶
デバイスがオープンできたら、デバイスの状態を確認し、必要なら設定を行います。
撮影速度/シャッター速度の取得¶
PUCRESULT result;
UINT32 nFramerate, nShutterFps;
result = PUC_GetFramerateShutter(hDevice, &nFramerate, &nShutterFps);
if (PUC_CHK_FAILED(result))
{
return;
}
撮影速度/シャッター速度の設定¶
撮影速度を1,000fps、シャッター速度を1/2,000fpsに設定します。
PUCRESULT result;
result = PUC_SetFramerateShutter(hDevice, 1000, 2000);
if (PUC_CHK_FAILED(result))
{
return;
}
注釈
撮影速度を変更すると、解像度は設定した撮影速度の最大解像度に変更されます。
解像度の設定¶
解像度を1246px × 800pxに設定します。
result = PUC_SetResolution(hDevice, 1246, 800);
if (PUC_CHK_FAILED(result))
{
return;
}
注釈
現在の撮影速度で設定可能な解像度はPUC_GetMaxResolutionで取得できます。
設定可能な解像度は1px単位ではなく縦横で最小単位があります。 その単位はPUC_GetResolutionLimitで取得できます。
露光期間の設定¶
設定可能な最小露光・非露光時間をnsec単位で取得します。
UINT32 nMinExpOnTime, nMinExpOffTime;
result = PUC_GetMinExpsoeTime(hDevice, &nMinExpOnTime, &nMinExpOffTime)
if (PUC_CHK_FAILED(result))
{
return;
}
1,000fpsでオープンシャッター(1,000,000nsec相当)に指定する場合は以下のようにします。
UINT32 nExpOpen = 1000000 - nMinExpOffTime;
result = PUC_SetExposeTime(hDevice, nExpOpen, nMinExpOffTime)
if (PUC_CHK_FAILED(result))
{
return;
}
注釈
内部計算の都合上、最大12nsecの誤差が生じます。
本関数により露光・非露光期間を直接設定した場合、PUC_GetFramerateShutter関数で返される値は不正な値になります。