チュートリアル: インテル® IPP 9.0 による画像の回転とブラー

ippiFilterBoxBorder を使用した画像のブラー

画像のボックスブラーは、指定したマスクサイズの隣接する矩形領域でデスティネーション画像の各ピクセルをソース画像の全ピクセルの平均値に設定するフィルタリング・プロセスです。この操作はソース画像をブラーまたはスムーズにする効果があります。

インテル® IPP の ippiFilterBoxBorder 関数は画像のボックスブラーを実装します。 処理関数を呼び出す前に、ワークバッファーのメモリーを割り当てる必要があります。ippiFilterBoxBorderGetBufferSize 補助関数を使用して指定したパラメーターに必要なメモリーサイズを取得できます。 インテル® IPP のボックスブラー機能を使用する方法のサンプルコードを以下に示します。

…
IppStatus status  = ippStsNoErr;
IppiSize maskSize = {3,3};
IppiSize srcSize   = {0};
Ipp8u* pBuffer    = NULL;
Ipp8u* pSrc       = NULL;
Ipp8u* pDst       = NULL;
int srcStep, dstStep;
…
/* パラメーターを割り当て */
…
/* ワークバッファーのサイズを取得 */
status = ippiFilterBoxBorderGetBufferSize(srcSize, maskSize, ipp8u, 3, &bufSize);

pBuffer = ippsMalloc_8u(bufSize);

/* 画像をフィルター */
if (status >= ippStsNoErr) status = ippiFilterBoxBorder_8u_C3R(pSrc, srcStep, pDst, dstStep, srcSize, maskSize, ippBorderRepl, NULL, pBuffer);

if (pBuffer) ippsFree(pBuffer);
…

ippiFilterBoxBorder API と補助関数の詳細は、『インテル® IPP リファレンス・マニュアル』を参照してください。

戻る次へ