Universidade regional de blumenau centro de ciências exatas e naturais curso de ciência da computaçÃO – bacharelado



Baixar 3.39 Mb.
Página1/14
Encontro04.10.2019
Tamanho3.39 Mb.
  1   2   3   4   5   6   7   8   9   ...   14


UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURsO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO

api para transformação de imagem em cartum utilizando plataforma ios

christian hess

bLUMENAU

2011

2011/2-04

CHRISTIAN HESS

API PARA TRANSFORMAÇÃO DE IMAGEM EM CARTUM UTILIZANDO PLATAFORMA IOS

Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Ciência da Computação — Bacharelado.

Prof. Dalton Solano dos Reis, M. Sc. - Orientador


bLUMENAU

2011

2011/2-04

API PARA TRANSFORMAÇÃO DE IMAGEM EM CARTUM UTILIZANDO PLATAFORMA IOS

Por


CHRISTIAN HESS

Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II, pela banca examinadora formada por:



______________________________________________________

Presidente: Prof. Dalton Solano dos Reis, M.Sc. – Orientador, FURB



______________________________________________________

Membro: Prof. Paulo César Rodacki Gomes, Dr – FURB



______________________________________________________

Membro: Prof. Antonio Carlos Tavares, Mestre – FURB



Blumenau, 13 de dezembro de 2011

Dedico este trabalho principalmente à minha família e aos meus amigos, especialmente aqueles que ajudaram diretamente na realização deste.

AGRADECIMENTOS

Aos meus pais, Edelberto e Luzia, que sempre acreditaram em meu potencial.

Ao meu irmão, Jonathan, por suas ideias geniais.

À minha namorada, Juliana, que sempre esteve presente.

Aos meus amigos, pelos incentivos.

Ao meu orientador, Dalton Solano dos Reis, por ter acreditado na conclusão deste trabalho.

A coisa mais bela que podemos experimentar é o mistério. Essa é a fonte de toda a arte e ciências verdadeiras.

Albert Einstein



RESUMO

Este trabalho apresenta o desenvolvimento de uma Application Programming Interface (API) para a transformação de imagens em cartum. A API permite que o usuário que a utilize informe uma imagem qualquer e receba como retorno uma imagem transformada em estilo cartum de acordo com os parâmetros previamente configurados. A transformação é feita através de algoritmos e filtros sobre a imagem para detecção de bordas, como Sobel e Canny. Também são aplicadas técnicas para a homogeneização de cores, como Mean Shift. A API é desenvolvida em plataforma iPhone Operating System (iOS) para dispositivos da Apple como iPhone, iPad e iPod Touch. Durante a evolução deste trabalho, a plataforma iOS é apresentada, através de conceitos e utilização de funcionalidades da mesma, bem como todos os algoritmos utilizados para a transformação da imagem.

Palavras-chave: API. iOS. Mobilidade. Entretenimento. Cartoon rendering.

ABSTRACT

This paper presents the development of an Application Programming Interface (API) for transform images into a cartoon style. The API allows the user can use any image and receive in a return, a transformed image in cartoon style, according to the previously configured parameters. The transformation is performed using filters on the image for edge detection such as Sobel and Canny. Techniques are also applied to the homogenization of colors such as Mean Shift. The API is developed in the iPhone Operating System (iOS) platform for Apple devices like iPhone, iPad and iPod Touch. During the course of this paper, the iOS platform is presented, using concepts and use of its features as well as all the algorithms used for processing the image.

Key-words: API. iOS. Mobility. Enterteinment. Cartoon rendering.

LISTA DE ilustrações


Figura 1 - Modelo sem silhueta (a) e modelo com silhueta (b) 15

Figura 2 - Modelo com arestas (a) e modelo com todas as linhas de realce (b) 16

Figura 3 - Segmentação de imagem através de limiar 16

Figura 4 - Posições de uma imagem 3X3 (a), máscara para x (b) e máscara para y (c) 17

Figura 5 - Equação da derivada pelas máscaras de Sobel 17

Figura 6 - Função Gaussiana 18

Figura 7 - Equação da magnitude do gradiente 18

Figura 8 - Equação da direção do gradiente 18

Figura 9 - Supressão não máxima. Esquema de supressão não máxima para θ=45º (a) e setores considerados para a supressão não máxima (b) 18

Figura 10 - Imagem original (a), imagem com supressão não máxima (b) e imagem com limiar por histerese (c) 19

Figura 11 – Definindo o tamanho do espaço a ser analisado (a) e definindo o centro da região (b) 20

Figura 12 - Definindo o centro de massa 20

Figura 13 - Deslocamento do centro da região para o centro de massa 20

Figura 14 - Imagem original (a) e imagem segmentada através do método Mean Shift (b) 21

Figura 15 - Visão geral de alto nível das camadas da plataforma iOS 22

Figura 16 - Destino de desenhos Quartz 2D 23

Figura 17 - Diagrama de casos de uso 27

Figura 18 - Diagrama de classes da aplicação exemplo 31

Figura 19 - Diagrama de classes da API 32

Figura 20 - Diagrama de sequencia da API 33

Figura 21 - Configuração do Target PhotoToon 40

Figura 22 - Interface inicial da aplicação exemplo 41

Figura 23 - Interface para manipulação da imagem 41

Figura 24 - Alternando entre as configurações disponíveis 42

Figura 25 - Resultado da transformação com interface de configuração ocultada 42

Figura 26 - Fluxo de aplicação de algoritmos 44

Figura 27 - Teste de processamento utilizando a biblioteca EDISON 46

Figura 28 - Teste de processamento utilizando a biblioteca OpenCV 47

Figura 29 - Teste de consumo de memória utilizando a biblioteca EDISON 47

Figura 30 - Teste de consumo de memória utilizando a biblioteca OpenCV 48

Figura 31 - Imagem base para teste de aspecto visual 49

Figura 32 – Imagem de resultado final esperado pelo algoritmo da API 50

Figura 33 - Resultado obtido no teste de aspecto com utilização da biblioteca EDISON 50

Figura 34 - Resultado obtido no teste de aspecto com utilização da biblioteca OpenCV 51

Figura 35 - Imagem base para teste de resultado parcial 52

Figura 36 - Resultado parcial obtido pelo filtro Gaussiano 53

Figura 37 - Resultado parcial obtido pelo filtro de Canny sem a utilização da técnica de Supressão Não Máxima 53

Figura 38 - Resultado parcial obtido pelo filtro de Canny utilizando a técnica de Supressão Não Máxima 54

Figura 39 - Resultado parcial obtido pelo algoritmo Mean Shift utilizando a biblioteca EDISON 55

Figura 40 - Resultado parcial obtido pelo algoritmo Mean Shift utilizando a biblioteca OpenCV 55



LISTA DE SIGLAS

API – Application Programming Interface

CPU - Central Processing Unit

GB - Giga Bytes

iOS - iPhone Operating System

JPEG - Joint Photographic Experts Group

MB - Mega Bytes

PDF - Portable Document Format

PNG - Portable Network Graphics

RF - Requisito Funcional

RNF - Requisito Não Funcional

OpenGL ES - Open Graphics Library for Embedded Systems

UML - Unified Modeling Language
LISTA DE SÍMBOLOS

θ - theta

σ - sigma

 - nabla



SUMÁRIO

1 Introdução 15

2 FUNDAMENTAÇÃO TEÓRICA 17

17

Fonte: Venetillo (2005, p. 2). 17

Figura 1 - Modelo sem silhueta (a) e modelo com silhueta (b) 17

18

Fonte: Venetillo (2005, p. 2). 18

Figura 2 - Modelo com arestas (a) e modelo com todas as linhas de realce (b) 18

Fonte: Stivanello (2004, p. 24). 18

Figura 3 - Segmentação de imagem através de limiar 18

Fonte: Stivanello (2004, p. 25). 19

Figura 4 - Posições de uma imagem 3X3 (a), máscara para x (b) e máscara para y (c) 19

Fonte: Stivanello (2004, p. 25). 19

Figura 5 - Equação da derivada pelas máscaras de Sobel 19

Fonte: Pedrini e Schwartz (2008, p. 124). 20

Figura 6 - Função Gaussiana 20

Fonte: Pedrini e Schwartz (2008, p. 156). 20

Figura 7 - Equação da magnitude do gradiente 20

Fonte: Pedrini e Schwartz (2008, p. 156). 20

Figura 8 - Equação da direção do gradiente 20

Fonte: adaptado de Vale e Poz (2002, p. 74). 20

Figura 9 - Supressão não máxima. Esquema de supressão não máxima para θ=45º (a) e setores considerados para a supressão não máxima (b) 20

Fonte: adaptado de Nosrati et al. (2011, p. 86). 21

Figura 10 - Imagem original (a), imagem com supressão não máxima (b) e imagem com limiar por histerese (c) 21

Fonte: adaptado de Lourega (2006, p. 51). 22

Figura 11 – Definindo o tamanho do espaço a ser analisado (a) e definindo o centro da região (b) 22

Fonte: Lourega (2006, p. 52). 22

Figura 12 - Definindo o centro de massa 22

Fonte: Lourega (2006, p. 52). 22

Figura 13 - Deslocamento do centro da região para o centro de massa 22

Fonte: Lourega (2006, p. 53). 23

Figura 14 - Imagem original (a) e imagem segmentada através do método Mean Shift (b) 23

24

Fonte: Apple Inc (2010b). 24

Figura 15 - Visão geral de alto nível das camadas da plataforma iOS 24

25

Fonte: Apple Inc (2010c). 25

Figura 16 - Destino de desenhos Quartz 2D 25

3 DESENVOLVIMENTO 28

Figura 17 - Diagrama de casos de uso 29

Quadro 1 - Caso de uso UC1 30

Quadro 2 - Caso de uso UC2 30

Quadro 3 - Caso de uso UC3 31

Quadro 4 - Caso de uso UC4 31

Quadro 5 - Caso de uso UC5 32

Quadro 6 - Caso de uso UC6 32

Figura 18 - Diagrama de classes da aplicação exemplo 33

Figura 19 - Diagrama de classes da API 34

Figura 20 - Diagrama de sequencia da API 35

Quadro 7 - Aplicando o filtro Mean Shift sobre a imagem 38

Quadro 8 - Algoritmo para o filtro tons de cinza 39

Quadro 9 - Algoritmo do filtro de Sobel 40

Quadro 10 - Algoritmo do filtro de Canny 41

Figura 21 - Configuração do Target PhotoToon 42

Quadro 11 - Instanciando e utilizando a API 42

Figura 22 - Interface inicial da aplicação exemplo 43

Figura 23 - Interface para manipulação da imagem 43

Figura 24 - Alternando entre as configurações disponíveis 44

Figura 25 - Resultado da transformação com interface de configuração ocultada 44

Figura 26 - Fluxo de aplicação de algoritmos 46

Quadro 12 - Configuração dos parâmetros da API 48

Figura 27 - Teste de processamento utilizando a biblioteca EDISON 48

Figura 28 - Teste de processamento utilizando a biblioteca OpenCV 49

Figura 29 - Teste de consumo de memória utilizando a biblioteca EDISON 49

Figura 30 - Teste de consumo de memória utilizando a biblioteca OpenCV 50

Quadro 13 - Configuração da API para teste de aspecto visual 51

Figura 31 - Imagem base para teste de aspecto visual 51

Figura 32 – Imagem de resultado final esperado pelo algoritmo da API 52

Figura 33 - Resultado obtido no teste de aspecto com utilização da biblioteca EDISON 52

Figura 34 - Resultado obtido no teste de aspecto com utilização da biblioteca OpenCV 53

Figura 35 - Imagem base para teste de resultado parcial 54

Quadro 14 - Configuração da API para teste de resultado parcial 54

Figura 36 - Resultado parcial obtido pelo filtro Gaussiano 55

Figura 37 - Resultado parcial obtido pelo filtro de Canny sem a utilização da técnica de Supressão Não Máxima 55

Figura 38 - Resultado parcial obtido pelo filtro de Canny utilizando a técnica de Supressão Não Máxima 56

Figura 39 - Resultado parcial obtido pelo algoritmo Mean Shift utilizando a biblioteca EDISON 57

Figura 40 - Resultado parcial obtido pelo algoritmo Mean Shift utilizando a biblioteca OpenCV 57

4 CONCLUSÕES 58

Referências bibliográficas 60






  1. Compartilhe com seus amigos:
  1   2   3   4   5   6   7   8   9   ...   14


©aneste.org 2020
enviar mensagem

    Página principal
Universidade federal
Prefeitura municipal
santa catarina
universidade federal
terapia intensiva
Excelentíssimo senhor
minas gerais
Universidade estadual
união acórdãos
prefeitura municipal
pregão presencial
reunião ordinária
educaçÃo universidade
público federal
outras providências
ensino superior
ensino fundamental
federal rural
Palavras chave
Colégio pedro
ministério público
senhor doutor
Dispõe sobre
Serviço público
Ministério público
língua portuguesa
Relatório técnico
conselho nacional
técnico científico
Concurso público
educaçÃo física
pregão eletrônico
consentimento informado
recursos humanos
ensino médio
concurso público
Curriculum vitae
Atividade física
sujeito passivo
ciências biológicas
científico período
Sociedade brasileira
desenvolvimento rural
catarina centro
física adaptada
Conselho nacional
espírito santo
direitos humanos
Memorial descritivo
conselho municipal
campina grande