pesquisa aplicada à computação utilizando matlab® anderson vinícius alves ferreira...
TRANSCRIPT
![Page 1: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/1.jpg)
Pesquisa Aplicada à Computação utilizando MatLab®
Anderson Vinícius Alves [email protected] Vidal Batista (Tutor)
www.pet.di.ufpb.br
![Page 2: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/2.jpg)
Sumário
Imagens Digitais Monocromáticas e Coloridas
Operações com Imagens Operações Pontuais: Negativo e Controle de Brilho Operações Locais: Eliminação de Ruídos e Detecção
de Bordas MatLab®
O que é? Por que usar? A linguagem MatLab® MatLab® aplicado ao Processamento de Imagens
![Page 3: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/3.jpg)
Imagens Digitais Imagens Digitais são utilizadas e aplicadas a
diversos fins, dentre eles: TV Digital; Câmeras e filmadoras digitais, scanners, celulares,
DVDs; Sistemas de teleconferência; Monitoramento da superfície terrestre e previsão
climáticas por imagens de satélites; Detecção de movimento; Diagnóstico médico: ultrassonografia, tomografia,
ressonância magnética, contagem de células, etc.; Identificação biométrica: reconhecimento de face, íris
ou impressões digitais; Controle de qualidade; Granulometria de minérios.
![Page 4: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/4.jpg)
Imagens Monocromáticas
y
x
Função Im(x, y) (x, y) : coordenadas espaciais Im(x, y) : intensidade luminosa (ou brilho, ou nível de cinza)
da imagem em (x, y)
![Page 5: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/5.jpg)
Imagens Monocromáticas
95...163163............
142...161161142...161161
Representação Matricial Uma imagem é uma matriz bidimensional
observada de forma pictórica Cada elemento (i, i) da matriz representa o
valor da intensidade ou brilho na imagem
![Page 6: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/6.jpg)
Imagens Coloridas (Imagens RGB)
Imagem com três matrizes combinadas Banda R: matriz com os valores de intensidade
de VERMELHO na imagem; Banda G: matriz com os valores de intensidade
de VERDE na imagem; Banda B: matriz com os valores de intensidade
de AZUL na imagem;
![Page 7: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/7.jpg)
Imagens Coloridas (Imagens RGB)
Banda R Banda G Banda B
Imagem RGB
![Page 8: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/8.jpg)
Operações com Imagens (Pontuais) Negativo
RGB R = 255 – R; G = 255 – G; B = 255 – B;
Controle de Brilho Brilho Aditivo
Pixel_resultante = Pixel_atual + C;
Brilho Multiplicativo Pixel_resultante = Pixel_atual * C;
![Page 9: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/9.jpg)
Operações com Imagens (Pontuais)
Imagem Original Negativo da Imagem
![Page 10: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/10.jpg)
Operações com Imagens (Locais) O valor resultante do pixel depende dos valores atuais
dos pixels na vizinhança
i
j
Vizinhança de (i, j)
i
j
f g
![Page 11: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/11.jpg)
Operações com Imagens (Locais)
Eliminação de Ruídos Filtro da Média
O valor do pixel g(i, j) é a média dos valores dos pixels de f em uma vizinhança de (i, j) contendo n pixels.
![Page 12: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/12.jpg)
Operações com Imagens (Locais) Detecção de Bordas
Gradiente de Prewitt O valor do pixel g(i, j) é uma aproximação discreta do
módulo do vetor gradiente nas coordenadas (i, j) da imagem f de entrada
![Page 13: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/13.jpg)
Operações com Imagens (Locais)
![Page 14: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/14.jpg)
MatLab®
![Page 15: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/15.jpg)
O que é MatLab®?
MatLab® (MATrix LABoratory)
Linguagem de programação de alta performance voltada à computação técnica
Ambiente de programação, visualização e computação, extremamente fácil de usar e muito intuitivo – problemas e soluções são expressos em uma notação matemática familiar
![Page 16: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/16.jpg)
Por que usar o MatLab®?
Facilidade e rapidez na prototipação de aplicativos;
É de rápido aprendizado, possuindo uma vasta documentação;
Enorme biblioteca de funções para processamento de imagens;
Muitas ferramentas para visualização; Muito utilizado no ensino e pesquisa em
indústrias e universidades.
![Page 17: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/17.jpg)
A linguagem MatLab®
Linguagem de alto nível baseada em MATRIZES, com instruções de controle de fluxo, funções, estrutura de dados, entrada/saída, e características de POO
Possui uma vasta coleção de algoritmos computacionais para cálculos de funções elementares (soma, seno, cosseno, aritmética de números complexos) até as mais sofisticadas (inversão de matrizes, autovetores de matrizes, funções de Bessel, transformada rápida de Fourier), como também uma extensa gama de funções relacionadas ao processamento de sinais
![Page 18: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/18.jpg)
A Linguagem MatLab®
Tudo (TUDO MESMO) no MatLab® é uma MATRIZ!
É uma linguagem interpretada (não é necessário compilar o código)
Não é necessário: Declarar variáveis (e suas dimensões) Alocar memória e usar ponteiros
Os programas podem ser depurados passo a passo, com acesso às suas variáveis, funções, etc.
![Page 19: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/19.jpg)
A Linguagem MatLab®
O COMANDO MAIS IMPORTANTE
Fornece ajuda para qualquer outro comando.
Outro comando também importante é o lookfor, que procura entre todas as funções do MatLab® a palavra-chave especificada.
HELP
![Page 20: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/20.jpg)
A Linguagem MatLab®
Comando HELP
Comando LOOKFOR
![Page 21: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/21.jpg)
A Linguagem MatLab®
Tipos de Dados
![Page 22: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/22.jpg)
A Linguagem MatLab®
Operadores Aritméticos
![Page 23: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/23.jpg)
A Linguagem MatLab®
Operadores Relacionais e Lógicos
![Page 24: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/24.jpg)
A Linguagem MatLab®
Um exemplo simples:a = 1
while (length(a) < 10),
a = [0 a] + [a 0]
end;
a = 1a = 1 1a = 1 2 1a = 1 3 3 1a = 1 4 6 4 1a = 1 5 10 10 5 1a = 1 6 15 20 15 6 1a = 1 7 21 35 35 21 7 1a = 1 8 28 56 70 56 28 8 1a = 1 9 36 84 126 126 84 36 9 1
Gera o triângulo de Pascal:
![Page 25: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/25.jpg)
A Linguagem MatLab®
Outro exemplo simples (1):t = 0:pi/100:2*pi;
y = sin(t);
plot(t,y);
![Page 26: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/26.jpg)
A Linguagem MatLab®
Outro exemplo simples (2):t = 0:pi/100:2*pi;
y = sin(t);
plot(t,y)
TUDO NO MATLAB É UMA MATRIZ!Lembrem-se
Cria uma matriz 1 x 201:
Cria outra matriz 1 x 201 (o resultado):
Plota o resultado versus a primeira matriz!
![Page 27: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/27.jpg)
Matrizes
Qualquer dado no MatLab® é armazenado como uma matriz Um único número é, na verdade, uma matriz
1x1 Qualquer variável pode receber qualquer
matrizLinhas e Colunas sempre têm indexação
iniciada por “1” Elementos individuais são referenciados
(acessados) pela linha e pela coluna
![Page 28: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/28.jpg)
Matrizes
Mat
riz
6 x
10Se “m” é esta matriz, então:m(5,4) = 19 (linha, coluna)
No Matlab, as linhas e colunas são numeradas a partir de “1”!
![Page 29: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/29.jpg)
Matrizes
Construindo matrizes com “[ ]”: A = [2 7 4]
A = [2; 7; 4]
A = [2 7 4; 3 8 9]
B = [ A A ]
2 7 4
274
2 7 43 8 9
?
![Page 30: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/30.jpg)
Matrizes
Construindo matrizes com “[ ]”: A = [2 7 4]
A = [2; 7; 4]
A = [2 7 4; 3 8 9]
B = [ A A ]
2 7 4
274
2 7 43 8 9
2 7 43 8 9
2 7 43 8 9
![Page 31: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/31.jpg)
Matrizes
Operando com matrizes: Em várias linguagens deve-se escrever laços (loops)
para trabalhar com os elementos de uma estrutura de dados (um vetor, por exemplo).
No Matlab, laços podem (e DEVEM) ser evitados. Por exemplo,
a = [4 5 1 ; 3 6 8] + 1 => a = [5 6 2 ; 4 7 9]
O número “1” foi adicionado a cada um dos elementos da matriz “a”
![Page 32: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/32.jpg)
Matrizes
Funções de operação com matrizes Multiplicação matricial e multiplicação ponto a ponto
![Page 33: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/33.jpg)
Matrizes
Funções de operação com matrizes eye – Matriz Identidade ones – Cria uma matriz de “1s” zeros – Cria uma matriz de “0s” find – Localização de valores size – Dimensão de matrizes : (dois pontos) – Vetor regularmente espaçado rand – Cria uma matriz de números
randômicos uniformemente distribuídos cat – Concatena matrizes
![Page 34: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/34.jpg)
Matrizes
Funções de operação com vetor (matriz-linha) sum – Soma dos elementos prod – Produto dos elementos sort – Ordena os elementos em ordem ascendente cumsum – Soma cumulativa cumprod – Produto cumulativo max – Máximos elementos de um vetor min – Mínimos elementos de um vetor mean – Média ou valor médio de vetores
![Page 35: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/35.jpg)
Matrizes
Dimensões
![Page 36: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/36.jpg)
Matrizes
Uma matriz pode ser indexada através de outra matriz, de tal maneira que seja produzido um subconjunto dos seus elementos: a = [100 200 300 400 500 600 700] b = [2 4 7] c = a(b)
200 400 700
![Page 37: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/37.jpg)
Matrizes
Para obter uma subseção de uma matriz, pode-se utilizar a matriz-índice a partir do operador “:” (dois pontos): a(2:5)
Funciona também em duas dimensões c(2:3, 1:2), por exemplo, produz uma
submatriz 2 x 2.
200 300 400 500
![Page 38: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/38.jpg)
Controle de Fluxo
if, else, e elseif
![Page 39: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/39.jpg)
Controle de Fluxo
switch, case, e otherwise
![Page 40: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/40.jpg)
Controle de Fluxo
for
while
![Page 41: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/41.jpg)
Criação de Funções MatLab®
Arquivos .m Sintaxe:
function [ret1,ret2,...,retn] = nome da função (input1,input2,...,inputn)%Comentarios
corpo da função;end;
![Page 42: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/42.jpg)
Processamento de Imagens
E o que o MatLab® tem a ver com o
Processamento de Imagens?
![Page 43: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/43.jpg)
Processamento de Imagens
Simples:
Imagens podem ser tratadas como
matrizes!
![Page 44: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/44.jpg)
Processamento de Imagens
Carregando e exibindo uma imagem:a = imread(‘picture.jpg’);
imshow(a);
![Page 45: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/45.jpg)
Processamento de Imagens
Imagens RGB: Uma imagem
RGB pode ser double (contendo valores na faixa [0,1]) ou uint8 (contendo valores na faixa [0,255]).
![Page 46: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/46.jpg)
Processamento de Imagens
Imagens RGB: Nesta única matriz com dimensões m-por-n-
por-3, “m” e “n” são a quantidade de linhas e colunas dos pixels na imagem, enquanto que a terceira dimensão consiste de três planos contendo as intensidades vermelha, verde e azul.
Para cada pixel na imagem, os valores vermelho verde e azul são combinados para formar a cor real do pixel.
![Page 47: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/47.jpg)
Processamento de Imagens
Tamanho da imagem (matriz):
size(a)
384 512 3
R G B
384
512
![Page 48: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/48.jpg)
Processamento de Imagens
Imagens coloridas: Mostrando o plano R.a(:,:,2:3) = 0;
imshow(a);
![Page 49: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/49.jpg)
Processamento de Imagens
Imagens coloridas: Mostrando o plano G.a(:,:,[1 3]) = 0;
imshow(a);
![Page 50: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/50.jpg)
Processamento de Imagens
Imagens coloridas: Mostrando o plano B.a(:,:,1:2) = 0;
imshow(a);
![Page 51: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/51.jpg)
Processamento de Imagens
Abrir imagem im = imread(‘nome do arquivo’);
Exibir imagem imshow(nome da variavel);
Salvar imagem imwrite(nome da variavel, ‘nome do arquivo’);
![Page 52: Pesquisa Aplicada à Computação utilizando MatLab® Anderson Vinícius Alves Ferreira anderson_vinicius@msn.com Leonardo Vidal Batista (Tutor) leonardo@di.ufpb.br](https://reader035.vdocuments.site/reader035/viewer/2022081520/5706386a1a28abb823904771/html5/thumbnails/52.jpg)
E por falar nisso...
O MatLab® também pode lidar com: Filmes; Objetos em três dimensões; …
Conclusão: O MatLab® é uma ferramenta para
manipulação de sinais digitais muito poderosa, já que sinais podem ser tratados como matrizes.