Este exemplo implementa um filtro Sobel simples em Linguagem de computação aberta (OpenCL™). O exemplo contém um único kernel de item de trabalho que implementa um operador sobel para detectar bordas em uma imagem RGB de entrada (8 bits por componente) e cria uma imagem monocromática. O código do kernel é instrutivo, mostrando como descrever de forma eficiente um buffer de linha deslizante da janela. Esta é uma técnica que pode ser usada em muitas outras aplicações de filtragem de imagem.
Este exemplo também tem um aplicativo de host interativo. O aplicativo host permite que você escolha entre exibir a imagem de entrada ou filtrada. O limite de detecção de borda também pode ser ajustado dinamicamente e o valor de limite selecionado é passado para o kernel OpenCL™ como parâmetro.
Desempenho do filtro Sobel
Características
- Host visual e interativo
- Buffers de linha de janela deslizante 2D eficientes
- Kernel de item de trabalho único
Downloads
O exemplo de projeto fornece código fonte para o dispositivo OpenCL (.cl) e para o aplicativo host. Para compilar o aplicativo host, o pacote Linux* inclui um makefile e o pacote do Windows inclui um projeto do Microsoft Visual Studio 2010.
Os seguintes downloads são fornecidos para este exemplo:
O uso deste design é regido pelos termos e condições do contrato de licença de design de referência de hardware.
Requisitos de software e hardware
Este exemplo de projeto requer as seguintes ferramentas:
- Intel® FPGA software v17.1 ou mais recente
- Intel FPGA SDK para OpenCL v17.1 ou mais recente
- No Linux: GNU Make e gcc
- No Windows: Microsoft Visual Studio 2010
- O aplicativo host requer Biblioteca de gráficos abertos (OpenGL) para exibição
Para baixar as ferramentas de design da Intel, acesse a página de downloads do OpenCL. Os requisitos para o sistema operacional subjacente são os mesmos do SDK Intel FPGA para OpenCL.
OpenCL e o logotipo OpenCL são marcas comerciais da Apple Inc. usadas com permissão pela Khronos.
* O produto é baseado em uma especificação Khronos publicada e passou no Processo de teste de conformidade Khronos. O status de conformidade atual pode ser encontrado em www.khronos.org/conformance.