Operações Geométricas com Imagens



Documentos relacionados
Operações Geométricas com Imagens

Thales Trigo. Formatos de arquivos digitais

Mídia Impressa X Mídia Eletrônica

Introdução ao Octave + Pacote de Processamento de Imagens

Processamento de Imagens Digitais

Imagem digital 2. Resolução x dimensão da imagem

Aula 2 Aquisição de Imagens

Redução de imagem no domínio espacial

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens

Fotografia Digital Obtenção da Imagem e Impressão

Quais as diferenças entre os formatos de imagem PNG, JPG, GIF, SVG e BMP?

Atividade: matrizes e imagens digitais

APLICATIVOS GRÁFICOS (AULA 3)

Técnicas de Cartografia Digital

APLICATIVOS GRÁFICOS (AULA 4)

Tamanho e resolução da imagem

GUIA PADRONIZAÇÃO DE IMAGENS NO INDICADOR CRM

Aula 6 Fundamentos da fotografia digital

Imagem digital - 1. A natureza da imagem fotográfica. A natureza da imagem fotográfica

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira

Manual de implantação

ferramentas da imagem digital

Processamento de Imagens com MATLAB

Sidnei Costa Souza RESOLUÇÃO

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Tratamento fotográfico básico

Expansão de Imagem #2

Álgebra Linear I Solução da 5ª Lista de Exercícios

6. Geometria, Primitivas e Transformações 3D

Desenho e Apresentação de Imagens por Computador

Como enviar fotos de câmeras digitais

4 - Layout de Mapas no QGIS 2.0

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

Trabalho Prático n. 2

ARTIGO. O que tem o melhor zoom: 18x ou 36x?

Introdução ao Processamento de Imagens

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens

FILTRAGEM NO DOMÍNIO DAS FREQUÊNCIAS (TRANSFORMADA DE FOURIER) Daniel C. Zanotta 04/06/2015

Nosso objetivo será mostrar como obter informações qualitativas sobre a refração da luz em um sistema óptico cilíndrico.

Vivaldo Armelin Júnior

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

Manual de Utilização do Software de Leitura de Bitmap. Rev. 1.01

Fotografia digital. Aspectos técnicos

Imagem e Gráficos. vetorial ou raster?

AULA 5 Manipulando Dados Matriciais: Grades e Imagens. 5.1 Importando Grades e Imagens Interface Simplificada

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 16

Design para internet. Resolução. - No Design Gráfico quanto maior o DPI melhor. - Na web não é bem assim.

REPRESENTAÇÃO DA IMAGEM DIGITAL

Que imagens têm ou não têm simetria?

SISTEMAS DE UNIDADES DO COMPUTADOR

2.1.2 Definição Matemática de Imagem

Imagem digital. Unidade 3

Figura 1: Formato matricial de uma imagem retangular. Figura 2: Ampliação dos pixels de uma imagem

Introdução ao processamento de imagens e OCTAVE. Julio C. S. Jacques Junior juliojj@gmail.com

Introdução à Computação

Scale-Invariant Feature Transform

Passo 3: Posicionando a Câmera na Prova Didática Teórica ou na Prova de Defesa da Produção Intelectual

Fotografia digital. Origens da foto digital

COMPUTAÇÃO GRÁFICA. Rasterização e Preenchimento de Regiões. MARCO ANTONIO GARCIA DE CARVALHO Fevereiro de Computação Gráfica

Fotografia Digital. Aula 1

Aula 3 - Registro de Imagem

COMPUTAÇÃO GRÁFICA RESOLUÇÃO

UNIVERSIDADE DO EXTREMO SUL CATARINENSE. Correção geométrica de imagens

Aula 3 - Registro de Imagem

Guia de qualidade de cores

III CONCURSO DE FOTOGRAFIA FAE

Medição tridimensional

Informática Aplicada a Radiologia

Modelagem Digital do Terreno

Linhas de Orientação de Media. GS1 Portugal. Sync PT Linhas de Orientação de Media 1

Manual de Conversão para PDF Envio de Arquivos ao Diário Oficial

Rotação e Interpolação

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE: SÃO CAETANO DO SUL - SP - CEP

GUIA PRÁTICO PARA EDIÇÃO DE FOTOS E IMAGENS

Cálculo de volume de objetos utilizando câmeras RGB-D

AULA 5 Manipulando Dados Matriciais: Grades e Imagens. 5.1 Importando Grades e Imagens Interface Simplificada

Processamento digital de imagens. introdução

Guia de Estudo Criação de Apresentações Microsoft PowerPoint

Bem-vindo ao CorelDRAW, um programa abrangente de desenho e design gráfico baseado em vetor para o profissional gráfico.

Tratamento de Imagens

Informática Básica para o PIBID

COMO PREPARAR/ENVIAR SEU ARQUIVO PARA IMPRESSÃO EM COREL DRAW E PHOTOSHOP

Manual PAINT.NET de imagens

Assine e coloque seu número de inscrição no quadro abaixo. Preencha, com traços firmes, o espaço reservado a cada opção na folha de resposta.

Gerenciamento de cor. 7.2 Calibração do scanner utilizando a calibração IT8 de SilverFast

Óptica. Estudo da luz, como sendo a onda eletromagnética pertencentes à faixa do espectro visível (comprimento de 400 nm até 700 nm).

WEB DESIGN ELEMENTOS GRÁFICOS

SAJ. Cadastro Excepcional para Processos Digitais

APLICAÇÕES DA DERIVADA

Workshop Processing: Visualização de Dados e Interatividade

CorelDRAW UM PROGRAMA DE DESIGN

URL para teste

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha

a 1 x a n x n = b,

SIMETRIA DE TRANSLAÇÃO

Módulo 3 Amostragem de Imagens Sistema Multimédia Ana Tomé José Vieira

Transcrição:

Introdução ao PID Processamento de Imagens Digitais Operações Geométricas com Imagens Glaucius Décio Duarte Instituto Federal Sul-rio-grandense : Campus Pelotas Engenharia Elétrica Atualizado em 17mar2015 1 de 7

1. Transformações Geométricas com Imagens As transformações geométricas modificam a relação espacial entre os pixels de uma imagem. Em termos de processamento de imagens digitais, uma transformação geométrica consiste em duas operações básicas: uma transformação espacial de coordenadas; uma interpolação de intensidade que atribui níveis de intensidade aos pixels transformados espacialmente. A transformação das coordenadas pode ser expressa como: (x,y) = T{(v,w)} onde (v,w) são coordenadas de um pixel na imagem original, e (x,y) são as coordenadas do pixel correspondente na imagem transformada. Forma geral, em coordenadas homogêneas: [x y 1] = [v w 1]. T onde T é a matriz de transformação T = [t11 t12 0; t21 t22 0; t31 t32 1] 1.1 Translação Matriz de transformação: T = [1 0 0; 0 1 0; tx ty 1] 2 de 7

onde tx e ty são os fatores de translação nas direções x e y. rgb = imread ('resistor.jpg'); info=imfinfo('resistor.jpg'); altura = info.height; largura = info.width; gray = rgb2gray(rgb); figure(1); clf; imshow(gray); for lin=1:altura dy for col=1:largura dx graycop(lin,col) = gray(lin,col); for lin=1:altura dy for col=1:largura dx gray(lin+dy,col+dx) = graycop(lin,col); for lin=1:altura for col=1:dx gray(lin,col) = 0; for lin=1:dy for col=1:largura gray(lin,col) = 0; figure(2); clf; imshow(gray); imwrite(gray,"resistor_gray_translacao.jpg"); title(' TRANSLACAO '); else printf("translação nao efetuada valores fora dos limites aceitáveis!\n"); 1.2 Rotação Matriz de transformação: T = [cos(ang) sen(ang) 0; -sen(ang) cos(ang) 0; 0 0 1] onde ang é o ângulo de rotação. 3 de 7

1.2.1 Função: imrotate imagemrotacionada = imrotate(imagem,ângulo,método); onde: imagem: matriz da imagem em tons de cinza ângulo: ângulo de rotação em graus (sentido anti-horário) método: pode ser ("nearest", "bilinear", "bicubic", "Fourier") 1.2.2 Rotação de Imagens em Tons de Cinza rgb = imread ('resistor.jpg'); gray = rgb2gray(rgb); figure(1); subplot(2,2,1); imshow(gray); gray_rotacao_90 = imrotate(gray,90,"nearest"); subplot(2,2,2); imshow(gray_rotacao_90); imwrite(gray_rotacao_90,"resistor_gray_rotacao_90.jpg"); gray_rotacao_45 = imrotate(gray,45,"nearest"); subplot(2,2,3); imshow(gray_rotacao_45); imwrite(gray_rotacao_45,"resistor_gray_rotacao_45.jpg"); gray_rotacao_180 = imrotate(gray,180,"nearest"); subplot(2,2,4); imshow(gray_rotacao_180); imwrite(gray_rotacao_180,"resistor_gray_rotacao_180.jpg"); 1.2.3 Rotação de Imagens em Modo RGB rgb = imread("resistor.jpg"); R = rgb(:,:,1); G = rgb(:,:,2); B = rgb(:,:,3); figure(1); subplot(1,2,1); imshow(rgb); R_rotacao_90 = imrotate(r,90,"nearest"); 4 de 7

G_rotacao_90 = imrotate(g,90,"nearest"); B_rotacao_90 = imrotate(b,90,"nearest"); rgb_rotacao_90(:,:,1) = R_rotacao_90; rgb_rotacao_90(:,:,2) = G_rotacao_90; rgb_rotacao_90(:,:,3) = B_rotacao_90; subplot(1,2,2); imshow(rgb_rotacao_90); imwrite(rgb_rotacao_90,"resistor_rgb_rotacao_90.jpg"); 1.3 Redimensionamento (Escala) Matriz de transformação: T = [ex 0 0; 0 ey 0; 0 0 1] onde ex e ey são os fatores de escala nas direções x e y. 1.3.1 Função: imresize imagemredimensionada = imresize(imagemrgb, fator); onde: fator: fator de redimensionamento rgb = imread ('resistor.jpg'); figure(1); imshow(rgb); rgb_redimensionada = imresize(rgb,0.5); imwrite(rgb_redimensionada,"resistor2.jpg"); 1.3.2 Zoom Digital 1.3.2.1 Capacidade de Resolução da Imagem Os sensores de imagens contêm uma teia (ou grade) de fotocélulas, cada uma delas representando um pixel na imagem final - assim a resolução de uma câmera digital é determinada pela quantidade de fotocélulas que existem na superfície de seu sensor. Por exemplo, uma câmera com um sensor no qual cabem 1600 (largura) x 1200 (altura) 5 de 7

fotocélulas é capaz de gerar uma imagem de 1600 x 1200 pixels. Então, para efeito de terminologia e definição da capacidade de uma câmera, dizemos simplesmente que ela tem uma resolução de 1600 x 1200 pixels, ou 1,92 megapixels. Atualmente as câmeras mais simples geram arquivos de 640 x 480 pixels, enquanto câmeras de capacidade média estão por volta de 1600 x 1200 pixels, e câmeras de ponta produzem imagens de 2.560 x 1.920 pixels (perto de 5 megapixels). Importante notar que isto se refere às câmeras amadoras, pois algumas profissionais já produzem mais de seis milhões de pixels. Quanto maior a capacidade de resolução, geralmente maior também o preço. Outro detalhe importante é que quanto maior a imagem em pixel, maior o tamanho do arquivo resultante. Por isso, normalmente as câmeras digitais possuem uma regulagem para o tamanho do arquivo, dando a opção para o fotógrafo de escolher o modo de resolução. Assim, se alguém vai capturar imagens para a WEB e possui uma câmera de 3.3 megapixels, pode regulá-la para gerar imagens de apenas 640 x 480 pixels, bem mais fáceis de armazenar e lidar. Por exemplo, uma câmera de alta resolução de 2048 x 1560 pixels, gera uma imagem média em arquivo JPEG (depende das tonalidades e intensidade de luz retratadas) de aproximadamente 1,2 MB (megabytes). Já na resolução de 640 x 480 pixels, no mesmo formato JPEG, gerará um arquivo de apenas 220 Kb (kilobytes), ou seja, menos de 1/5 do tamanho. Além da preocupação com espaço de armazenamento e rapidez em transmissão pela Internet, em termos práticos deve-se levar em conta o tamanho com o qual se pretende imprimir a imagem. Ainda seguindo os exemplos acima, a imagem de 2048 x 1560 pixels (3.3 MB) pode ser impressa, sem qualquer perda, em alta resolução (300 dpi), no tamanho de 17,34 x 13 cms, enquanto a imagem de 640 x 480 pixels permite apenas uma boa imagem impressa no tamanho 5,42 x 4,06 cms. Como se calcula o tamanho em termos de resolução é assunto que trataremos mais adiante neste curso, quando abordarmos a impressão. 6 de 7

Apesar de quanto maior o número de fotocélulas num sensor melhores imagens serem produzidas, acrescentar simplesmente fotocélulas à um sensor nem sempre é fácil e pode resultar em problemas. Por exemplo, para se colocar mais fotocélulas num sensor de imagem, o sensor precisaria ser maior ou as fotocélulas menores. Chips maiores com mais fotocélulas aumentam as dificuldades de construção e os custos para o fabricante. Fotocélulas menores, por outro lado, serão menos sensíveis e irão capturar menos luz que as de um chip normal. Concluindo, colocar mais fotocélulas num sensor, além de sua complexidade e alto custo, acaba resultando em arquivos maiores, de difícil armazenamento. Por isso a constante corrida tecnológica entre os fabricantes na busca de sensores de maior resolução, com qualidade e preço competitivo. 1.3.2.2 Efeito visual de blocos, pixelização Quanto mais fotocélulas e consequentemente mais pixels, melhores serão os detalhes gravados, e mais nítidas serão as imagens. Se alguém ampliar e continuar ampliando qualquer imagem digital, simplesmente por replicação de pixels (Figura 1), chegará um momento em que os pixels vão começar a aparecerem multifacetados (Figuras 5 e 6). Esse efeito se chama pixelização. Portanto, quanto mais pixels existirem em uma imagem, mais ela aceitará ampliações com qualidade; quanto menos pixels, menor a ampliação possível. 1.3.2.3 Interpolação Bilinear (pela média) Aconselha-se este método para fatores de escala 2, 3 ou 4, pois acima disto, acentua-se o borramento. Algoritmo (válido para escala = 2) a) interpolação segundo as linhas 7 de 7

f (0,0) = f(0,0) f (0,1) = 0.5(f(0,0)+f(0,1)) f (0,2) = f(0,1) f (0,3) = 0.5(f(0,1)+f(0,2)) b) interpolação segundo as colunas OBS: - f(x, y) <= f (x, y) - Assume-se f(x, y) = 0 for a de [0, M-1] e [0, N-1] Exemplo 1: Considere a seguinte imagem (representada pelas intensidades de cinza). M = [50 40 60; 20 30 20; 10 20 10] Então, a imagem resultante, após a aplicação do método de zoom por interpolação bilinear, para um grau de ampliação igual a 2x: MR = [50 45 40 50 60; 35 35 35 38 40; 20 25 30 25 20; 15 20 25 20 15; 10 15 20 15 10] Exemplo 2: a = imread('imagem.jpg'); b = imresize(a,[480*2,640*2],'nearest'); imshow(b(240:720,320:960)) Exemplo 3: a = imread('imagem.jpg'); b = imresize(a,[240,320],'bilinear'); c = imresize(b,[120,160],'bilinear'); figure, imshow(a); figure, imshow(b); figure, imshow(c); 8 de 7

1.4 Deslizamento Matriz de transformação - deslizamento vertical: T = [1 0 0; dv 1 0; 0 0 1] Matriz de transformação - deslizamento horizontal: T = [1 dh 0; 0 1 0; 0 0 1] onde dv e dh são os fatores de deslizamento nas direções vertical e horizontal. 1.4.1 Função: imshear id = imshear(imagemgray, eixo, fator, modo); onde: eixo: pode ser ("x" ou "y") fator: fator de deslizamento modo: pode ser ("loose", "crop" ou "wrap") rgb = imread ('resistor.jpg'); gray = rgb2gray(rgb); figure(1); clf; subplot(1,2,1); imshow(gray); gray_deslizado = imshear(gray,'x',0.1,'crop'); subplot(1,2,2); imshow(gray_deslizado); imwrite(gray_deslizado,'resistor_gray_deslizado.jpg'); title(' DESLIZAMENTO '); 9 de 7

1.5 Espelhamento Matriz de espelhamento em relação ao eixo x: T = [1 0 0; 0-1 0; 0 0 1] Matriz de espelhamento em relação ao eixo y: T = [-1 0 0; 0 1 0; 0 0 1] Matriz de espelhamento em relação à origem: T = [-1 0 0; 0-1 0; 0 0 1] 1.5.1 Função: flipud flipud(imagem) Realiza um espelhamento da imagem em relação ao eixo X. flipud([1, 2; 3, 4]) 3 4 1 2 1.5.2 Função: fliplr fliplr(imagem) Realiza um espelhamento da imagem em relação ao eixo Y. fliplr([1, 2; 3, 4]) 2 1 4 3 10 de 7