12
DESENVOLVIMENTO DE UM TOOLBOX PARA ANÁLISE DE IMAGENS PARA O SOFTWARE SCILAB MÁRIO NAKANO NETO 1 ANTONIO CARLOS LOUREIRO LINO 2 RESUMO: Este trabalho teve por objetivo desenvolver um toolbox para tratamento de imagens para o software livre SCILAB 4.11, para atender às necessidades do Laboratório de Imagens, LabImagem, do Centro de Engenharia e Automação do IAC. O “LabImagem IAC toolbox” surgiu da fusão de dois outros toolbox para análise de imagens, o SIP e o SIVP, mantendo as suas funcionalidades, porém sem a necessidade de instalar os programas ImageMagic e OpenCV, requeridos respectivamente por eles. Além disso, ele uniu em uma única as bibliotecas dos dois toolbox, eliminando a redundância de funções. Como resultado diminuiu a complexidade de instalação permitindo a sua utilização por usuários com menor experiência. Exemplos da utilização desta ferramenta são apresentados. Palavras chaves: Software livre, SIP, SIVP. DEVELOPMENT OF A IMAGES ANALYSIS TOOLBOX FOR THE SCILAB SOFTWARE ABSTRACT: The objective of this study was to develop a toolbox for image processing for free software SCILAB 4.11, to meet the needs of the imaging lab, LabImagem, of the Engineering and Automation Center of the IAC. The "IAC LabImagem toolbox" arose from the merger of two other toolbox for image analysis, SIP and SIVP, maintaining their facilities, but without the need to install ImageMagick and OpenCV programs, required by them respectively. Furthermore, combined into a single of the 1 Eng. Agrônomo, 2 Dr. Eng. Agrícola, Pesquisador CEA/IAC, Jundiaí-SP, [email protected]

Toolbox iac para Scilab

Embed Size (px)

Citation preview

Page 1: Toolbox iac para Scilab

DESENVOLVIMENTO DE UM TOOLBOX PARA ANÁLISE DE IMAGENS PARA O

SOFTWARE SCILAB

MÁRIO NAKANO NETO1

ANTONIO CARLOS LOUREIRO LINO2

RESUMO: Este trabalho teve por objetivo desenvolver um toolbox para tratamento de imagens para o software livre SCILAB 4.11, para atender às necessidades do Laboratório de Imagens, LabImagem, do Centro de Engenharia e Automação do IAC. O “LabImagem IAC toolbox” surgiu da fusão de dois outros toolbox para análise de imagens, o SIP e o SIVP, mantendo as suas funcionalidades, porém sem a necessidade de instalar os programas ImageMagic e OpenCV, requeridos respectivamente por eles. Além disso, ele uniu em uma única as bibliotecas dos dois toolbox, eliminando a redundância de funções. Como resultado diminuiu a complexidade de instalação permitindo a sua utilização por usuários com menor experiência. Exemplos da utilização desta ferramenta são apresentados.

Palavras chaves: Software livre, SIP, SIVP.

DEVELOPMENT OF A IMAGES ANALYSIS TOOLBOX FOR THE SCILAB

SOFTWARE

ABSTRACT: The objective of this study was to develop a toolbox for image processing for free software SCILAB 4.11, to meet the needs of the imaging lab, LabImagem, of the Engineering and Automation Center of the IAC. The "IAC LabImagem toolbox" arose from the merger of two other toolbox for image analysis, SIP and SIVP, maintaining their facilities, but without the need to install ImageMagick and OpenCV programs, required by them respectively. Furthermore, combined into a single of the two toolbox libraries by eliminating redundant functions. As a result reduced the complexity of installation by allowing its use by less experienced users. Examples of using this tool are presented.

Key words: Free Software, SIP, SIVP.

INTRODUÇÃO

O processamento digital de imagens, conhecido também como processamento de imagens, é

uma área de concentração do conhecimento humano, que tem como objetivos a manipulação e

análise de imagens por computador visando a extração de informação destas. Os recursos

1 Eng. Agrônomo,

2 Dr. Eng. Agrícola, Pesquisador CEA/IAC, Jundiaí-SP, [email protected]

Page 2: Toolbox iac para Scilab

disponibilizados pelo processamento de imagens são utilizados em várias atividades, entre as

quais estão a medicina, a robótica e a meteorologia (ANTUNES, 1999).

Fabbri et al. (2012) afirmam que uma das característica marcante nesta área é a sua grande

complexidade, pois muitas técnicas de processamento de imagem são baseadas em conceitos

matemáticos e computacionais sofisticados, cuja implementação se torna um grande desafio,

especialmente com as linguagens tradicionais, como C ou Fortran. Como consequência, esta

área ficava restrita a uma pequena comunidade de cientistas e especialistas em programação.

Os mesmos autores citam também que as dificuldades que envolvem o desenvolvimento de

software em geral e os avanços na capacidade dos hardwares deu origem a uma tendência

bastante recente na programação que é fazer protótipos em línguagens fáceis de usar, onde

soluções para um determinado problema são facilmente desenvolvidos e validados. Uma vez

que uma solução funciona adequadamente, a aplicação final pode ser escrito em uma

linguagem compilada tradicional, como C. Além disso, podem incorporar muitas

funcionalidades disponíveis nesses ambientes sem ter que reescrever tudo.

Eles ainda comentam que entre os softwares mais populares (e caros) para este tipo de solução

está o Matlab, muito utilizado na ciência, engenharia e indústria. Mas que felizmente há

alternativas de softwares livres, como Octave, Python, e Scilab.

O Scilab é uma plataforma interativa para computação numérica proporcionando um poderoso

ambiente computacional para a engenharia e aplicações científicas. Criado em 1990 por

pesquisadores pertencentes ao INRIA (Institut de Recherche em Informatique et en

Automatique) e à ENPC (École Nationale des Ponts et Chaussées) , através do Projeto

MÉTALAU (Méthods, algorithmes et logiciels pour l’automatique). Atualmente é

desenvolvido e mantido pelo Consórcio Scilab, formado em maio de 2003 (SCILAB ORG,

2011).

Possui centenas de funções pré-definidas. Além disso, programas escritos em várias

linguagens (FORTRAN, C, C++, JAVA) podem ser adicionados ao sistema. Scilab possui

estruturas de dados sofisticadas (como listas, polinômios, funções racionais, sistemas

lineares), um interpretador e uma linguagem de programação de alto nível. O ambiente foi

projetado como um sistema aberto permitindo ao usuário a possibilidade de definir novos

tipos de dados e de realizar operações sobre eles. Ele pode ser usado de forma interativa ou

programado a partir de um arquivo separado (o 'script' ou 'macro').

Page 3: Toolbox iac para Scilab

Desde 1994, quando passou a ser disponível na Internet, Scilab é gratuito (free software) e

distribuído com o código fonte (open source software). Além da distribuição com o código

fonte, existem, também, distribuições pré-compiladas do Scilab para vários sistemas

operacionais. A lem disso, tem facilidade para trabalhar com matrizes, sem necessidade de

“loops”, o que o torna ideal para tratamento e processamento de imagens.

Vários trabalhos tem sido feitos utilizando as potencialidades do SCILAB ralizar o

processamento e análise de imagens. Ele foi utilizado para quantificar a quantidade de

musculo, gordura subcutânea e intdramuscular em carcaças de porco a partir de imagens de

ressonãncia magnética (MONZIOLS, et al., 2006). Para construir modelos 3D de frutas e

hortaliças baseados na técnica de moiré de projeção com deslocamento de fase (LINO, 2008),

e também modelos topográficos da superfície do solo (LINO et al., 2011).Usou-se ainda para

fazer o reconhecimento facial a partir de imagens digitais, utilizando descritores para

caracterizá-las (LATA et. al., 2009).

Albeanu (2013) cita que o Scilab é uma poderosa estrutura com muito boas capacidades de

modelagem e simulação, inclusive para aplicações científicas de realidade virtual. E que

possui ainda uma grande livraria para processamnto de imagem, como o SIP (Scilab Image

Processing Toolbox), IPD (Image Processing Design Toolbox ), SIVP (Image Processing and

Video Processing, CGLAB (Computational Geometry Algorithms Library) etc.

O SIP (SCILAB Image Processing) é um completo, usável e gratuito pacote de processamento

(Toolbox) par o SCILAB, que consegue ler mais de noventa formatos de arquivos de imagem,

incluindo JPEG, GIF, BMP E PNG. Ele faz processamentos imagens tais como filtragem,

detecção de bordas, segmentação, “tresholding”, histogramas, morfologia matemática,

processamento de imagens coloridas, etc. Operações estas que podem ser utilizadas aplicações

reais que vão desde planejamento de movimentos veiculares a diagnósticos automáticos de

imagens médicas (FABBRI, 2003).

SIVP (Scilab Image and Video Processing Toolbox) é um conjunto de ferramentas concebidas

para pesquisadores acadêmicos, criado para ser um instrumento útil, eficiente e gratuito, e um

toolbox processamento de imagem e de vídeo para o Scilab. Atualmente ele tem sido baixado

e usado por muitos pesquisadores (YU e SHANG, 2006). Os mesmos autores ainda afirmam

que o SIP foi desenvolvido com base em ImageMagic, que não é bom o suficiente para o

processamento da imagem no campo de pesquisa. Por isso desenvolveram o SIVP com base

Page 4: Toolbox iac para Scilab

em OpenCV, que é uma boa biblioteca para processamento de imagem e que tem alta

eficiência. Como o vídeo é apenas uma sequência de imagens desenvolveu-se também o

processamento de vídeo neste toolbox.

O Laboratório de Imagens, LabImagem IAC, do Centro de Engenharia e Automação do

Instituto Agronômico de Campinas tem desenvolvido trabalhos na área de processamento e

análise de imagens digitais aplicadas à agricultura, tais como seleção de frutos, flores e

hortaliças (LINO et al., 20081; LINO et al., 2010), para tanto necessita de ferramentas capazes

de manipular imagens para a obter delas informações que possam ser utilizadas no

desenvolvimento de suas pesquisas.

Porém o SIP tem funções, tais como as interferometricas, necessárias às pesquisas

desenvolvidas pelo Centro de Engenharia e Automação do IAC, que o SIVP não possui. O

objetivo deste trabalho foi desenvolver um toolbox para tratamento de imagens para o

software livre SCILAB 4.11, para atender às necessidades do Laboratório de Imagens,

LabImagem, unindo em um só as funcionalidades tanto do SIP quanto do SIVP,

MATERIAL E MÉTODOS

Para atender as necessidades do Laboratório de Imagens do IAC, foi desenvolvido o

“LabImagem IAC toolbox para SCILAB 4.11”.

Tanto o SIP quanto o SIVP tem seus requerimentos para funcionar, sempre dependendo de

bibliotecas externas e com a necessidade de instalação de programas como OpenCV e

ImageMagic. Pensando nisso foi proposto o desenvolvimento de um novo toolbox, que

pudesse resolver todos os problemas de uma única vez, sem a necessidade de instalação de

vários programas.

O “LabImagem IAC toolbox para SCILAB 4.11” surgiu da fusão do SIP com o SIVP, mas de

uma forma que também não houvesse mais a necessidade de instalar o ImageMagic ou

OpenCV.

Novas rotinas foram criadas para permitir a execução do novo toolbox, uma vez que as

dependências externas eram um problema. Dessa forma fez-se necessária a criação de um

“loader.sce”, ou seja, um script para o Scilab interpretar que unisse todas as bibliotecas, de

modo a não haver redundância de funções e de uma forma que as dependências do OpenCV e

do ImageMagic fossem sanadas.

Page 5: Toolbox iac para Scilab

Todas as bibliotecas do ImageMagic e do OpenCV foram unidas em um único diretório “lib”

dentro da pasta Scilab, este é localizado pelo “loader.sce” que faz todas as ligações e carrega

todas as funções necessárias ao LabImagem IAC para o desenvolvimento de suas pesquisas.

Com a criação do “LabImagem IAC toolbox para SCILAB 4.11” o desenvolvimento das

pesquisas pode ser otimizado, uma vez que a facilidade de uso do toolbox é superior aos

demais, dando mais agilidade e diminuindo a complexidade de instalação por não exigir mais

a instalação do OpenCV e do ImageMagic, permitindo a sua utilização por usuários com

menor experiência.

O LabImagem IAC toolbox para SCILAB 4.11 foi criado com base no sip-0.4.0-bin-win32-

sci4.0-beta.exe, sivp-0.5.0.exe, ImageMagick-6.5.9-0-Q16-windows-dll.exe e OpenCV-

2.0.0a-win32.exe.

RESULTADOS E DISCUSSÃO

Vários trabalhos foram realizados utilizando o LabImagem IAC toolbox, dois resultados são

apresentados abaixo.

Foi desenvolvida a metodologia para a reconstrução 3D de frutos através de suas silhuetas. A

Figura 1 apresenta a imagem da silhueta do fruto do mamoeiro (Carica papaya L.). Após

tratamento das imagens foi feita a reconstrução 3D como se observa através de apresentação

em linhas estruturais (wire frame) na Figura 2 em vista lateral e na Figura 3 em perspectiva.

Figura 1. Silhueta do mamão

Page 6: Toolbox iac para Scilab

Figura 2. Reconstrução 3D do mamão vista de lado

Figura 3. Reconstrução 3D do mamão em perspectiva

Foi desenvolvida a metodologia para a criação de Modelos Digitais Topográfico (MDTs), isto

é, reconstrução 3D do micro relevo do solo superfície do solo deformado pelo pneu que foi

comprimido sobre ele. A Figura 4 mostra a imagem de um retículo senoidal projetado sobre a

superfície do solo, na Figura 5 vê-se o MDT desta superfície em tons de cinza onde as cores

escuras representam regiões de cotas mais baixas e as cores claras regiões de cotas mais altas,

e na Figura 6 mostra a sua representação através de linhas estruturais (wire frame).

Figura 4. Retículo senoidal projetado na superfície do solo

Page 7: Toolbox iac para Scilab

Figura 5. Reconstrução 3D da superfície do solo em escala de cinza

Figura 6. Reconstrução 3D da superfície do solo em wireframe

CONCLUSÕES

O toolbox Labimagem IAC:

Não necessita instalar outros programas como o ImageMagick e OpenCV.

Permite fazer uma rápida e fácil instalação.

Manteve as funcionalidades do SIP e do SIVP.

Permite a análise e tratamento de imagens pelo Scilab.

REFERÊNCIAS BIBLIOGRÁFICAS

Albeanu, G. On developing virtual reality applications using the scilab environment.

Proceedings of ICVL 2013 - 8th International Conference on Virtual Learning.

ANTUNES, E. J. Processamento de imagens: uma abordagem interdisciplinar aplicada

à correção de prognósticos meteorológicos. 1999. 78 p. Monografia (Bacharelado em

Informática) - Instituto de Física e Matemática da Universidade Federal de Pelotas. Pelotas.

FABBRI, R. Desenvolvimento de um pacote de processamento de imagens para o scilab.

2003, 34p. Monografia - Instituto de Ciências Matemáticas e de Computação - USP, São

Carlos.

Page 8: Toolbox iac para Scilab

FABBRI, R., BRUNO, O.M., COSTA, L.F. SCILAB and SIP for image processing.

http://arxiv.org/pdf/1203.4009.pdf. Acesso em: 18 mar. 2012.

LATA,Y. V.; TUNGATHURTHI, C.K.B; RAO, H. R. M.; GOVARDHAN, A.; REDDY; L.

P. Facial Recognition using Eigenfaces by PCA. International Journal of Recent Trends in

Engineering, v. 1, n. 1, p. 587-590, maio. 2009.

LINO, A. C. L.; SANCHES, J., DAL FABBRO, I. M. Application of image processing

techniques to lemons and tomatoes classification. Bragantia, Campinas, v.67, n.3, p.563-568,

2008.

LINO, A. C. L. Aplicação de moiré de projeção com deslocamento de fase na construção

de modelos digitais topográficos de órgãos vegetais. 2008. 100 p. Tese (Doutorado em

Engenharia Agrícola). Faculdade de Engenharia Agrícola Universidade Estadual de

Campinas. Campinas.

LINO, A. C. L.; SANCHES, J.; DIAS, G. M. ; DAL FABBRO, I. M.; LIMA, F. A. B. ;

NASCIMENTO, T. S. Cut Flowers Classification Supported By Digital Images. In: Itaffe'10,

International Congress On Information And Communication Technologies In Agriculture,

Food, Forestry & Environment , 3, 2010, Samsun. Proceedings... Samsun : Ondokuz Mayis

University, 2010. v.1, p. 40-44.

LINO, A. C. L.; SILVA, J. R. da; NAKANO NETO, M.; SILVA, D. da C. Uso do software

scilab para avaliar a mobilização do contato pneu-solo através de modelos digitais

topográficos. In: Congresso Brasileiro de Agroinformática, 8, 2011, Bento Gonçalves.

Anais... Florianópolis: UFSC; Pelotas: UFPel, 2011, CD-ROM.

MONZIOLS, M.; COLLEWET, G.; BONNEAU, M.; MARIETTE, F.; DAVENEL, A.;

KOUBA, M. Quantifcation of muscle, subcutaneous fat and intermuscular fat in pig carcasses

and cuts by magnetic resonance imaging. Meat Science, v. 72, p.146–154, jan. 2006.

SCILAB ORG. Software livre para cálculo científico. Disponível em:

<http://www.scilab.org>. Acesso em: 15 mai. 2013.

YU, S.; SHANG, S. SIVP. Scilab image and video processing toolbox. 2006. Disponível em:

< http://sivp.sourceforge.net/doc.php>. Acesso em: 15 mai. 2011.