Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Image Processing Design Toolbox details
Login with GitLab

Image Processing Design Toolbox

This toolbox implements functions for object detection.
(10535 downloads for this version - 292623 downloads for all versions)
A more recent valid version with binaries for Scilab 5.3 exists: 8.3
Dr. Eng. (J) Harald Galda
Owner Organization
private individual
Harald Galda
Creation Date
February 21, 2011
Source created on
Scilab 5.3.x
Binaries available on
Scilab 5.3.x:
Windows 32-bit Windows 64-bit
Install command
--> atomsInstall("IPD")
            IPD - Image Processing Design Toolbox Version 8.0
Copyright (c) by Dr. Eng. (J) Harald Galda, 2009 - 2010.
Conveyed under the conditions of the GNU GPL Version 3 or later.

This toolbox provides functions for designing and parameterizing image
processing algorithms. The following functionality is provided:

1. Histogram calculation
   - gray level histogram
   - cumulated histogram

2. Thresholding
   - segmentation by threshold
   - threshold calculation by Otsu method

3. Morphological filters
   - dilation
   - erosion
   - closing
   - opening
   - top hat
   - bottom hat

4. Median filter

5. Filtering for edge detection
    - Sobel filter
    - Laplace filter
    - Prewitt filter
    - Scharr filter

6. Region based segmentation
   - distance transform
   - watershed transform

7. Blob analysis
   - searching connected regions in binary images
   - removing blobs that have less pixels than a lower bound or more pixels
     than an upper bound
   - calculating specific properties of blobs such as bounding box, centroid
   - drawing bounding boxes around objects found in an image
   - calculating histogram of blob sizes
   - calculating cumulated histogram of blob sizes

8. Displaying images in figure windows
   - display
   - conversion of RGB to indexed images
   - conversion of indexed images to RGB 

9. Conversion between color images and gray level images
   - RGB    to  gray level
   - RGB    to  L*a*b* 
   - L*a*b* to  RGB 

10. Opening image and video files
   - reading image files
   - writing image files
   - reading video files

11. Linear filteration

12. Variance filter

13. Texture feature calculation
   - Laws texture energy
   - discrete Wavelet frames

14. Template Matching

15. Interactive Image Analysis GUI      

This version uses OpenCV 2.1 which is available for download at

It is recommended to choose Atlas library option when installing Scilab. IPD
can not be loaded if the reference library option was chosen during Scilab 
installation. The author of this toolbox does not use Intel Math Kernel

If you intend to work with the file red-car-video.avi, please install the XVid
codec which is available for download at
Files (7)
[2.43 kB]
Miscellaneous file
Description in German -- Beschreibung auf Deutsch
[6.78 MB]
Source code archive
This ZIP file includes the sources of IPD-8.0 with small modifications.
[11.20 MB]
Windows 32-bit binary for Scilab 5.3.x
Windows 32-bit
Automatically generated by the ATOMS compilation chain

[12.18 MB]
Windows 64-bit binary for Scilab 5.3.x
Windows 64-bit
Automatically generated by the ATOMS compilation chain

[2.33 kB]
Miscellaneous file
Description in English
[3.57 kB]
Miscellaneous file
Description in Japanese -- Nihongo no setsumei

[3.85 MB]
Miscellaneous file
This document explains how objects can be detected in images. Moreover, it
describes how to use the toolbox.
News (19)
Comments (4)     Leave a comment 
Comment from Samuel Gougeon -- March 3, 2011, 10:18:50 PM    

A ticket for embedding an improved version of ShowImage()
has been posted here:
with the macro attached. It mainly allows to plot several images in the 
same figure window, through subplot() and the building of a shared colormap.

Comment from Samuel Gougeon -- March 3, 2011, 10:23:38 PM    
Another ticket has been opened here
for posting an improved release of the WaveletFrames demo,
getting full advantage of the new ShowImage() posted in ticket 354.

See the ticket for details, and enjoy.
May be some other IPD demos could also be updated in the same way.

Answer from Harald Galda -- March 5, 2011, 07:04:37 PM    
Actually I do not like the idea of a shared color map all that much. When an image is 
processed the work flow is often like this:

RGB image -> gray level image -> filtered gray level image -> thresholded image -> object 
image (with a lot of objects) -> processed object image (with few objects).

It is desirable to visualize all steps of this work flow so images of different types (RGB,

gray level, black-white, pseudo color image) should be displayed. 

If all images to be displayed share a color map, this color map must be expanded for each 
image. Another possibility is creating one color map for all images before displaying them

and updating the gray levels to the indices of the new color map. 

The function addcolor does not add an entry already present in the color map. This makes 
index calculation very  messy because each entry of the original sub image color map must 
be searched in the new figure color map.

ShowColorImage constructs a color map that has as many rows as the image has pixels. This 
is a matrix with hundreds of thousands of rows even for comparatively small images. It 
costs a lot of time to set the color map of a figure to that matrix. Expanding this matrix

costs a lot of time, too.

In my opinion, displaying several images in one figure makes sense only if there is a fast

method for color map expansion or if each axis can have a separate color map.
Comment from Lee Duke -- March 15, 2011, 03:55:41 AM    
Dear Galda,

Did IPD open and read image from webcam directly?

Answer from Harald Galda -- March 15, 2011, 08:38:43 AM    
Dear Lee Duke,

there is no function in IPD that reads images from a web cam directly.

Harald Galda
Comment from Carlos Gulo -- April 14, 2011, 05:06:41 PM    

How is possible to install IPD 8 in Scilab 5.3.1 (Linux version)? I've tried to use
functions like im2gray but even not in SIVP. So, I'd like to know how to install this
using ATOM.

	IPD (8.0-1) will be installed in the 'user' section
	Installing IPD (8.0-1) ...atomsDownload: The following file hasn't been downloaded:
	 - URL            :
	 - Local location :
 !--error 10000 

at line     200 of function atomsDownload called by :  
at line     307 of function atomsInstall called by :  
I tried to install 7.0, but I didn't get it. I downloaded in atoms directory so I don't
know what to do then.

So, thank you very much.

Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.