Índice
Esta manual é referente à interface desenvolvida como
trabalho da disciplina Visão Computacional do curso de Pós-graduação
em Ciências da Computação.
Ela foi projetada para permitir a modelagem de fluxos de filtragem de imagens. Para isto ela oferece um ambiente gráfico onde o usuário pode montar a seqüência de filtragem, setar os parâmetros dos filtros e executar o fluxo visualizando os resultados obtidos. Possibilita o salvamento dos fluxos criados para posterior reutilização e a exportação e importação de fluxos em arquivos.
- Linguagem: Smalltalk
- Ambiente: Visual Works 7.2
- Parcels utilizados:
- HotDraw: Este parcel contem um framework gráfico que fornece funcionalidades para a implementação da parte gráfica, para o desenho dos fluxos de filtragem.
- FileSelectionDialog: Este parcel contem funcionalidades utilizadas para a localização e carga de arquivos.
- Arquivos utilizados por ‘File in’:
- ImageReadWriter.st: Pacote criado por outro desenvolvedor que implementa funções de abertura de arquivos de imagem.
- ImageFormats.st: Pacote criado por outro desenvolvedor que implementa funções de abertura de arquivos de imagem.
- Arquivos de Filtros:
- (*.EXE): São os arquivos executáveis criados em C ANSI que vão executar a filtragem das imagens. Estes arquivos serão executados pela interface para a filtragem das imagens, de acordo com o fluxo montado pelo usuário.
- (*.conf): São os arquivos de configuração, responsáveis pela descrição à ferramenta das variáveis de cada filtro, seus valores padrão e possibilidades e forma de regulagem. Através da informação contida nestes arquivos, são montadas as telas de configuração dos filtros em tempo de execução, oferecendo ao usuário a possibilidade de alterar os parâmetros do filtro antes de gerar o comando de execução do mesmo.
- EX: Arquivo de configuração de um filtro de Limiar Simples:
#('Limiar. - Simples' // nome que aparecerá no menu de escolha da ferramenta.
'limiarS' //comando de chamada do executável.
#(#req '-i' #input 'Entrada') // definição do arquivo de entrada.
#(#req '-o' #output 'Saída') // definição do arquivo de saída.
#(#req '-op' #(#select 'acima' 'abaixo' 1) 'Operação') // parâmetro de configuração do filtro setado por um selection-box.
#(#req '-lim' #(#int 0 255 127) 'Limiar') // parâmetro de configuração do filtro setado por um slider.
#(#req '-c1' #(#int 0 255 255) 'Cor 1') // parâmetro de configuração do filtro setado por um slider.
#(#req '-c2' #(#int 0 255 0) 'Cor 2')). // parâmetro de configuração do filtro setado por um slider.
- Tela montada quando da configuração de um filtro deste tipo com base neste arquivo:
- Linha de comando montada quando da execução de um filtro deste tipo com base neste arquivo:
"limiarS -i <arquivo_entrada> -o <arquivo_saida>
-op acima -lim 127 -c1 255 -c2 0"
- Numa imagem nova (visual 7.2):_
1 - Instalar os seguintes Parcels:
- Hot Draw
- FileSelectionDialog
2 - Dar 'File in' no arquivo -> ImageReadWriter.st
3 - Dar 'File in' no arquivo -> ImageFormats.st
4 - Dar 'File In' no arquivo -> Cyclops_ImageFilter.st
5 - Descompactar o arquivo Pastas.zip para o diretório onde está a imagem.
6 - Colocar os arquivos executáveis dos filtros (Windows | Linux) dentro da pasta ‘Filtros’, junto com os arquivos, com extensão ‘.conf’, que serão responsáveis pela configuração da linha de comando para chamada dos respectivos filtros.
7 - Colocar as imagens dentro da pasta imagens.
O menu do editor é bastante simples e intuitivo. Ele é composto por quatro grupos dentro dos quais estão agrupadas as funções referentes a cada grupo:
- Model: Agrupa as funções de criação salvamento e recuperação dos modelos de fluxo de filtragem.
![]() |
New:
Permite a abertura de um novo Fluxo. Se existirem componentes no fluxo
em edição a ferramenta oferece a possibilidade de salvamento,
antes da abertura de um fluxo novo.
Open: Permite a abertura de um fluxo já armazenado. Se existirem componentes no fluxo em edição a ferramenta oferece a possibilidade de salvamento, antes da abertura do fluxo solicitado. Save: Permite o armazenamento do fluxo em edição. Na primeira execução solicita um nome para o fluxo. Depois de definido um nome, a ferramenta apenas salva o fluxo como nome já definido, sem perguntar novamente. Save as..: Permite o armazenamento do fluxo em edição com um novo nome definido pelo usuário. Obs: Estas funções trabalham armazenando e recuperando dados internos à imagem Smalltalk, portanto é necessário salvar a imagem sempre para que os dados salvos por estas funções sejam armazenados efetivamente. |
- Edit: Agrupa as funções de edição dos fluxos de filtragem.
![]() |
Cut:
Permite recortar componentes do fluxo em edição para
serem utilizados em outro lugar do fluxo através do comando Paste.
Copy: Permite copiar componentes do fluxo em edição para serem utilizados em outro lugar do fluxo através do comando Paste. Paste: Permite colar componentes recortados ou copiados do modelo em edição. |
- File: Agrupa as funções de manipulação de arquivos externos.
![]() |
Export:
Permite exportar o fluxo em edição para um arquivo facilitando
assim o intercambio de fluxos que podem ser salvos separadamente ou até
mesmo enviados para outros locais por email, etc.
Import: Permite importar os fluxos, que foram exportados para arquivos, para dentro da ferramenta permitindo edição e uso. |
- Editor: Agrupa as funções globais do editor.
![]() |
About:
Mostra uma tela com informações sobre o programa.
Manual: Abre um arquivo com o manual do programa em um browser netscape. Close: Encerra a ferramenta. Se existir algum componente, no fluxo ativo, a ferramenta oferece a possibilidade de salvamento do mesmo. |
A barra de ferramentas também é bastante intuitiva, seguindo o padrão de ícones comum nas ferramentas básicas que permitem:
![]() |
- Cria um novo fluxo de filtragem |
![]() |
- Abre um fluxo existente para edição e uso. |
![]() |
- Salva o fluxo corrente. |
![]() |
- Recorta componentes de um fluxo em edição. |
![]() |
- Copia componentes de um fluxo em edição. |
![]() |
- Cola componentes recortados ou copiados. |
Devemos dar atenção maior às ferramentas específicas do editor que são:
![]() |
- Select Tool: permite a movimentação e edição dos componentes do fluxo. |
![]() |
- Hand Tool: permite a movimentação dos componentes, porem não permite editá-los. |
![]() |
- Delete Tool: Permite deletar componentes já inseridos no fluxo. |
![]() |
- Forward Tool: Permite mover os componentes que estão mais atraz para frente dos outros. |
![]() |
- Backward Tool: Permite mover os componentes que estão mais à frente para traz dos outros. |
![]() |
- Load Tool: Insere um novo Componente Load no fluxo, no ponto em que o usuário clicar. |
![]() |
- View Tool: Insere um novo Componente View no fluxo, no ponto em que o usuário clicar. |
![]() |
- Filter Tool: Oferece um menu para que o usuário selecione o filtro desejado e insere um novo Componente Filter no fluxo, no ponto em que o usuário clicar. |
![]() |
- Text Tool: Insere um novo Componente Text no fluxo, no ponto em que o usuário clicar, permitindo comentar o fluxo. |
![]() |
|
![]() |
|
![]() |
Se o arquivo de entrada for um histograma, um gráfico de barras será montado. Se o formato do arquivo de entrada não for conhecido, uma mensagem de erro será exibida.
|
- Levi Ferreira (pesquisador)
Data: