Notes
Slide Show
Outline
1
Computação Gráfica
Módulo I – Imagem
  • UniverCidade - Prof. Ismael H F Santos


2
Considerações Gerais
  • Objetivo: Discutir os principais conceitos eos princípios básicos dos Sistemas Gráficos e a Programação em OpenGL.
  • A quem se destina : Alunos e Profissionais que desejem aprofundar seus conhecimentos sobre Computação Grafica e suas aplicações.


3
Bibliografia
  • Computação Gráfica Volume 1. Jonas Gomes e Luiz Velho. Instituto de Matemática Pura e Aplicada – IMPA.
  • Introdução a Computação Gráfica - Paulo Roma
    •  http://www.lcg.ufrj.br/compgraf1/downloads/apostila.pdf
    • http://www.lcg.ufrj.br/compgraf1/downloads/apostila.ps.gz
  • Notas do Curso ministrado na Universidade de Maryland pelo Prof. David Mount
    • ftp://ftp.cs.umd.edu/pub/faculty/mount/427/427lects.ps.gz
    • http://www.lcg.ufrj.br/~esperanc/CG/427lects.ps.gz
  • Apostila Fundamentos da Imagem Digital – Antonio Scuri
  • Computer Graphics: Principles and Practice, Second Edition. James Foley, Andries van Dam, Steven Feiner, John Hughes. Addison-Wesley.
  • OpenGL Programming Guide, 2nd Edition. Mason Woo, Jackie Neider, Tom Davis. Addison Wesley.
4
Bibliografia OpenGL
  • OpenGL® Programming Guide, 2nd Edition. Mason Woo, Jackie Neider, Tom Davis. Addison Wesley.
    • http://www.lcg.ufrj.br/redbook
  • Manual de referência online
    • http://www.lcg.ufrj.br/opengl
  • Sítio oficial do OpenGL
    • www.opengl.org


5
Paradigma dos 4 Universos
6
Paradigma dos 4 Universos
7
Imagens como Funções
8
Imagem - Modelo Matemático: Função
9
Imagem colorida
10
Imagem coloridas como 3 canais de cor
11
Imagem Digital
  • Amostragem, quantização e codificação
12
Imagem Digital: Histogramas
13
Histogramas de Imagem Colorida
14
Propriedades básicas de uma
Imagem Digital
15
Amostragem, quantização e codificação de f(x)
16
Amostragem, quantização e codificação de f(x)
17
Digitalização de Imagens
18
Resolução geométrica
  • Interpolação e Filtragem



      •                                           Resolução de Vídeos

19
Processos básicos
20
Problemas associados a re-amostragem de um sinal digital f(x)
21
Re-amostragem de f(x)
22
Freqüência de Amostragem
23
Quantização
24
Digitalização de Imagens
25
Codificação e armazenamento de Imagens
  • compressão e formatos de arquivos
26
Codificação
  •  Imagem no Universo de Codificação:
    •  Palette de cores
    •  RGBRGB
    •  RRGGBB
    •  Compressão
    •  formato PPM
    •  formato BMP
  • Obs: Imagens em formato raster (não vetorias)
27
Palette de Cores
28
RRGGBB
29
RRGGBB
30
RGBRGB
31
Compressão de imagens
  • Preserva exatamente o conteúdo da imagem
  • Taxas de compressão 3 : 1
  • Preserva de forma controlada o nível de qualidade da imagem
  • Taxas de compressão que chegam a valores de mais de 100 : 1
32
Métodos de compressão
  • Sem perdas
    • Run length encoding (RLE) - repetição
    • Huffman coding - histograma
    • Predictive coding - diferenças
    • Block coding (LZW) - dicionário
  • Com perdas
    • Truncation coding - reduz a representação
    • Predictive coding - descarta diferenças altas
    • Block coding - dicionário aproximado
    • Transform coding - descarta frequencias altas
33
Processo de compressão e descompressão
34
Fundamentos da Compressão de Imagens
  • codificação


  • entre pixels


  • psico-visual
35
Redundância entre pixels
36
Compressão - RLE
  • Objetivo
  • Reduzir a quantidade de dados redundantes.


  • Exemplo
  •     AAAAAAxxx 6A3x


  • Caracterísiticas
  • Simples e rápido, porém a eficiência depende da imagem a ser comprimida.
37
Run-Length Encoding
38
Codificação uniforme
39
Codificação de Huffman
40
Codificação de Huffman
41
Codificação de Huffman
42
Codificação de Huffman
43
Redundância de Codificação
44
Resultado da Teoria da Informação
45
Compressão do jpeg
46
Aplicações são tecnologicamente complexas - exemplo: algoritmo do JPEG
47
 
48
 
49
 
50
Equations for JPEG DCT
  • Forward DCT:





  • Inverse DCT:
51
Visualization of Basis Functions
52
Tipo Abstrato Imagem
53
Arquivos Targa RGBA
54
Formato PPM
55
Organização de pixels num array
no formato PPM (o mais simples)
56
Formato PPM
57
Formato PPM
58
Gravação em PPM
59
Leitura em PPM
60
Programa Simples
61
Arquivo BMP
62
Microsoft Windows Bitmap - BMP
  • Características Principais
    • Mono, 4-bit, 8-bit, 24-bit
    • Tipo de compressão: RLE / não comprimido
    • Tamanho máximo: 64K x 64K pixels
    • Seções (versão 3):
63
BMP - Header
  • typedef struct _Win3xBitmapHeader
  • {
  • WORD     Type;     /* Image file type 4D42h (“BM”)*/
  • DWORD  FileSize;        /* File size (bytes)          */
  • WORD     Reserved1;    /* Reserved (always 0)     */
  • WORD     Reserved2;    /* Reserved (always 0)     */
  • DWORD  Offset;            /* Offset to bitmap data  in bytes     */
  • } WIN3XHEAD;



64
BMP - Information Header
  • typedef struct _Win3xBitmapInfoHeader
  • {
  • DWORD  Size;              /*  Size of this Header  (40) */
  • DWORD  Width;            /*  Image width (pixels) */
  • DWORD  Height;            /*  Image height (pixels) */
  • WORD   Planes;            /*  Number of Planes (always=1) */
  • WORD   BitCount;              /*  Bits per pixel (1/4/8 or 24)*/
  • DWORD  Compression;      /*  Compression (0/1/2) */
  • DWORD  SizeImage;           /* Size of bitmap (bytes) */
  • DWORD  XPelsPerMeter;   /* Horz. resol.(pixels/m) */
  • DWORD  YPelsPerMeter;   /* Vert. resol.(pixels/m) */
  • DWORD  ClrUsed;               /* Num of colors in the image */
  • DWORD  ClrImportant;      /* Num of important colors   */
  • } WIN3XINFOHEADER;
65
BMP - Palette
  • typedef struct _Win3xPalette
  • {
  • RGBQUAD Palette[ ];  /* 2, 16, or 256 elem. */
  • } WIN3XPALETTE;



  • typedef struct _Win3xRgbQuad
  • {
  • BYTE   Blue; /* 8-bit blue component */
  • BYTE   Green; /* 8-bit green component */
  • BYTE   Red; /* 8-bit red component       */
  • BYTE   Reserved; /* Reserved (= 0) */
  • } RGBQUAD;
66
BMP - Image Data
  • Notas


    • Cada scan line em um arquivo BMP é sempre um múltiplo de 4.

    • Imagens com1-, 4-, e 8-bits usam uma palheta de cores.

    • Imagens com 24-bits guardam a cor diretamente, na ordem azul, verde e vermelho (RGBRGB).

    • O armazenamento da imagem é sempre feito a partir do canto esquerdo inferior.
67
Processamento de Imagens
  • Processamentos apenas no espaço das cores
68
Correção gama
69
Correção gama
70
Probabilidade
71
Mudança de variavel   y = f (x)
72
Equalização de Histograma
73
Equalização do histograma
74
Tons de cinza e negativo
75
Processamento de Imagens
  • Eliminação de ruídos e realce de arestas
76
Redução de ruídos
  • Dada uma imagem I com um ruído n, reduza n o máximo que puder (preferencialmente elimine n completamente) sem alterar significativamente I.
77
Dois tipos básicos de ruídos
  • Ruído Gaussiano branco : processo estocástico de média zero,  independente do tempo e dos espaço.
78
Dois tipos básicos de ruídos
  • Ruído impulsivo: causado por erro de transmissão, CCDs defeituosos, etc...
    Também chamado de pico e de sal e pimenta.
79
Exemplo de ruído Gaussiano ( s=5) e Impulsivo (l =0.99)
80
 
81
Imagem com ruído impulsivo
82
Sinal com ruído
83
Filtragem Gaussiana – Suavização
84
Filtro
  • Um filtro é um operador que atenua ou realça uma determinada freqüência
  • Fácil de visualizar no domínio da freqüência onde:


85
Tipos de Filtros
86
Imagem filtrada com um filtro passa baixa
87
Imagem filtrada com um filtro passa alta
88
Filtragem no domínio espacial
  • Filtragem no domínio espacial é obtida pela  convolution (e vice-versa).
89
Mascara ou Filtro
90
Discretização da Gaussiana 1D
91
Discretização da Gaussiana 2D
92
Separabilidade do filtro gaussiano
93
Transformada normalizada de Fourier
94
Transformada normalizada de Fourier: separação
95
Transformada normalizada de Fourier: Matriz H
96
 
97
 
98
 
99
 
100
Problemas com a Transformada de Fourier
101
Transformada de Mellin
102
Transformada de Mellin
103
Transformada de Mellin
104
Transformada de Mellin
105
 
106
Transformada de Mellin
107
Transformada de Mellin
108
Outros exemplos com o PaintShopProtm
109
Quantização de cores
110
A qualidade depende da imagem
111
Corte mediano
112
Corte mediano
113
Estudo de sinais digitais
  • Transformadas para o domínio da freqüencia
     Teorema de Nyquist e Alias
114
Harmônicos
115
Integrais de senos e cosenos em [-p,p]
116
Integrais de senos e cosenos em [-p,p]
117
Série de Fourier
118
Exemplo: Série de harmônicos
119
Série de Fourier:  cálculo de a0
120
Série de Fourier:  an e bn
121
Resumindo
122
Domínios
123
Coeficientes de funções pares e ímpares
124
Periodicidade da Série de Fourier
125
Números complexos
126
Operação básicas com complexos
127
Derivada de eiwt
128
Outras propriedades úteis
129
Outras propriedades úteis (2)
130
Outras propriedades úteis (2)
131
Outras propriedades úteis (3)
132
Amplitude e fase de complexos
133
Série de Fourier com números complexos
134
Escrevendo em complexos
135
Serie de Fourier de Sinais Discretos
136
Sinal discreto
137
 
138
 
139
 
140
Inversa da inversa
141
 
142
 
143
 
144
Transformada Discreta
145
Transformada Discreta de Fourier
146
Outro exemplo
147
Transformada
148
Eixo de freqüência
149
Tutorial com o Excel
150
Discrete Cosine Transformation (DCT)
151
 
152
Transformada de Fourier
153
Exemplo 1: Função caixa (box)
154
Transformada da função box
155
Distribuição normal: Gaussiana
156
Exemplo 2: Gaussiana
157
Transformada da Gaussiana
158
Exemplo 3: Delta de Dirac
159
Delta de Dirac de Gaussianas
160
Transformada do Delta de Dirac
161
Transformada do cosseno
162
Exemplo 4: Cosseno
163
Exemplo 5: Sequência de impulsos
164
Pares importantes
165
Propriedades da transformada
166
Convolução
167
Ilustação da convolução
168
Ilustração da convolução
169
An undersampled signal
170
Amostragem e Reconstrução
  • Observando os domínio do espaço e das freqüências
171
Sinal original
172
Amostragem
173
Sinal discretizado
174
Reconstrução
175
Retorno ao sinal original
176
Sinal original com mais altas freqüências
177
Mesma taxa de amostragem
178
Sinal amostrado
179
Teorema de Nyquist
180
Aliasing
  • Esta mistura de espectros é chamada de aliasing.
  • Existem duas maneiras de lidarmos com aliasing.


    • Passar um filtro passa-baixa no sinal.


    • Aumentar a freqüência de amostragem.


181
Alias