この例では、Open Computing Language (OpenCL™) でソーベルフィルターを実装します。この例では、入力 RGB 画像 (各コンポーネント 8 ビット) のエッジを検出するソーベル演算子を実装し、モノクロ画像を出力するシングル・ワークアイテム・カーネルが含まれます。カーネルコードは、スライディング・ウィンドウのラインバッファを効率的に記述する方法を示しており、参考になります。この手法は、他の多くの画像フィルタリング・アプリケーションで使用できます。
この例には、インタラクティブなホスト・アプリケーションもあります。ホスト・アプリケーションでは、入力された画像を表示するか、フィルタリングされた画像を表示するかを選択できます。また、エッジ検出の閾値は動的に調整でき、選択された閾値は OpenCL™ カーネルにパラメータとして渡されます。
ソーベルフィルターのパフォーマンス
機能
- ビジュアルおよびインタラクティブなホスト
- 効率的な 2D スライディングウィンドウ・ライン・バッファー
- 単一動作項目カーネル
ダウンロード
このデザイン例は、OpenCL™ デバイス (.cl) およびホスト・アプリケーション用のソースコードを提供します。ホスト・アプリケーションをコンパイルするため、Linux* パッケージには Makefile が含まれており、Windows パッケージには Microsoft* Visual Studio 2010 プロジェクトが含まれています。
以下のダウンロードは、この例のために提供されています。
- バージョン 17.1 x64 Linux* パッケージ (.tar.gz)
- バージョン 17.1 x64 Windows* パッケージ (.zip)
- バージョン 17.1 arm 32 パッケージ (.tar.gz)
このデザインの使用には、ハードウェア・リファレンス・デザイン・ライセンス契約の使用条件が適用されます。
ソフトウェア要件とハードウェア要件
このデザイン例には、以下のツールが必要です。
- インテル® FPGA ソフトウェア・バージョン 17.1 以降
- インテル® FPGA SDK for OpenCL バージョン 17.1 以降
- Linux* の場合: GNU make および gcc
- Windows* の場合: Microsoft* Visual Studio* 2010
- ホスト・アプリケーションの表示には、Open Graphics Library (OpenGL) が必要です
インテル® のデザインツールをダウンロードするには、OpenCL™ ダウンロードページをご覧ください。基盤となるオペレーティング・システムの要件は、インテル® FPGA SDK for OpenCL™ の要件と同じです。
OpenCL および OpenCL ロゴは Apple Inc. の商標であり、Khronos の許可を得て使用しています。
* 製品は Khronos 公開の仕様に基づいており、Khronos コンフォーマンス・テスト・プロセスに合格しています。現在のコンフォーマンス条件は、www.khronos.org/conformance で確認できます。