Documentacao2
27 de novembro de 2014.
ÍNDICE
1 Tp2_main.c 3
1.1 Sumário 3
1.2 Implementação Construída 3
1.2.1 Struct 3
1.2.2 Main 3
1.2.3 Função: Imagem* ler (char *nome) 3
1.2.4 Função: Imagem* alocar_memor (int ncols, int nlins) 4
1.2.5 Função: void desalocar_memor (Imagem **img) 4
1.2.6 Função: void gravar(Imagem *img,char *nome,int limiar) 4
1.2.7 Função: void liamiarizar(Imagem *img, FILE *fp, int limiar) 4
1.3 Decisões de Implementação 4
1 Tp2_main.c
1.1 Sumário
Este documento descreve a implementação de um programa de segmentação de imagens, no formato *.pmg, por limiarização.
Limiarização é um processo de segmentação de imagens que se baseia na diferença dos níveis de cinza que compõe diferentes objetos de uma imagem. A partir de um limiar estabelecido de acordo com as características dos objetos que se quer isolar, a imagem pode ser segmentada em dois grupos: o grupo de pixels com níveis de cinza abaixo do limiar e o grupo de pixels com níveis de cinza acima do limiar. Em uma imagem limiarizada, atribui-se um valor fixo para todos os pixels de mesmo grupo.
1.2 Programa Construído
Para a implementação do programa foram utilizadas as seguintes bibliotecas:
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
O programa é composto por uma Estrutura e cinco funções principais e a Main. Estes componentes são descritos nos tópicos abaixo.
1.2.1 Struct
A estrutura incluída no programa é composta por cinco variáveis do tipo inteiro sendo:
int *val: variável responsável por armazenar o valor de cada pixel da imagem; int ncols,nlins: número de colunas e linhas da imagem; int *lin: vetor com os índices de cada linha da imagem.
1.2.2 Main
A função main é responsável por receber o nome do arquivo no formato *.pgm o valor inteiro de limiar e o nome de um arquivo de saída no formato .*pgm. Dentro da função é verificado se existe um arquivo com o nome digitado pelo usuário caso não exista o programa é interrompido