• Nenhum resultado encontrado

FURB Universidade Regional de Blumenau TCC -Trabalho de Conclusão de Curso Curso de Ciências da Computação - Matutino

N/A
N/A
Protected

Academic year: 2021

Share "FURB Universidade Regional de Blumenau TCC -Trabalho de Conclusão de Curso Curso de Ciências da Computação - Matutino"

Copied!
34
0
0

Texto

(1)

Ferramenta para desenvolvimento de

Ferramenta para desenvolvimento de

padrões de imagem 2D e separação de

padrões de imagem 2D e separação de

cores

cores

Aluno: Charles Theiss

Aluno: Charles Theiss

Aluno: Charles Theiss

Aluno: Charles Theiss

Orientador: Dalton Solando dos Reis

Orientador: Dalton Solando dos Reis

FURB – Universidade Regional de Blumenau TCC - Trabalho de Conclusão de Curso

(2)

Roteiro

Roteiro





Introdução

Introdução





Fundamentação Teórica

Fundamentação Teórica

Desenvolvimento

Desenvolvimento

 

Desenvolvimento

Desenvolvimento

 

Implementação

Implementação

 

Resultados

Resultados

 

Conclusão

Conclusão

(3)

Introdução

Introdução



 Desenvolvimento da indústria serigráficaDesenvolvimento da indústria serigráfica 

 Técnica de serigrafiaTécnica de serigrafia

(4)

Introdução

Introdução





Softwares de uso geral

Softwares de uso geral

– Corel, Adobe Photoshop, Adobe IllustratorCorel, Adobe Photoshop, Adobe Illustrator





Softwares específicos

Softwares específicos

(5)

Objetivos

Objetivos





Desenvolver uma ferramenta para

Desenvolver uma ferramenta para

facilitar o desenvolvimento de padrões

facilitar o desenvolvimento de padrões

de imagens

de imagens

de imagens

de imagens





Automatizar o processo de separação

Automatizar o processo de separação

de cores (técnica de serigrafia)

de cores (técnica de serigrafia)

(6)

Fundamentação teórica

Fundamentação teórica



 Processamento de imagensProcessamento de imagens

(7)





Modos de codificação de imagens

Modos de codificação de imagens

– RGB (24 bits) RGB (24 bits) --> 16,7milhões de cores> 16,7milhões de cores

Fundamentação teórica

Fundamentação teórica

– RGB (24 bits) RGB (24 bits) --> 16,7milhões de cores> 16,7milhões de cores –

– CMYK (32 bits) CMYK (32 bits) --> 4 bilhões de cores> 4 bilhões de cores –

– Preto e branco (1 bit) Preto e branco (1 bit) --> 2 cores> 2 cores –

– Indexado (8 bits) Indexado (8 bits) --> 256 cores> 256 cores

(8)



 Estrutura para armazenamento de imagens Estrutura para armazenamento de imagens no Java

no Java

Fundamentação teórica

Fundamentação teórica

(9)



 Recursos para acesso e manipulação de Recursos para acesso e manipulação de pixeis através do SampleModel

pixeis através do SampleModel

Fundamentação teórica

Fundamentação teórica

public Object getDataElements(int x, int y, int w, int h, Object obj, DataBuffer data);

public int[] getPixel(int x, int y, int[] iArray, DataBuffer data);

public void setDataElements(int x, int y, Object obj, DataBuffer data);

public void setPixel(int x, int y, int[] iArray, DataBufer data);

(10)





Formatos de arquivos

Formatos de arquivos

– – BMPBMP

Fundamentação teórica

Fundamentação teórica

– – BMPBMP –

– GIF GIF (Free Software Foundation, 2007)(Free Software Foundation, 2007)

– TIFFTIFF

(11)



 Distribuição dos motivos da imagemDistribuição dos motivos da imagem

– Tipos de repetiçõesTipos de repetições

Fundamentação teórica

Fundamentação teórica

(12)

Trabalhos correlatos

Trabalhos correlatos



 Desing and repeat proDesing and repeat pro



(13)

  BestImageBestImage

Trabalhos correlatos

Trabalhos correlatos

(Stork Prints, 2007) (Stork Prints, 2007)

(14)

Desenvolvimento

Desenvolvimento





Requisitos funcionais

Requisitos funcionais

– carregar e exibir uma imagem indexada carregar e exibir uma imagem indexada –

– possibilitar a visualização da imagem possibilitar a visualização da imagem carregada em diversas formas de

carregada em diversas formas de carregada em diversas formas de carregada em diversas formas de repetições

repetições –

– transformar as formas de repetição para transformar as formas de repetição para repetição direta

repetição direta –

– trocar ponto de origem trocar ponto de origem –

– automatizar o processo de separação de automatizar o processo de separação de cores

(15)





Requisitos não funcionais

Requisitos não funcionais

– Linguagem JavaLinguagem Java

Desenvolvimento

Desenvolvimento

– Linguagem JavaLinguagem Java –

(16)

Especificação

Especificação





UML

UML





Enterprise

Enterprise Architect

Architect





Diagramas

Diagramas





Diagramas

Diagramas

– Caso de usoCaso de uso –

– ClassesClasses –

(17)

Diagrama de caso de uso

Diagrama de caso de uso

uc Use Case Model

Ferramenta

Transforma repetição com salto em repetição

direta Troca ponto de origem Separa cores Usuário Abri Imagem Configura repetições de direrentes formas Recorta partes da imagem (motiv os) Configura

sobreposição de cores

Insere motiv os na imagem

(18)

Diagrama de classes

Diagrama de classes

(19)

class Class Model Imagem - imagem: BufferedImage - paletaCores: PaletaCores + espelha(String) : BufferedImage + getImagem() : BufferedImage + getPaletaCores() : PaletaCores + Imagem(BufferedImage) : void + rotaciona90() : BufferedImage + separar() : void + setImagem(BufferedImage) : void + trasformaDireta(String) : BufferedImage + trocaOrigem(int, int) : void

Motiv o - selecionado: boolean + getSelecionado() : Motivo + Motivo(BufferedImage) : void BaseMotiv os - motivos: ArrayList:Motivo + adicionaMotivo(Motivo) : void + BaseMotivos() : void + removerMotivo(int) : void PaletaCores - cores: ArrayList:Cor - achou(int[]) : boolean - constroiPaleta() : void + getCores() : ArrayList:cores + getCorSelecionada() : Cor - montaPaleta() : void + PaletaCores(BufferedImage) : void Cor - a: int - b: int - g: int - qnd: int - r: int

+ Cor(int, int, int, int) : void + getA() : int + getB() : int + getG() : int + getR() : int + mousePressed(MouseEvent) : void + setA(int) : void + setG(int) : void + setQnd() : void + setR(int) : void View - baseMotivos: BaseMotivos PainelView - imagem: BufferedImage - view: View

+ PainelView(BufferedImage, View) : void + paintComponent(Graphics) : void + setImagem(BufferedImage) : void Principal - ferramentas: Ferramentas - imagem: Imagem - view: View + abrir() : void + fechar() : void + Principal() : void + salvar() : void Ferramentas - apagar: JButton - aplicar: JButton - selecao: JButton + Ferramenta() : void + getFerramentaAtiva() : int *..1 1..* 1 - baseMotivos: BaseMotivos - escala: Double - ferramentas: Ferramentas - grid: boolean - imagem: Imagem - inf: Inf - motivo: Motivo - painelView: PainelView - visual: String + getEscala() : Double + getTipo() : visual:String + isGrid() : boolean + KeyPressed(KeyEvent) : void + mouseDragged(MouseEvent) : void + mouseMoved(MouseEvent) : void + mousePressed(MouseEvent) : void + setGrid(boolean) : void + setImagem(BufferedImage) : void + setTipo(String) : void + trocaVisual(String) : void

+ View(Imagem, String, Inf, Motivo, BaseMotivos, Ferram) : void

Inf - altura: JLabel - largura: JLabel - xIcs: JLabel - xWcs: JLabel - yIcs: JLabel - yWcs: JLabel + setAltura(int) : void + setlargura(int) : void + setXICS(int) : void + setXWCS(int) : void + setYICS(int) : void + setYWCS(int) : void Separation - imagem: Imagem - nomeArquivo: JFileChooser + separa() : void

+ Separation(Imagem, JFileChooser) : void

(20)

Diagrama de seqüência

Diagrama de seqüência





Estudo de caso:

Estudo de caso:

– abrir uma imagem indexadaabrir uma imagem indexada –

– tocar o tipo de visualização da imagem para tocar o tipo de visualização da imagem para –

– tocar o tipo de visualização da imagem para tocar o tipo de visualização da imagem para salto vertical

salto vertical –

– transformar a imagem para repetição diretatransformar a imagem para repetição direta –

– gerar a separação de cores da imagemgerar a separação de cores da imagem –

(21)
(22)
(23)
(24)
(25)

Implementação

Implementação





Técnica

Técnica

– Programação orientada a objetosProgramação orientada a objetos





Ferramentas

Ferramentas





Ferramentas

Ferramentas

– API Java API Java ((SUN MICROSYSTEM, 2006SUN MICROSYSTEM, 2006))

– Java Java

hot spot™ client

hot spot™ client VM

VM

1.6.021.6.02--b05 b05 –

(26)

Operacionalidade da implementação



 Estudo de caso Estudo de caso

– Carregar uma imagem na ferramentaCarregar uma imagem na ferramenta –

– Carregar uma imagem na ferramentaCarregar uma imagem na ferramenta –

– Trocar o tipo de visualização para salto Trocar o tipo de visualização para salto vertical

vertical –

– Transformar para repetição diretaTransformar para repetição direta –

(27)

Operacionalidade da implementação



(28)

Operacionalidade da implementação



(29)

Operacionalidade da implementação



 Comparação entre visualização repetição direta Comparação entre visualização repetição direta e repetição com salto vertical

(30)

Operacionalidade da implementação



(31)

Operacionalidade da implementação



(32)

Resultados

Resultados





Salto vertical e transformação para

Salto vertical e transformação para

repetição direta

repetição direta





Troca do ponto de origem

Troca do ponto de origem





Troca do ponto de origem

Troca do ponto de origem



(33)

Conclusão

Conclusão





Conclusão

Conclusão

– Validação do protótipo para transformar Validação do protótipo para transformar em uma ferramenta comercial

em uma ferramenta comercial em uma ferramenta comercial em uma ferramenta comercial

Extensões

Extensões

– Seleção e aplicação de motivosSeleção e aplicação de motivos –

– Tipos de repetições com suas respectivas Tipos de repetições com suas respectivas transformações

transformações –

(34)

Obrigado!

Obrigado!

Referências

Documentos relacionados

O estudo foi aplicado para os hidrocarbonetos policíclicos aromáticos totais (HPA total ) e os compostos presentes na Lista de Valores Orientadores para Solo e

Assim, tanto para o Etanol, como para os compostos BTEX as áreas prioritárias para sua localização foram a seção superior da região da fonte, em primeiro lugar, apresentando

Como se pode observar nas Figuras 5.37 e 5.40, a influência da condutividade hidráulica em cenários com recarga (análise de sensibilidade 3) apresentou a mesma tendência nos

Através do acompanhamento do traçador íon brometo pelo período de 5,5 anos, quantificou-se os parâmetros de fluxo por meio de calibração com o modelo matemático bidimensional

• Realização trimestral de análise de compostos BTEX na água subterrânea dos poços de monitoramento em volta dos tanques, por tratar-se de uma área de alto risco, conforme a ASTM

Os resultados obtidos satisfazem as etapas do Processo de Identificação de Áreas Contaminadas, ou seja: a Definição da Região de Interesse como um raio de 500 m em torno do Terminal

A educação em saúde tem papel primordial no processo de prevenção e reabilitação, pois, o diálogo e a troca de informações entre o paciente, o profissional e sua

demonstraram que: 1 a superfície das amostras tratadas com o glaze pó/líquido foram as que apresentaram uma camada mais espessa de glaze, com superfícies menos rugosas; 2o grupo