SlideShare uma empresa Scribd logo
1 de 28
PIL (Python Imaging Library)
Implementa: Ferramentas para cortar, redimensionar e mesclar imagens. Algoritmos de conversão. Filtros, tais como suavizar e detectar bordas. Ajustes, incluindo brilho e contraste. Operações com paletas de cores. Desenhos simples em 2D. Rotinas para tratamento de imagens: equalizar, deformar, inverter e outras.
Principais Módulos: Image:  O módulo Image define a classe para tratar imagens com vários métodos para modificar suas características. ImageOps : O módulo implementa várias rotinas comuns de processamento. ImageFilter:  O módulo oferece vários filtros para tratamento de imagens.
Exemplos práticos
import Image im = Image.open("linux.jpg") print im.format, im.size, im.mode isto irá retornar: ((250, 250), 'JPEG', 'RGB') Obtendo dados da imagem
Redimensionando imagens: import Image size = (250, 320)  image = Image.open("linux.jpg") image.thumbnail(size) image.save('linux' + str(size), 'JPEG') Isto irá retornar uma imagem de tamanho 250,230 do arquivo linux.jpg
import os import Image cwd = os.getcwd() for arquivo in os.listdir(cwd/imagens): if arquivo.endswith('.JPEG'): im = Image.open(arquivo) nome = arquivo.split('.')[0] im.save(nome, "BMP") Convertendo uma pasta inteira:
filtros: import Image from ImageFilter import * image = Image.open("linux.jpg") for filtro in (BLUR, CONTOUR, DETAIL, EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN): im = image.filter(filtro) im.save("linux" + str(filtro), "JPEG")
Segmentação de vídeos
Introdução: A quantidade de conteúdos digitais produzidos sob a forma de vídeo teve um grande crescimento na última década. Os impulsos para este crescimento foram: o barateamento das câmeras digitais, a adição de câmeras digitais a dispositivos móveis como celulares, a popularidade do vídeo baseado na web, a adoção e a difusão de vídeo digital por parte da indústria como parte dos seus serviços de distribuição, dentre outros. Como um número recorde de clips de vídeo são acrescentados diariamente em bibliotecas digitais pelo mundo, existe a necessidade de uma gestão de tal conteúdo por eficientes meios de armazenamento, de indexação e de recuperação da informação.
Estrutura de um vídeo
Tipos de transição.
Transições abruptas:  As transições abruptas são os  cortes, ou seja,duas tomadas são concatenadas sem modificações ou criação de quadros entre elas. Esse é o tipo mais simples de transição.
Fade Out  :   Um fade out é um decréscimo gradual dos quadros de uma tomada até resultar em um quadro preto.
Fade In  :   Um fade In é um acréscimo gradual de luminosidade dos quadros de uma tomada, começando de um quadro preto até se tornar em um quadro com luminosidade normal.
Técnicas de segmentação de vídeo
Domínio espacial: comparação pixel a pixel A comparação direta entre os pixels correspondentes de dois quadros qi e qj foi uma das primeiras características exploradas na literatura. Infelizmente, tal métrica é incapaz de discernir entre uma pequena mudança em uma grande área dos quadros e uma grande alteração em uma pequena área, o que a torna muito sensível à movimentação de objetos e da câmera
Domínio espacial: blocos Buscando utilizar informação local para incrementar a robustez da métrica em situações de movimento, alguns autores substituiram a comparação entre pixels pela comparação de blocos de pixels, que dividem o quadro em regiões retangulares de mesmas dimensões e sem sobreposição entre si.
Principal ponto deste algoritmo. def calculateDiference(self, im1, im2): diference = 0 image1 = im1.load() image2 = im2.load() width, height = im1.size for x in range(width): for y in range(height): if image1[x,y] != image2[x,y]: diference +=1 return diference
Comparação de histogramas. A cor de cada pixel de uma imagem é produzida por uma combinação de cores primárias (vermelho, verde e azul, ou RGB).Cada uma dessas cores pode ter um brilho que varia de 0 a 255 em uma imagem digital. Um histograma RGB é produzido quando um computador analisa uma imagem e para cada pixel são verificados os valores de brilho RGB. Os pixels que apresentarem valores iguais são contabilizados e distribuídos em níveis de 0 a 255 de acordo com o valor de RGB do pixel. Computacionalmente a estrutura anteriormente é represen- tada por meio de um vetor onde cada posição representa um nível de RGB.
Cont... Um corte é detectado se a soma absoluta das diferenças entre dois quadros consecutivos for maior do que um limiar pré-estabelecido. A diferença de histogramas de dois frames consecutivos é representada na equação abaixo. D(n, n+1)=Ʃ(|Hn – Hn+1|)
Principal ponto deste algoritmo. def calculateHistogramDiference( self, histogram1, histogram2 ): diferenceHistogram = 0 for bin in range(0,256): diferenceHistogram = diferenceHistogram + (abs(histogram1[ bin ] - histogram2[ bin ])) return diferenceHistogram
Comparação local de histogramas.
Comparação entre as técnicas baseadas em histogramas.
Domínio espacial de bordas/contorno. Essa  técnica  se  baseia  nos  conceitos de  pixels  d e  borda entrante  e  pixel  de  borda  ausente. Um  pixel  de borda  entrante  entre  dois  quadros n e n-1 é um  pixel (x; y)  de  borda  de  n  que  não  possua  um  corres-  pondente  em  uma  vizinhança  de  n-1  (x; y). Simi-  larmente, um pixel de borda  ausente  é  um  pixel  (x; y) de  bordas de n-1  que  não  possua  um correspondente em uma vizinhança de n(x; y).
Not entering edge Not entering edge Entering edge E n-1 E n Impose E n  to E n-1 E n-1 E n Impose E n  to E n-1
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
As transições são definidas observando o comportamento das variáveis apresentadas, elas se comportam da seguinte maneira: Cortes : apresentam uma variação muito grande de pixels entrantes e ausentes. Fade in:  apresentam um aumento gradativo de pixels entrantes em um determinado período Fade out:  apresenta um aumento gradativo de pixels ausentes em um determinado período

Mais conteúdo relacionado

Mais procurados

Traçado em dispositivos gráficos matriciais Parte 1
Traçado em dispositivos gráficos matriciais Parte 1Traçado em dispositivos gráficos matriciais Parte 1
Traçado em dispositivos gráficos matriciais Parte 1Elaine Cecília Gatto
 
Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...
Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...
Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...Hamilton Sena
 
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte II
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte IIAula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte II
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte IIGuilherme Nonino Rosa
 
Aula19 visibilidade
Aula19 visibilidadeAula19 visibilidade
Aula19 visibilidadePaulo Rijo
 
Utilizacaodosistemamultimedia 2
Utilizacaodosistemamultimedia 2Utilizacaodosistemamultimedia 2
Utilizacaodosistemamultimedia 2Pelo Siro
 
Relacoes e funcoes_apostila
Relacoes e funcoes_apostilaRelacoes e funcoes_apostila
Relacoes e funcoes_apostilaThalles Anderson
 
Relações e funções
Relações e funçõesRelações e funções
Relações e funções48470490206
 

Mais procurados (8)

Traçado em dispositivos gráficos matriciais Parte 1
Traçado em dispositivos gráficos matriciais Parte 1Traçado em dispositivos gráficos matriciais Parte 1
Traçado em dispositivos gráficos matriciais Parte 1
 
Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...
Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...
Apresentação - CONTROLE ROBÓTICO REFERENCIADO POR SISTEMA DE VISÃO COMPUTACIO...
 
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte II
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte IIAula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte II
Aula 9 - Sistemas e Aplicações Multimídias - A Terceira Dimensão - parte II
 
Aula19 visibilidade
Aula19 visibilidadeAula19 visibilidade
Aula19 visibilidade
 
Aula 7 sam - desenhos
Aula 7   sam - desenhosAula 7   sam - desenhos
Aula 7 sam - desenhos
 
Utilizacaodosistemamultimedia 2
Utilizacaodosistemamultimedia 2Utilizacaodosistemamultimedia 2
Utilizacaodosistemamultimedia 2
 
Relacoes e funcoes_apostila
Relacoes e funcoes_apostilaRelacoes e funcoes_apostila
Relacoes e funcoes_apostila
 
Relações e funções
Relações e funçõesRelações e funções
Relações e funções
 

Semelhante a Pil e segmentacao automatica de vídeo

Desktop publishing
Desktop publishingDesktop publishing
Desktop publishingUNESP
 
Aula 09 imagens vetoriais
Aula 09   imagens vetoriaisAula 09   imagens vetoriais
Aula 09 imagens vetoriaisFábio Costa
 
Atividade de web design
Atividade de web designAtividade de web design
Atividade de web designViniciusGuedes
 
Atividade De Web Design
Atividade De Web DesignAtividade De Web Design
Atividade De Web DesignViniciusGuedes
 
Atividade de web design
Atividade de web designAtividade de web design
Atividade de web designViniciusGuedes
 
Informática Aplicada - Introdução
Informática Aplicada - IntroduçãoInformática Aplicada - Introdução
Informática Aplicada - IntroduçãoMarcio Duarte
 
Imagem digital-www-radiologiaeinovacao-com-br
Imagem digital-www-radiologiaeinovacao-com-brImagem digital-www-radiologiaeinovacao-com-br
Imagem digital-www-radiologiaeinovacao-com-brAna Paula Moura
 
Multimidia na educação
Multimidia na educaçãoMultimidia na educação
Multimidia na educaçãosergioborgato
 
Computação Gráfica - Introdução
Computação Gráfica - IntroduçãoComputação Gráfica - Introdução
Computação Gráfica - IntroduçãoDaniel Soto
 
Glossário imagens digitais
Glossário imagens digitaisGlossário imagens digitais
Glossário imagens digitaisluclafox
 
Atividade de web design
Atividade de web designAtividade de web design
Atividade de web designvictorgarcez
 
Imagem Digital
Imagem DigitalImagem Digital
Imagem Digitalschool
 
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...PotiLivre Sobrenome
 

Semelhante a Pil e segmentacao automatica de vídeo (20)

Desktop publishing
Desktop publishingDesktop publishing
Desktop publishing
 
Aula 09 imagens vetoriais
Aula 09   imagens vetoriaisAula 09   imagens vetoriais
Aula 09 imagens vetoriais
 
RADIOLOGIA DIGITAL
RADIOLOGIA DIGITALRADIOLOGIA DIGITAL
RADIOLOGIA DIGITAL
 
Atividade de web design
Atividade de web designAtividade de web design
Atividade de web design
 
Atividade De Web Design
Atividade De Web DesignAtividade De Web Design
Atividade De Web Design
 
Atividade de web design
Atividade de web designAtividade de web design
Atividade de web design
 
Slide blog
Slide blogSlide blog
Slide blog
 
Slide blog
Slide blogSlide blog
Slide blog
 
Informática Aplicada - Introdução
Informática Aplicada - IntroduçãoInformática Aplicada - Introdução
Informática Aplicada - Introdução
 
Bitmap x Vetor
Bitmap x VetorBitmap x Vetor
Bitmap x Vetor
 
Imagens
ImagensImagens
Imagens
 
Imagem digital-www-radiologiaeinovacao-com-br
Imagem digital-www-radiologiaeinovacao-com-brImagem digital-www-radiologiaeinovacao-com-br
Imagem digital-www-radiologiaeinovacao-com-br
 
Multimidia na educação
Multimidia na educaçãoMultimidia na educação
Multimidia na educação
 
Apostila photoshop 7
Apostila photoshop 7 Apostila photoshop 7
Apostila photoshop 7
 
Computação Gráfica - Introdução
Computação Gráfica - IntroduçãoComputação Gráfica - Introdução
Computação Gráfica - Introdução
 
Glossário imagens digitais
Glossário imagens digitaisGlossário imagens digitais
Glossário imagens digitais
 
Atividade de web design
Atividade de web designAtividade de web design
Atividade de web design
 
05 imagem digital
05   imagem digital05   imagem digital
05 imagem digital
 
Imagem Digital
Imagem DigitalImagem Digital
Imagem Digital
 
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
Processamento digital de imagens com gnu octave jotacisio araujo oliveira fli...
 

Pil e segmentacao automatica de vídeo

  • 2. Implementa: Ferramentas para cortar, redimensionar e mesclar imagens. Algoritmos de conversão. Filtros, tais como suavizar e detectar bordas. Ajustes, incluindo brilho e contraste. Operações com paletas de cores. Desenhos simples em 2D. Rotinas para tratamento de imagens: equalizar, deformar, inverter e outras.
  • 3. Principais Módulos: Image: O módulo Image define a classe para tratar imagens com vários métodos para modificar suas características. ImageOps : O módulo implementa várias rotinas comuns de processamento. ImageFilter: O módulo oferece vários filtros para tratamento de imagens.
  • 5. import Image im = Image.open("linux.jpg") print im.format, im.size, im.mode isto irá retornar: ((250, 250), 'JPEG', 'RGB') Obtendo dados da imagem
  • 6. Redimensionando imagens: import Image size = (250, 320) image = Image.open("linux.jpg") image.thumbnail(size) image.save('linux' + str(size), 'JPEG') Isto irá retornar uma imagem de tamanho 250,230 do arquivo linux.jpg
  • 7. import os import Image cwd = os.getcwd() for arquivo in os.listdir(cwd/imagens): if arquivo.endswith('.JPEG'): im = Image.open(arquivo) nome = arquivo.split('.')[0] im.save(nome, "BMP") Convertendo uma pasta inteira:
  • 8. filtros: import Image from ImageFilter import * image = Image.open("linux.jpg") for filtro in (BLUR, CONTOUR, DETAIL, EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN): im = image.filter(filtro) im.save("linux" + str(filtro), "JPEG")
  • 10. Introdução: A quantidade de conteúdos digitais produzidos sob a forma de vídeo teve um grande crescimento na última década. Os impulsos para este crescimento foram: o barateamento das câmeras digitais, a adição de câmeras digitais a dispositivos móveis como celulares, a popularidade do vídeo baseado na web, a adoção e a difusão de vídeo digital por parte da indústria como parte dos seus serviços de distribuição, dentre outros. Como um número recorde de clips de vídeo são acrescentados diariamente em bibliotecas digitais pelo mundo, existe a necessidade de uma gestão de tal conteúdo por eficientes meios de armazenamento, de indexação e de recuperação da informação.
  • 11. Estrutura de um vídeo
  • 13. Transições abruptas: As transições abruptas são os cortes, ou seja,duas tomadas são concatenadas sem modificações ou criação de quadros entre elas. Esse é o tipo mais simples de transição.
  • 14. Fade Out : Um fade out é um decréscimo gradual dos quadros de uma tomada até resultar em um quadro preto.
  • 15. Fade In : Um fade In é um acréscimo gradual de luminosidade dos quadros de uma tomada, começando de um quadro preto até se tornar em um quadro com luminosidade normal.
  • 17. Domínio espacial: comparação pixel a pixel A comparação direta entre os pixels correspondentes de dois quadros qi e qj foi uma das primeiras características exploradas na literatura. Infelizmente, tal métrica é incapaz de discernir entre uma pequena mudança em uma grande área dos quadros e uma grande alteração em uma pequena área, o que a torna muito sensível à movimentação de objetos e da câmera
  • 18. Domínio espacial: blocos Buscando utilizar informação local para incrementar a robustez da métrica em situações de movimento, alguns autores substituiram a comparação entre pixels pela comparação de blocos de pixels, que dividem o quadro em regiões retangulares de mesmas dimensões e sem sobreposição entre si.
  • 19. Principal ponto deste algoritmo. def calculateDiference(self, im1, im2): diference = 0 image1 = im1.load() image2 = im2.load() width, height = im1.size for x in range(width): for y in range(height): if image1[x,y] != image2[x,y]: diference +=1 return diference
  • 20. Comparação de histogramas. A cor de cada pixel de uma imagem é produzida por uma combinação de cores primárias (vermelho, verde e azul, ou RGB).Cada uma dessas cores pode ter um brilho que varia de 0 a 255 em uma imagem digital. Um histograma RGB é produzido quando um computador analisa uma imagem e para cada pixel são verificados os valores de brilho RGB. Os pixels que apresentarem valores iguais são contabilizados e distribuídos em níveis de 0 a 255 de acordo com o valor de RGB do pixel. Computacionalmente a estrutura anteriormente é represen- tada por meio de um vetor onde cada posição representa um nível de RGB.
  • 21. Cont... Um corte é detectado se a soma absoluta das diferenças entre dois quadros consecutivos for maior do que um limiar pré-estabelecido. A diferença de histogramas de dois frames consecutivos é representada na equação abaixo. D(n, n+1)=Ʃ(|Hn – Hn+1|)
  • 22. Principal ponto deste algoritmo. def calculateHistogramDiference( self, histogram1, histogram2 ): diferenceHistogram = 0 for bin in range(0,256): diferenceHistogram = diferenceHistogram + (abs(histogram1[ bin ] - histogram2[ bin ])) return diferenceHistogram
  • 23. Comparação local de histogramas.
  • 24. Comparação entre as técnicas baseadas em histogramas.
  • 25. Domínio espacial de bordas/contorno. Essa técnica se baseia nos conceitos de pixels d e borda entrante e pixel de borda ausente. Um pixel de borda entrante entre dois quadros n e n-1 é um pixel (x; y) de borda de n que não possua um corres- pondente em uma vizinhança de n-1 (x; y). Simi- larmente, um pixel de borda ausente é um pixel (x; y) de bordas de n-1 que não possua um correspondente em uma vizinhança de n(x; y).
  • 26. Not entering edge Not entering edge Entering edge E n-1 E n Impose E n to E n-1 E n-1 E n Impose E n to E n-1
  • 27.
  • 28. As transições são definidas observando o comportamento das variáveis apresentadas, elas se comportam da seguinte maneira: Cortes : apresentam uma variação muito grande de pixels entrantes e ausentes. Fade in: apresentam um aumento gradativo de pixels entrantes em um determinado período Fade out: apresenta um aumento gradativo de pixels ausentes em um determinado período