390 likes | 556 Views
Development of a Free Image Processing Toolbox for Scilab. Author: Ricardo Fabbri Advisor: Luciano da Fontoura Costa e-mail: rfabbri@if.sc.usp.br URL: siptoolbox.sourceforge.net Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo, Brasil. 09/2003.
E N D
Development of a Free Image Processing Toolbox for Scilab Author: Ricardo Fabbri Advisor: Luciano da Fontoura Costa e-mail: rfabbri@if.sc.usp.br URL: siptoolbox.sourceforge.net Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo, Brasil. 09/2003
Plan of Presentation • Introduction • Design and Development • Implemented Functionalities • Future Work • The Cybernetic Vision Research Group • Conclusions • References
SciLab • Free software • Numerical programming • Rapid Prototyping • Extensive libraries and toolboxes • Easy for matrix manipulation: • A * B * C + D • Unnecessary looping
SciLab • Ambiente open source • Programacao numerica • Prototipacao • Rotinas prontas • Facil para manipular matrizes: • A * B * C + D • Loop desnecessario Ideal for Image Processing
SIP toolbox Goals: • Image I/O for SciLab • Image processing, analysis, and recognition. • Free software • Cross-platform
SIP toolbox • Beginning: only a few simple routines • By the end of 2001 • Routines for image I/O in virtually any format • Many other routines for IP • Today it is used by many researchers and students around the globe
Auto-configuration Problems with portability • Differences between development and usage environments • UNIX has many variants and is highly customizable • How to detect external libraries? • How to deal with different versions of Scilab?
GNU Autotools • Autoconf, Automake, and Libtool • Typical in free software • Enable installation through the famous sequence: • configure # tests the system • Make # compiles • Make install # installs
My Experience with Free Development • “Release early, Release Often” • FEEDBACK • Linux/UNIX • Sourceforge.net • Requirements • Effective user inclusion
Free Development • Architectural design (high level) • SIP is simple • Joint usage of routines is not enforced by the software policy • Detailed design • Interface ~ Matlab • Good sourcecode organization
Free Development • Test • Interactive prototyping • Alpha and beta versions • Main developer tests less and fixes more. • Deployment • Freshmeat.net and Sourceforge.net • email and newgroups
Image I/O • Read image files • imread • Write imag files • imwrite • Almost 80 formats: JPEG, TIFF, BMP, PNG, GIF, FITS, XPM, Photo-CD, ... • ImageMagick
1D Gaussian filtering • Convolution by Fourier Transform
Multiscale Skeletons • Stability under rotations • Accepts objects with holes • Fast algorithms based on graph theory
Other Functionalities • Thinning (Lam-Suen) • Hough Transform • Fractal Dimension • Edge detector by Fourier derivatives • Watershed segmentation • Fast euclidean distance transforms
Median Filtering • Non-linear filter with low border shifting
Border Enhancement • Partial derivative approximation • Two orthogonal directions • Gradient magnitude • Convolution masks
Border Enhancement Sobel ImageMagick
Curvature • Useful local measure
Mathematical Morphology • Dilation • Erosion • Arbitrary structuring elements
Geometric Tansformations • Coded using ImageMagick • Mogrify command
Edge follower • Extracts parametric coordinates • C(t) = (x(t), y(t)) • Closed curves and contours
Histogram Equalization • Spreads the distribution of intensities
Contributions • Denoising by min/max curvature flow (thanks to L. Estrozi) • Routines for processing images from optical interferometry (J. Druel) • Adaptive thresholding (ImageMagick)
Future Work • Better integer support • Test suite • Improve graphical display • External doc for Animal
Future Work • Integration with Imagemagick and Gandalf libraries • CVS • XML Help • Usability • New routines
Conclusions • High demand for SIP • It is still the only free tool for easy prototyping of image analysis solutions, not limited to simple processing techniques • Low cost • Valuable experience with free software
Personal Facts • Undergrad research since 1999 • Cybernetic Vision Research Group • Very well equipped • Productive environment • I'm currently working with distance transforms, Voronoi diagrams, skeletonization, and related techniques. • Plan to do a PhD in Image Processing.