A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Pesquisa Aplicada à Computação utilizando MatLab®

Apresentações semelhantes


Apresentação em tema: "Pesquisa Aplicada à Computação utilizando MatLab®"— Transcrição da apresentação:

1 Pesquisa Aplicada à Computação utilizando MatLab®
Anderson Vinícius Alves Ferreira Leonardo Vidal Batista (Tutor)

2 Sumário Imagens Digitais Operações com Imagens MatLab®
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

3 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.

4 Imagens Monocromáticas
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)

5 Imagens Monocromáticas
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

6 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;

7 Imagens Coloridas (Imagens RGB)
Banda R Banda G Banda B Imagem RGB

8 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;

9 Operações com Imagens (Pontuais)
Imagem Original Negativo da Imagem

10 Operações com Imagens (Locais)
O valor resultante do pixel depende dos valores atuais dos pixels na vizinhança

11 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.

12 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

13 Operações com Imagens (Locais)

14 MatLab®

15 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

16 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.

17 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

18 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.

19 HELP 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

20 A Linguagem MatLab® Comando HELP Comando LOOKFOR

21 A Linguagem MatLab® Tipos de Dados

22 A Linguagem MatLab® Operadores Aritméticos

23 A Linguagem MatLab® Operadores Relacionais e Lógicos

24 A Linguagem MatLab® Um exemplo simples: Gera o triângulo de Pascal:
while (length(a) < 10), a = [0 a] + [a 0] end; a = 1 a = 1 1 a = 1 2 1 a = a = a = a = a = a = a =

25 A Linguagem MatLab® Outro exemplo simples (1): t = 0:pi/100:2*pi;
y = sin(t); plot(t,y);

26 TUDO NO MATLAB É UMA MATRIZ!
A Linguagem MatLab® Outro exemplo simples (2): t = 0:pi/100:2*pi; y = sin(t); plot(t,y) Cria uma matriz 1 x 201: Cria outra matriz 1 x 201 (o resultado): Plota o resultado versus a primeira matriz! TUDO NO MATLAB É UMA MATRIZ! Lembrem-se 

27 Matrizes Qualquer dado no MatLab® é armazenado como uma matriz
Um único número é, na verdade, uma matriz 1x1 Qualquer variável pode receber qualquer matriz Linhas e Colunas sempre têm indexação iniciada por “1” Elementos individuais são referenciados (acessados) pela linha e pela coluna

28 Matrizes Se “m” é esta matriz, então: Matriz 6 x 10
m(5,4) = 19 (linha, coluna) No Matlab, as linhas e colunas são numeradas a partir de “1”!

29 ? Matrizes Construindo matrizes com “[ ]”: A = [2 7 4] A = [2; 7; 4]
B = [ A A ] 2 7 4 2 7 4 2 7 4 3 8 9 ?

30 Matrizes Construindo matrizes com “[ ]”: A = [2 7 4] A = [2; 7; 4]
B = [ A A ] 2 7 4 2 7 4 2 7 4 3 8 9 2 7 4 3 8 9

31 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”

32 Matrizes Funções de operação com matrizes
Multiplicação matricial e multiplicação ponto a ponto

33 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

34 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

35 Matrizes Dimensões

36 Matrizes Uma matriz pode ser indexada através de outra matriz, de tal maneira que seja produzido um subconjunto dos seus elementos: a = [ ] b = [2 4 7] c = a(b)

37 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.

38 Controle de Fluxo if, else, e elseif

39 Controle de Fluxo switch, case, e otherwise

40 Controle de Fluxo for while

41 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;

42 Processamento de Imagens
E o que o MatLab® tem a ver com o Processamento de Imagens?

43 Processamento de Imagens
Simples: Imagens podem ser tratadas como matrizes!

44 Processamento de Imagens
Carregando e exibindo uma imagem: a = imread(‘picture.jpg’); imshow(a);

45 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]).

46 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.

47 Processamento de Imagens
Tamanho da imagem (matriz): 384 512 size(a) R G B

48 Processamento de Imagens
Imagens coloridas: Mostrando o plano R. a(:,:,2:3) = 0; imshow(a);

49 Processamento de Imagens
Imagens coloridas: Mostrando o plano G. a(:,:,[1 3]) = 0; imshow(a);

50 Processamento de Imagens
Imagens coloridas: Mostrando o plano B. a(:,:,1:2) = 0; imshow(a);

51 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’);

52 E por falar nisso... O MatLab® também pode lidar com: Conclusão:
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.


Carregar ppt "Pesquisa Aplicada à Computação utilizando MatLab®"

Apresentações semelhantes


Anúncios Google