Plataforma Sciva
 

O desenvolvimento da plataforma SCIVA para processamento de imagens foi motivado pelas seguintes questões:


    Objetivos

1. Abrir e salvar arquivos bitmap de qualquer formato.
2. Criar novos arquivos;
3. Transformar dados desses arquivos em "pacotes" que sejam facilmente manipulados pelos algoritmos de processamento de imagens;
4. Facilitar o acoplamento de novos algoritmos ao sistema;
5. Fazer aquisição de imagens através de uma câmera.
    Justificativas

    As seguintes considerações motivaram os objetivos mencionados no tópico anterior:

    Metodologia
    Etapa 1 - Treinamento
O programador recebeu treinamento no ambiente de desenvolvimento Visual Studio, na linguagem de interface gráfica Windows SDK e em Visual C++. Além disso, também houve treinamento em MFC (biblioteca de classes para interface gráfica).
    Etapa 2 - subsistema de entrada e saída de arquivos bitmap
Nessa etapa foi construído o esqueleto da interface: o módulo principal, a janela principal do sistema e seu menu. Esse módulo é responsável por fazer a criação da classe da aplicação usando o Windows SDK (ferramenta para construção de programas Windows) e também por atender às mensagens enviadas à janela principal.
    Etapa 3 - subsistema de entrada e saída (E/S) de arquivos-imagem
O desenvolvimento do subsistema de E/S teve as seguintes tarefas:
    Etapa 4 - subsistema de gerenciamento de imagem
Seu desenvolvimento compôs-se das seguintes tarefas:
Etapa 5 - subsistema de empacotamento dos bits das imagens
A produção do subsistema de empacotamento de bits das imagens foi um dos maiores desafios do projeto SCIVA. Nesse subsistema se intencionava gerar mecanismos que encapsulassem as diferenças entre os vários tipos de imagem. Desejava-se passar para uma função de processamento de imagem apenas o pacote de bits da imagem, sem que essa função tivesse que fazer tratamento diferenciado de acordo com o formato desses bits.
Esses objetivos foram alcançados por meio da abstração da "Coleção de Pixels", que motivou o desenvolvimento das seguintes classes: