Pil e segmentacao automatica de vídeo

download Pil e segmentacao automatica de vídeo

If you can't read please download the document

Transcript of Pil e segmentacao automatica de vídeo

PIL(Python Imaging Library)

Implementa:Ferramentas para cortar, redimensionar e mesclar imagens.

Algoritmos de converso.

Filtros, tais como suavizar e detectar bordas.

Ajustes, incluindo brilho e contraste.

Operaes com paletas de cores.

Desenhos simples em 2D.

Rotinas para tratamento de imagens: equalizar,

deformar, inverter e outras.

Principais Mdulos:

Image: O mdulo Image define a classe para tratar imagens com vrios mtodos para modificar suas caractersticas.

ImageOps: O mdulo implementa vrias rotinas comuns deprocessamento.

ImageFilter: O mdulo oferece vrios filtros para tratamento de imagens.

Exemplos prticos

import Imageim = 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 Imagesize = (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 osimport 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 Imagefrom 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")

Segmentao de vdeos

Introduo:

A quantidade de contedos digitais produzidos sob a forma de vdeo teve um grande crescimento na ltima dcada. Os impulsos para este crescimento foram: o barateamento das cmeras digitais, a adio de cmeras digitais a dispositivos mveis como celulares, a popularidade do vdeo baseado na web, a adoo e a difuso de vdeo digital por parte da indstria como parte dos seus servios de distribuio, dentre outros. Como um nmero recorde de clips de vdeo so acrescentados diariamente em bibliotecas digitais pelo mundo, existe a necessidade de uma gesto de tal contedo por eficientes meios de armazenamento, de indexao e de recuperao da informao.

Estrutura de um vdeo

Tipos de transio.

Transies abruptas: As transies abruptas so os cortes, ou seja,duas tomadas so concatenadas semmodificaes ou criao de quadros entre elas. Esse o tipo mais simples de transio.

Fade Out : Um fade out um decrscimo gradual dos quadros de uma tomada at resultar em um quadro preto.

Fade In : Um fade In um acrscimo gradual de luminosidadedos quadros de uma tomada, comeando de um quadro pretoat se tornar em um quadro com luminosidade normal.

Tcnicas de segmentao de vdeo

Domnio espacial: comparao pixel a pixelA comparao direta entre os pixels correspondentes de dois quadros qi e qj foi uma das primeiras caractersticas exploradas na literatura.Infelizmente, tal mtrica incapaz de discernir entre uma pequena mudana em uma grande rea dos quadros e uma grande alterao em uma pequena rea, o que a torna muito sensvel movimentao de objetos e da cmera

Domnio espacial: blocosBuscando utilizar informao local para incrementar a robustez da mtrica em situaes de movimento, alguns autores substituiram a comparao entre pixels pela comparao de blocos de pixels, que dividem o quadro em regies retangulares de mesmas dimenses e sem sobreposio entre si.

Principal ponto deste algoritmo.

def calculateDiference(self, im1, im2):diference = 0image1 = im1.load()image2 = im2.load()width, height = im1.sizefor x in range(width):for y in range(height):if image1[x,y] != image2[x,y]:diference +=1return diference

Comparao de histogramas.

A cor de cada pixel de uma imagem produzida por uma combinao de cores primrias (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 so verificados os valores de brilho RGB. Os pixels que apresentarem valores iguais so contabilizados e distribudos em nveis 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 posio representa um nvel de RGB.

Cont...

Um corte detectado se a soma absoluta das diferenasentre dois quadros consecutivos for maior do que um limiar pr-estabelecido. A diferena de histogramas de dois frames consecutivos representada na equao abaixo.

D(n, n+1)=(|Hn Hn+1|)

Principal ponto deste algoritmo.

def calculateHistogramDiference( self, histogram1, histogram2 ):diferenceHistogram = 0for bin in range(0,256):diferenceHistogram = diferenceHistogram + (abs(histogram1[ bin ] - histogram2[ bin ]))return diferenceHistogram

Comparao local de histogramas.

Comparao entre as tcnicas baseadas em histogramas.

Domnio espacial de bordas/contorno.

Essa tcnica se baseia nos conceitos de pixels de borda entrante e pixel de borda ausente. Um pixel deborda entrante entre dois quadros n e n-1 um pixel(x; y) de borda de n que no possua um corres- pondente em uma vizinhana de n-1 (x; y). Simi- larmente, um pixel de borda ausente um pixel (x; y)de bordas de n-1 que no possua um correspondenteem uma vizinhana de n(x; y).

En-1En

Impose En to En-1

Not entering edge

En-1En

Impose En to En-1Not entering edgeEntering edge

imd1 = rgb2gray(im1);

Imd2 = rgb2gray(im2);

% black background image

bw1 = edge(imd1, 'sobel');

bw2 = edge(imd2, 'sobel');

% invert image to white background

ibw2 = 1-bw2;

ibw1 = 1-bw1;

s1 = size(find(bw1),1);

s2 = size(find(bw1),1);

% dilate

se = strel('square',3);

dbw1 = imdilate(bw1, se);

dbw2 = imdilate(bw2, se);

imIn = dbw1 & ibw2;

imOut = dbw2 & ibw1;

ECRIn = size(find(imIn),1)/s2;

ECROut = size(find(imOut),1)/s1;

ECR = max(ECRIn, ECROut);

As transies so definidas observando o comportamento das variveis apresentadas, elas se comportam da seguinte maneira:

Cortes: apresentam uma variao muito grande de pixels entrantes e ausentes.

Fade in: apresentam um aumento gradativo de pixels entrantes em um determinado perodo

Fade out: apresenta um aumento gradativo de pixels ausentes em um determinado perodo

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamalla

Toinen jsennystaso

Kolmas jsennystaso

Neljs jsennystaso

Viides jsennystaso

Kuudes jsennystaso

Seitsems jsennystaso

Kahdeksas jsennystaso

Yhdekss jsennystaso

Transies corretasPor bloco de histogramasPor histograma

video10.770.615

video211

video30.8750.875

video40.4250.285

video50.6840.73

video60.750.82

Falsas transiesPor bloco de histogramasPor histogramas

Vdeo100

Vdeo212

Vdeo301

Vdeo400

Vdeo500

Vdeo6121

Transies corretasPor bloco de histogramasPor histograma

video10.770.615

video211

video30.8750.875

video40.4250.285

video50.6840.73

video60.750.82

Falsas transiesPor bloco de histogramasPor histogramas

Vdeo100

Vdeo212

Vdeo301

Vdeo400

Vdeo500

Vdeo6121

Transies corretasPor bloco de histogramasPor histograma

video10.770.615

video211

video30.8750.875

video40.4250.285

video50.6840.73

video60.750.82

Falsas transiesPor bloco de histogramasPor histogramas

Vdeo100

Vdeo212

Vdeo301

Vdeo400

Vdeo500

Vdeo6121

Comparao geralPor bloco de histogramaspor histogramas

10.7480.657

200