チュートリアル: インテル® IPP 9.0 による画像の回転とブラー
画像のボックスブラーは、指定したマスクサイズの隣接する矩形領域でデスティネーション画像の各ピクセルをソース画像の全ピクセルの平均値に設定するフィルタリング・プロセスです。この操作はソース画像をブラーまたはスムーズにする効果があります。
インテル® 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 リファレンス・マニュアル』を参照してください。