View
149
Download
3
Category
Preview:
Citation preview
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
Recommended