Rotate Flip(回転・反転) フィルタ
Rotate Flipフィルタは画像データの反転や90度ごとの回転をさせることが可能です。
Rotate Flipフィルタの使い方
以下のコードを使ってDeNoiseフィルタをアプリケーションにロードすることができます。
// stdfilters.ftfモジュールからDeNoiseフィルタをロードする
#ifdef _DEBUG
smart_com<IFrameFilter> pFilter = FilterLoader::createFilter( "Rotate Flip", // フィルタ名
"stdfiltersd.ftf" ); // モジュールファイル
#else
smart_com<IFrameFilter> pFilter = FilterLoader::createFilter( "Rotate Flip", // フィルタ名
"stdfilters.ftf" ); // モジュールファイル
#endif
パラメータ
最終的なフレームに映される画像データは以下の3つのフィルタパラメータによって決定されます。
Rotation Angle |
このパラメータは回転の角度を設定します。 設定可能な角度は以下の通り
|
---|---|
Flip V | このパラメータは垂直軸での画像の反転するかどうかを決定します。このパラメータはブーリアン型のため、有効な値はtrueかfalseとなります。パラメータの設定はライブ画像表示中かどうかに関わらず可能です。 |
Flip H | このパラメータは水平軸での画像の反転するかどうかを決定します。 同じく有効な値はtrueかfalseとなります。またパラメータの設定もライブ画像表示中かどうかに関わらず可能です。 |
プロパティダイアログ
回転角度、反転モードの設定は以下のプロパティダイアログにて可能です。
プログラムからパラメータにアクセスする
アプリケーションでパラメータの設定をする場合、以下のソースコードを利用することで可能となります。
long lAngle = 0;
long lNewAngle = 0;
bool bFlipVertical = false;
bool bFlipHorizontal = false;
//現在のパラメータ設定の取得
pFilter->getParameter( "Rotation Angle", lAngle );
pFilter->getParameter( "Flip V", bFlipVertical );
pFilter->getParameter( "Flip H", bFlipHorizontal );
//パラメータの変更
lNewAngle = 90; // 0, 90, 180 270 の値のみ設定可能です。
// 回転角度が 90、270 の場合、ビデオフォーマットが変わってしまうため
// 新しい値はライブ画像表示が停止中の場合のみ設定が可能です。
// ライブ表示中であった場合にはsetParameter()からエラーが返されます。
if( abs(lAngle - lNewAngle) == 90 || abs(lAngle - lNewAngle ) == 270 )
{
if( m_Grabber.isLive() == false )
{
pFilter->setParameter( "Rotation Angle", lAngle );
}
}
else
{
pFilter->setParameter( "Rotation Angle", lAngle );
}
// 反転パラメータはビデオフォーマットに変化は及ぼさないので
// ライブ画像の表示中でも変更は可能です。
bFlipVertical = true;
bFlipHorizontal = true;
pFilter->setParameter( "Flip V", bFlipVertical );
pFilter->setParameter( "Flip H", bFlipHorizontal );