toolbox iac para scilab
TRANSCRIPT
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]
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').
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
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.
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
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
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.
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.