Escolar Documentos
Profissional Documentos
Cultura Documentos
Imagem do MATLAB
Junho de 2007
2
1. Introdução
O processamento digital de imagens tem atraído grandes áreas de interesse nas
últimas décadas. Tem como objectivo principal desenvolver procedimentos para extrair
informações de uma imagem de forma adequada para o processamento automático.
3
2. Etapas de um Sistema Digital
Méndez, A. e Lado, M. J. (2007) definem as seguintes etapas no processamento
digital de imagem: Aquisição de imagem; Pré processamento; Segmentação;
Representação e Descrição; e Reconhecimento e Interpretação. Cada uma destas etapas
interage com conhecimento prévio já estudado e abordado por anteriores investigadores
(ver imagem 1).
Realce da imagem
4
novo intervalo de valores na imagem derivada. O resultado pode ser a variação do
contraste e o branqueamento ou o escurecimento da imagem (Anexo 1- ponto 2.1).
Equalização de histograma
3ª Etapa – Segmentação
Para estimar o valor dos Pixels do fundo da imagem original é utilizada uma
operação morfológica de abertura (ver anexo 2, ponto 2 e ponto 3). A abertura
morfológica é uma erosão seguida de uma dilatação, usando o mesmo elemento
estruturante (matriz binária). Em MatLab é representado pelo objecto Strel, para ambas
as operações.
O resultado da aplicação desta etapa é a obtenção dos dados dos pixels em bruto,
que constituem o contorno de uma região determinada. Essa região poderá ser uma parte
da imagem ou toda a imagem (Méndez, A. e Lado, M. J. ,2007).
5
É possível a definição de um grande número de atributos baseados em fórmulas
matemáticas que podem não ser facilmente compreendidos por um observador humano.
3. Conclusão
Constitui objectivo deste trabalho efectuar uma síntese dos conceitos de
processamento de imagem apresentados no material de apoio ao curso, utilizados nos
exemplos 1 e 2 da caixa de ferramentas de processamento de imagem (Image
Processing Toolbox).
4. Bibliografía
6
Getting Started withMATLAB® 7. The MathWorks, Inc. em
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/getstart.pdf
Morais V., Vieira C. (2006). MatLab 7&6- Curso completo. FCA – Editora Informática,
Lisboa.
7
Anexo 1 : MatLab – Exemplo 1: Conceitos Básicos
A imagem RGB também designada Truecolor, é formada por três planos de cor:
o vermelho, o verde e o azul. A cor de cada pixel é indicada pelo seu próprio valor, ou
seja RGB(red,green,blue) cujos elementos são armazenados nos respectivos planos de
cor, na posição correspondente do pixel. Para uma imagem RGB de tamanho m*n, a
8
matriz de pixels 3D tem dimensão m*n*3 e pode ser do tipo uint8, uint16, single ou
Double.
Leitura de imagens
Img = imread('filename');
Exemplo:
Img = imread('pout.tif');
‘filename’– localização e nome do ficheiro, incluindo a extensão
[img,map] = imread(‘filename’)
Multiframe= logical(zeros(128,128,1,10)
For frame=1:10
Multiframe(:, :, :, frame)=imread(‘filename’,frame)
9
end
Visualização de imagens
Tal como no exemplo anterior estas funções podem incluir vários formatos
como, por exemplo, imshow(‘filename’,mapa) ou imtool(‘filename’,mapa), etc.
Figure; imshow(‘filename’);
É possível obter uma representação visual de uma matriz de dados sob a forma
de uma imagem de intensidade. Caso o valor dos dados esteja fora dos limites
suportados pelo mapa de cor interno é necessário fazer o escalonamento dos dados, caso
contrário os valores são truncados para os respectivos limites. A função imshow possui
a propriedade DisplayRange, que permite indicar os limites de um intervalo de dados a
usar para o escalonamento automático, na forma vector [Min,Max]. Os valores abaixo
de Min são representados a preto e acima de Max a branco.
10
c) A visualização de uma imagem indexada exige a indicação da matriz de pixels e do
mapa de cor que deve ser usado para obter a cor de cada pixel.
Imadjust(img,vIntIn,vIntOut)
11
Na forma de invocação mais básica recebe a imagem original e retorna a
imagem processada. Adicionalmente pode retornar um vector com os valores obtidos no
processamento de todos os valores possíveis dos pixels da imagem de entrada. O gráfico
deste vector representa a curva de transformação aplicada durante a operação de
equalização.
Fig1- Imagem original Fig2 – Histograma original Fig3- Imagem Equalizada Fig4 – Histograma Equalizado
12
Anexo 2: MatLab – Exemplo 2: Conceitos Avançados
I = imread(‘filename');imshow(I)
Para estimar o valor dos Pixels do fundo da imagem “rice.png” é utilizada uma
operação morfológica de abertura. A abertura morfológica é uma erosão seguida de uma
dilatação, usando o mesmo elemento estruturante (matriz binária), em MatLab é
representado pelo objecto Strel, para ambas as operações. A operação da abertura tem o
efeito de remover os objectos que não podem conter o elemento estruturante. Ou seja,
remove pequenos objectos da imagem, preservando o tamanho e a forma dos objectos
maiores.
Obs: Para remover os grãos de arroz da imagem, o elemento estruturante deve ter tamanho suficiente de
forma que não caiba inteiramente dentro do grão de arroz.
I2 = imsubtract(I,background);
13
5. Ajustar o contraste
I3 = imadjust(I2);
level = graythresh(I3);
bw = im2bw(I3,level);
figure, imshow(bw)
[labeled,numObjects] = bwlabel(bw,4);
figure, imshow(labeled);
impixelregion
graindata = regionprops(labeled,'basic')
14
A função biggrain = find([graindata.Area]==404) retorna a etiqueta do objecto
com maior comprimento.
15