W tym przykładzie zastosowano prosty filtr Sobel w języku Open Computing Language (OpenCL™). Przykład zawiera pojedyncze jądro elementu roboczego, które implementuje operatora Sobel do wykrywania krawędzi na wejściowym obrazie RGB (8 bitów na komponent) i przesyła monochromatyczny obraz. Kod jądra jest pouczający, pokazujący, jak efektywnie opisać bufor wiersza przeszywającego okna. Jest to technika, która może być stosowana w wielu innych aplikacjach filtrowania obrazów.
W tym przykładzie ma również interaktywną aplikację hosta. Aplikacja hosta umożliwia wybór między wyświetlaniem danych wejściowych lub filtrowanych obrazów. Próg wykrywania krawędzi można również dynamicznie dostosować, a wybrana wartość progowa jest przekazywana do jądra OpenCL™ jako parametru.
Wydajność filtra Sobel
Funkcje
- Host wizualny i interaktywny
- Wydajne bufory linii 2D z przeszkładkami
- Jądro pojedynczego elementu roboczego
Pobrań
Przykład projektu zawiera kod źródłowy urządzenia OpenCL (.cl) oraz aplikacji hosta. W celu kompilacji aplikacji hosta pakiet Linux* zawiera plik Makefile, a pakiet Windows zawiera projekt Microsoft Visual Studio 2010.
Następujące pliki do pobrania są podane dla tego przykładu:
- Pakiet linuxa v17.1 x64 (.dziewiąta.gz)
- Pakiet Windows v17.1 x64 (.zip)
- Pakiet arm 17.1 32 (.zeszyt.gz)
Użytkowanie tego projektu podlega i podlega warunkom umowy licencyjnej na projekt referencyjny sprzętu.
Wymagania dotyczące oprogramowania i sprzętu
Ten przykład projektu wymaga następujących narzędzi:
- Oprogramowanie Intel® FPGA wersji 17.1 lub nowszej
- Intel FPGA SDK dla OpenCL w wersji 17.1 lub nowszej
- W systemie Linux: GNU Make i gcc
- W systemie Windows: Microsoft Visual Studio 2010
- Aplikacja hosta wymaga otwartej biblioteki grafiki (OpenGL) do wyświetlania
Aby pobrać narzędzia do projektowania firmy Intel, odwiedź stronę pobierania OpenCL. Wymagania dotyczące odpowiedniego systemu operacyjnego są takie same jak wymagania zestawu SDK Intel FPGA dla OpenCL.
OpenCL i logo OpenCL są znakami towarowymi firmy Apple Inc. użytymi za zgodą Khronos.
* Produkt jest oparty na opublikowanej specyfikacji Khronos i przeszedł proces testowania zgodności Khronos. Aktualny status zgodności można znaleźć na stronie www.khronos.org/conformance.