• Nenhum resultado encontrado

Processamento de Imagens e Fotografia Digital

N/A
N/A
Protected

Academic year: 2021

Share "Processamento de Imagens e Fotografia Digital"

Copied!
21
0
0

Texto

(1)

Processamento de Imagens e

Fotografia Digital

Images Alive: Manipulação de gradientes

Eric Jardim

ericjardim@gmail.com

IMPA - Instituto Nacional de Matemática Pura e Aplicada Prof. Luiz Velho

(2)

Tema: Images Alive

Com a popularização de aparelhos com dispositivos gráficos como celulares, handhelds, MP3 players e câmeras digitais, o conceito de “imagem” ou “foto” deixou de ser algo exclusivo para visualização em papel.

Com isso, existe a possibilidade de termos imagens mais “vivas”, sejam com pequenas animações de uma imagem ou cena original que dão um efeito de movimento, sem perder a qualidade de imagem.

É nesse limiar entre imagem, animação e aplicações interativas que reside o tema “Images Alive”.

(3)

Técnica escolhida

Edge Suppression by Gradient Field Transformation Using Cross-Projection Tensors, dos autores Amit

Agrawal, Ramesh Raskar e Rama Chellappa.

A técnica consiste em utilizar as informações dos

gradientes das imagens tiradas de uma mesma cena sob pequenas variações de iluminação ou com

pequenas alterações.

A partir de duas imagens, é possível gerar uma terceira que combina informações das duas.

(4)

Exemplos de uso da técnica

(5)

Exemplos de uso da técnica

(6)

Técnica e o tema

Problema: como amarrar o tema com a técnica escolhida?

Solução: transições suaves entre imagens resultantes e originais (dissove)

(7)

Técnica: definições

Modelo funcional

f : U ⊂ R2 → R3 = E

U = [a, b] × [c, d] = {(x, y) ∈ R2; a ≤ x ≤ b, c ≤ x ≤ d}

Representação matricial (discreta), associa um reticulado ∆ = (∆x, ∆y) ao domínio U

∆ = {(xj, yk) ∈ U ; xj = j∆x, yk = ∆yk}

j, k ∈ Z, ∆x, ∆y ∈ N}

O espaço de cor é representado por valores reais por cada canal utilizando ponto flutuante.

(8)

Técnica: definições

Podemos olhar a imagem como o gráfico de

(x, y, f (x, y)) (x, y) ∈ U

Vamos agora denotar a imagem por I = f (x, y)

Definimos o gradiente de I como

∇I = "

Ix Iy

#

Para estimarmos os valores de ∇I utilizamos diferenças finitas

(9)

Exemplo: gradiente

(10)

Técnica: definições

Vamos também definir o tensor de estrutura

suavizado por Gσ = (∇I∇IT) ∗ Kσ = " Ix2 IxIy IxIy Iy2 # ∗ Kσ

onde Kσ é núcleo gaussiano de variança σ

Mas como Gσ é positiva e simétrica

Gσ = ΛΣΛT = [ v1 v2 ] " λ1 0 0 λ2 # " v1T v2T #

podemos encontrar autovetores v1, v2 e seus

(11)

Exemplo: tensor de estrutura suavizado

(12)

Técnica: definições

Problema: queremos retirar bordas comuns de uma imagem e preservar as outras

Como fazer para remover uma borda de um gradiente de uma imagem?

Idéia: aplicar uma transformação afim para projetar o vetor na direção perpendicular à borda.

(13)

Tensor de projeção cruzada

A forma do tensor de projeção cruzada

D = [ u1 u2 ] " µ1 0 0 µ2 # " uT1 uT2 #

Utilizamos as informações do tensor de estrutura Gσ

de cada imagem, digamos A e B

Por convenção queremos:

◮ remover as bordas de A que estão em B

◮ preservar as bordas de A que não estão em B

Os valores µ1 e µ2 e os vetores u1 e u2 são baseados

(14)

Tensor de projeção cruzada

Vamos calcular o tensor de projeção cruzada

Utilizamos as direções dos autovetores de GBσ , ou seja, u1 = v1B e u2 = v2B

Temos então 3 situações:

◮ B é homogêneo (λB1 ≃ 0) e A tembém é (λA1 ≃ 0)

µ1 = 0, µ2 = 0

◮ B é homogêneo (λB1 ≃ 0) e A não é (λA1 > 0),

retém a borda

µ1 = 1, µ2 = 1

◮ B não é homogêneo (λB1 > 0), projeta na direção

(15)

Exemplos de uso

(16)

Inovações na técnica

Aplicar a transformação afim apenas a alguns canais para obter efeitos artísticos

(17)

Inovações na técnica

Vamos fazer o reverso da aplicação. Vamos inserir um objeto em outra cena

Primeiros utilizamos uma imagem de funda para retirar o objeto da frente

(18)
(19)

Inovações na técnica

Utilizamos as informações do tensor de estrutura para combinar imagens

Onde existem bordas da imagem da frente, zeramos (ou abaixamos) o gradiente do fundo

(20)

Sobre a implementação

O código foi reescrito na linguagem Python (os originais eram MatLab). Vantagens:

◮ Linguagem de alto nível com fácil aprendizado e

utilização

◮ Roda em diversas plataformas

◮ É livre, grátis (e não necessita obter uma cópia do

MatLab)

Foi utilizado Qt4 como toolkit, permitindo

parametrizar o algoritmo sem rescrever código.

Todo o código está liberado sobre licença livre.

Foram utilizadas rotinas numéricas de alto

(21)

Referências

Edge Suppression by Gradient Field Transformation Using Cross-Projection Tensors

www.cfar.umd.edu/~aagrawal/cvpr06/EdgeSuprresion.html Python www.python.org Qt www.trolltech.com Numpy e SciPy www.scipy.org

Referências

Documentos relacionados

Dentre as principais conclusões tiradas deste trabalho, destacam-se: a seqüência de mobilidade obtida para os metais pesados estudados: Mn2+>Zn2+>Cd2+>Cu2+>Pb2+>Cr3+; apesar dos

Larval immersion tests with ivermectin in populations of the cattle tick Rhipicephalus Boophilus microplus Acari: Ixodidae from State of São Paulo, Brazil.. In: Hayes WJ,

Com a apresentação deste cenário, a contribuição da investigação se valida em importância, visto que oferece uma via de acesso para o ensino de geociências contemplando a

Portanto, a intenção deste trabalho é buscar o conhecimento acerca dos aceleradores escolhidos para realização dos testes, comparando o seu desempenho, velocidade e

Este artigo descreve a atividade antiviral de dois extratos etanólicos de própolis de duas diferentes origens frente ao adenovírus canino tipo 2 CAV-2, calicivírus felino FCV e vírus

uma forma eficiente de realizar a interseção entre duas esferas e duas cascas esféricas no R 3 , desejamos investigar o efeito de acrescentarmos mais uma casca esférica extra

Após, consegui contrato pelo estado e fui trabalhar em São Vendelino, em um grupo escolar com um quinto ano, tendo 36 alunos, sendo que dois alunos eram mais

Consulte a Secção 11 para obter informações pormenorizadas sobre sintomas e efeitos na saúde.. Classificação conforme Regulamentação (EC) 1272/2008 [CLP/GHS] SECÇÃO