computação grafica

37
COMPUTAÇÃO GRÁFICA Processamento de Imagens Prof. Delano Brandes Marques

description

rrrrr

Transcript of computação grafica

Page 1: computação grafica

COMPUTAÇÃO GRÁFICAProcessamento de ImagensProf. Delano Brandes Marques

Page 2: computação grafica

2

Processamento de Imagens

Esta subárea muitas vezes confundida com a própria computação gráfica, é responsável pela manipulação das imagens, modificando-as;

Possui inúmeras aplicações, dentre elas:

Tratamento e melhoria de imagens a fim de permitir a visualização de algum detalhe específico de interesse do usuário;

É aplicado junto à Medicina (tomografia), Biologia, Sistemas de Monitoração e Controle (segurança), Geologia, Sensoriamento Remoto (imagens de satélites), Meteorologia, Sistemas de Segurança (impressões digitais), Interpretação Automática de Textos, Visão Artificial, Robótica, Exploração Automatizada (sistemas anti-bombas, exploração submarina, mísseis teleguiados), etc.

Page 3: computação grafica

3

Definição de Imagem

Uma imagem é composta por um conjunto de pontos, denominados "Pixels" (Picture Elements) ou "Dots“;

Estes "pixels" estão dispostos na tela do computador formando uma matriz de pontos que é denominada de "Bit-Map" ou "Mapa de Bits“;

Uma determinada imagem possuirá também uma "resolução" associada a ela, que diz respeito ao número de elementos que esta imagem possui na horizontal e na vertical;

Cada elemento da imagem possuirá uma localização, que é definida pela suas coordenadas;

Page 4: computação grafica

4

Definição de Imagem

Page 5: computação grafica

5

Definição de Imagem

Além de uma localização, para cada ponto da matriz temos uma cor associada;

Resolução espacial da visão humana 3000 X 3000 pixels

A cor pode ser obtida de forma direta ou através de uma tabela de acesso indireto as cores denominada de “tabela de palette”;

Page 6: computação grafica

6

Definição de Cor

Um elemento de grande importância na criação de uma imagem é a sua cor;

A cor está relacionada especificamente a percepção visual do ser humano;

Sabe-se que existem animais que não enxergam as cores, portanto a noção de cor está relacionada ao sistema visual do homem;

Page 7: computação grafica

7

Definição de Cor

A noção de “COR” pode ser definida através da tri-stimulus theory, que de maneira simplificada diz:

O ser humano possui em seu sistema visual três tipos de sensores capazes de identificar três faixas diferentes de “espectros de energia”;

Estas faixas correspondem as tonalidades de Vermelho (Red), Verde (Green) e Azul (Blue);

Logo o ser humano vê na realidade a combinação resultante da mistura destas três cores básicas;

Page 8: computação grafica

8

Definição de Cor

O sistema de cores utilizado nos computadores é usualmente o sistema RGB (Red-Green-Blue);

O que ocorre, é um controle da intensidade da geração destas três cores básicas;

Ao definirmos uma determinada cor em um computador, o que estamos especificando na realidade é a intensidade (valor associado) aos emissores R, G e B;

Através de testes realizados com o ser humano chegou-se a conclusão que a utilização de 256 variações diferentes de intensidade em cada uma das cores básicas é capaz de gerar um número de cores superior a capacidade visual do ser humano, ou seja, fica praticamente impossível de distinguir entre duas cores "vizinhas“;

Page 9: computação grafica

9

Definição de C0or

No sistema RGB, o valor (0,0,0) equivale a cor preta com intensidade zero nas três componentes;

O valor (255,255,255) equivale a cor branca onde as três componentes estão presentes com a sua intensidade máxima;

As diferentes combinações entre RGB serão capazes de gerar qualquer tipo de cor, sendo que se as três componentes tiverem sempre valores exatamente iguais teremos definida uma escala de tons de cinza do preto ao branco, é a chamada “gray scale”;

Page 10: computação grafica

10

Definição de Cor

Existem outros sistemas como forma de representação de cores;

Estes sistemas que procuram se adaptar melhor a uma determinada aplicação ou função;

Exemplos os sistemas:

CMY – Cyan, Magenta e Yellow) HSV – Hue, Saturation e Value; HLS – Hue, Lightness e Saturation; YIQ – Usado na Televisão; CIE – Chromaticity Diagram;

Page 11: computação grafica

11

Classificação das Imagens

As imagens podem ser classificadas de acordo com dois critérios principais: quanto a origem:

Digitalizada; Sintetizada; Desenhada;

quanto ao tipo de informações que descrevem esta imagem: Monocromática (Preto e Branco / Gray Scale); Policromática (Tabela de Palette / True Color)

Page 12: computação grafica

12

Classificação Quanto a OrigemImagem Digitalizada é uma imagem que foi capturada do "mundo real“;

uma fotografia impressa ou uma cena de um filme que passa por um processo chamado digitalização onde esta imagem é codificada de forma digital e pode então ser armazenada na memória do computador descrita por um conjunto de pontos com as suas respectivas cores;

A imagem passa portanto a ser armazenada sob a forma de um conjunto de bits e bytes na memória do computador;

A digitalização pode ser realizada com o auxílio de um "scanner" ou de uma câmera de vídeo acoplada a uma placa de digitalização de imagens;

Page 13: computação grafica

13

Classificação Quanto a OrigemImagem Digitalizada

A câmera de vídeo possui a vantagem de poder capturar cenas tridimensionais, que obviamente são posteriormente transformadas em uma cena estática e plana dentro do computador;

Para se poder obter uma imagem em um computador através da câmera é necessário traduzir o sinal analógico de vídeo composto (NTSC, PAL-M, etc) em uma informação digital (pixels e suas respectivas cores), sendo esta tarefa é executada por um dispositivo de hardware especial denominado de "placa digitalizadora de vídeo“;

Page 14: computação grafica

14

Classificação Quanto a OrigemImagem Sintetizada É uma imagem que foi gerada automaticamente através de um

programa de computação gráfica específico de síntese de imagens;

Este tipo de imagem é obtida a partir de uma descrição criada por um processo denominado de modelagem, e após a modelagem (onde os elementos criados não são uma imagem propriamente dita, mas usualmente apenas dados descrevendo de uma forma matemática/geométrica os objetos), faz-se então a geração da imagem de forma automatizada;

O computador é que será o responsável pela geração de cada ponto da tela e pela determinação de que cor será associada e estes pontos;

Page 15: computação grafica

15

Classificação Quanto a OrigemImagem Sintetizada Uma imagem sintetizada é uma imagem criada pelo

computador, onde o usuário descreve esta imagem apenas através de parâmetros: seus componentes (objetos), definição de luz, cores, texturas, etc.;

Após definida a cena, o usuário gera a imagem correspondente, sem no entanto precisar desenhá-la;

O computador pode através de programas específicos gerar imagens bidimensionais ou tridimensionais, dando a elas características que dificilmente poderiam ser criadas "manualmente“;

Page 16: computação grafica

16

Classificação Quanto a OrigemImagem Sintetizada

A Impressão de uma imagem sintetizada não apresenta de maneira adequada todo o realismo presente na cena.

Page 17: computação grafica

17

Classificação Quanto a OrigemImagem Desenhada É uma imagem que é gerada "manualmente" por alguma

pessoa, onde o computador atua apenas como uma ferramenta que facilita o trabalho de criação de uma pintura;

Este tipo de imagem é como se fosse uma pintura criada com o auxílio do computador que vai simular o uso de uma tela de pintura e um pincel, através do emprego de um "software de pintura“;

O computador não gera nenhuma imagem, ele apenas transcreve as "ordens" do usuário para colocar determinadas cores em determinados pontos da tela;

Page 18: computação grafica

18

Classificação Quanto a OrigemImagem Desenhada O imagem desenhada é criada através do uso de um sistema de pintura, onde a

criação artística e noções de desenho são de grande importância para a criação da imagem final, pois o computador é um mero instrumento de trabalho usado para expressar a produção artística de uma pessoa;

Usualmente os desenhos serão todos bidimensionais, mas nada impede que o artista faça a perspectiva de um desenho, dando a impressão deste ser realmente tridimensional;

Page 19: computação grafica

19

Classificação Quanto ao tipo de informação que descreve a imagem De acordo com o tipo de informações que descrevem a cor

de cada ponto da imagem teremos diferentes classes de imagens, sendo classificadas nos seguintes grupos:

Imagem Monocromática – Preto e Branco (B&W): Neste tipo de imagem cada ponto possui associada uma

informação de aceso/apagado, ou, ligado/desligado (1 bit/pixel);

Imagem Monocromática – Tonalidades de cinza (Gray Scale): Neste tipo de imagem cada ponto possui um valor associado que

indica uma intensidade de luminosidade entre o preto e o branco;

Page 20: computação grafica

20

Classificação Quanto ao tipo de informação que descreve a imagem Imagem Policromática com Tabela de Palette:

Imagem onde temos um acesso indireto a cor real de cada ponto. A imagem é colorida com o uso da tabela palette;

Imagem Policromática Multiespectral (Imagem Truecolor - RGB – 24/32 bits):

Imagem colorida formada com algum sistema de cores.

Ex.: RGB - pela composição dos três componentes básicos Vermelho (Red), Verde (Green) e Azul (Blue)

24 bits/pixel – 16 milhões de cores; 32 bits/pixel – 4 bilhões de cores;

Page 21: computação grafica

21

Tabela de Palette

A tabela de palette serve para possibilitar o acesso a um grande número cores em um dispositivo com características gráficas limitadas;

O princípio de funcionamento da tabela de palette é o de que na maioria das situações o usuário não precisa utilizar todo o conjunto de cores disponíveis em termos de hardware de uma forma simultânea;

Para podermos obter todas as cores possíveis de serem distinguidas pelo ser humano teremos um conjunto de aproximadamente 16 milhões de cores (24 bits/pixel);

Supondo uma tela de 640 x 480 pixels, uma imagem gerada para este dispositivo terá um total de 307.200 pixels, e se for utilizado um sistema com 24 bits/pixel isto resulta em 900Kbytes de memória para armazenar apenas uma imagem;

Imagine o processamento necessário para gerar e manipular cada uma destas imagens de 900Kbytes...

Page 22: computação grafica

22

Tabela de Palette

Como a maioria das imagens não utiliza simultaneamente todas as 16 milhões de cores, uma solução extremamente prática é a criação de um subconjunto de cores que passará então a ser utilizado para cada imagem;

Desta forma uma imagem será composta por uma tabela de cores que descreve quais das 16 milhões de cores estão em uso atualmente, e pela imagem propriamente dita que faz apenas uma referência a tabela de cores selecionada (usando menos de 24 bits para armazenar um pixel);

Existem tabelas de palette de diferentes tamanhos, sendo as mais comuns de 16, 64 e 256 cores, ocupando 4, 6 ou 8 bits para cada pixel;

Uma tabela de palette de 256 cores permite portanto que sejam selecionadas 256 cores do total de 16 milhões que passarão a ser exibidas na tela, e neste caso não podemos nunca ter um número superior a 256 cores diferentes sendo exibidas simultaneamente na tela;

Page 23: computação grafica

23

Tabela de Palette

2

255 00

255 255255

0 00

0 0255

0 2550

0 1 3

4

Page 24: computação grafica

24

Tabela de Palette

É interessante salientar que ao alterarmos a tabela de palette de cores de uma imagem, o desenho ("as formas") desta imagem permanece, mas todos os pontos que estavam desenhados na cor anteriormente especificada passarão a ser desenhados na nova cor alterada na tabela de palette;

A técnica de alteração da tabela de palette é muito utilizada para se criar um tipo de "falsa animação", onde é feita apenas a modificação da tabela de cores do desenho criando uma impressão de movimento de cores;

Page 25: computação grafica

25

Imagem monocromática

Page 26: computação grafica

26

Gray-scale

Page 27: computação grafica

27

Imagem 8-bit

Page 28: computação grafica

28

Imagem True Color 24-Bit

Page 29: computação grafica

29

Profundidade de Cor Os primeiros scanners que surgiram somente distinguiam cores em tons de

cinza;

Quando uma imagem é escaneada, o aparelho o faz pixel a pixel;

Para cada um desses pixels, o scanner atribui uma determinada quantidade de bits;

Quanto maior for o valor de cada pixel, maior será a qualidade da imagem digitalizada;

Os scanners "pioneiros" somente atribuíam um bit por pixel, o que somente permitia trabalhar com preto e branco;

A maioria dos scanners atuais usam pelo menos 24 bits para representar as cores possíveis de um pixel;

O número de bits usados para representar as cores de um pixel é chamado de profundidade de cor;

Page 30: computação grafica

30

Tamanho de uma imagem

Ao ser digitalizada a imagem assume um tamanho adimensional, em pixels;

Mas, pode-se conhecer uma medida de qualidade da amostragem, conhecendo-se a razão entre o número de pixels obtido e o tamanho da imagem real;

Resolução??? 800X600 ou 1200DPI ???

Em geral, é medida em pontos por polegada ou DPI (dots per inch), mas pode ser também em pontos por centímetro ou DPC, ou ainda em qualquer outra unidade equivalente;

Relação: número de pixels = resolução x tamanho real

Page 31: computação grafica

31

Tamanho de uma Imagem

1 polegada = 2,54 cm

Nº de pixels no sentido horizontal PL = largura x resolução / 2,54

Nº de pixels no sentido vertical PV = altura x resolução / 2,54

Número Total de Pixels Nº de pixels = PL X PV

Tamanho ocupado na memória Tamanho = Número Total de Pixels X Profundidade de Cor

Page 32: computação grafica

32

Tamanho de uma Imagem

Page 33: computação grafica

33

Armazenamento de Imagens

Um item muito importante a ser abordado é o armazenamento de imagens;

Há uma necessidade de se criar padrões de armazenamento de imagens de forma que possamos realizar o intercâmbio de imagens entre diferentes sistemas;

Outro fator importante é a codificação das imagens, uma vez que estas normalmente ocupam muito espaço de memória e disco e necessitam do emprego de alguma forma de compressão de dados para o seu armazenamento;

Page 34: computação grafica

34

Armazenamento de ImagensFormatos de Arquivos de Imagens Existem diferentes formatos de arquivos para o armazenamento

de imagens, uma vez que temos várias classes de diferentes de representações de imagens;

O armazenamento da imagem envolve basicamente três elementos principais: forma como a imagem está representada; o tipo de compactação empregado; cabeçalho contendo as informações a cerca desta imagem

(resolução, nº de cores, classe da imagem, palette, compactação, etc);

Um mesmo tipo de arquivo pode inclusive permitir o armazenamento de diferentes classes de imagens e também permitir a utilização de vários métodos de compactação;

Page 35: computação grafica

35

Armazenamento de ImagensFormatos de Arquivos de Imagens Alguns dos formatos de arquivos de imagens largamente

utilizados na atualidade são:

BMP: Bitmap usado no PaintBrush, CorelDraw, (Windows); PCX: PiCture eXchange; GIF: Graphics Interchange Format; TGA: Truevision Targa Graphic; TIFF: Tag Image File Format; Outros: PBM, IFF, HP PCL, PIC, JPG,...

Page 36: computação grafica

36

Armazenamento de ImagensCompressão de Imagens Uma imagem pode ocupar muito espaço em memória ou disco, por isso

é bastante comum na computação o emprego de técnicas de compactação de dados;

As técnicas de compactação de dados, de uma forma geral, buscam se aproveitar de uma possível repetição de informações para reduzir o tamanho do arquivo através de sua recodificação de forma otimizada;

Os métodos de compactação de imagens mais utilizados são:

RLE: Run-Length Encoding. Compacta repetições seguidas de pixels iguais;

LZW: Lempel-Ziv-Welch. Algoritmo com alto grau de compactação;

JPEG: Joint Photographic Experts Group;

Page 37: computação grafica

37

Armazenamento de ImagensCompressão de Imagens

Exemplo de compactação RLE