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.
(2713 downloads for this version - 290474 downloads for all versions)
Details
Version
3.3
A more recent valid version with binaries for Scilab 5.2 exists: 5.0
Author
Dr. Eng. (J) Harald Galda
Owner Organization
private individual
Maintainer
Harald Galda
Category
License
Creation Date
March 3, 2010
Source created on
Scilab 5.2.x
Binaries available on
The maintainer of this module has not provided binaries.
Description
            IPD - Image Processing Design Toolbox Version 3.3
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

Changes between version 3.2 and version 3.3

   - help directory structure is changed
   - typo in help of AnalyzeBlobs is corrected   
      
This version uses OpenCV 2.0 which is available for download at

     opencv.willowgarage.com/wiki/

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
Library.
            
Files (3)
[840.15 kB]
Source code archive
This ZIP file contains the Scilab scripts, cpp functions and XML files. If you
have OpenCV 2.0 on your computer, you can copy the files

     cxcore200.lib
     cv200.lib
     highgui200.lib

to the directory

     IPD-3.3\sci_gateway\cpp\lib\

or edit 

     builder_gateway_cpp.sce

in the directory

     IPD-3.3\sci_gateway\cpp\

and set the library path. 

Then you can compile the toolbox.

If you want to load the toolbox, you must copy the files

     cxcore200.dll
     cv200.dll
     highgui200.dll

or the dll equivalent on your operating system to the directory

     IPD-3.3\sci_gateway\cpp\

[5.27 MB]
32
This ZIP file contains all files necessary on Windows.
[2.12 kB]
Miscellaneous file
This file describes the toolbox.
News (19)
Comments (4)     Leave a comment 
Comment from Chin Luh Tan -- March 4, 2010, 01:59:49 AM    
Hi Dr Harald, 

Thank you again for your contribution. I've been posting some matlab base image 
processing example at http://basic-eng.blogspot.com/, and was trying to
port over to 
scilab last time with sip and svip. 

I believe with your contribution, I could convert even more code to scilab base. I hope 
you don't mind if I quoted you name (and your tools) in my blog ragarding image 
processing using scilab?

Thanks.

Regards,
Chin Luh
Answer from Harald Galda -- March 4, 2010, 09:35:38 AM    
Hi Chin Luh,

I am pleased to learn that you intend to use the toolbox I have created.

Please feel free to quote my name and tools.

Regards
Harald Galda
Comment from Harald Galda -- March 4, 2010, 09:33:59 AM    
This comment has been deleted.
Comment from Harald Galda -- March 4, 2010, 01:04:49 PM    



Comment from Owcz Ale -- March 9, 2010, 12:22:00 PM    
I used this example with newest sci-lab and IPD module loaded via mnodule menager.

Image = 0.5 * ones(9, 9) // generate gray image
Image(:, 3) = 0 // draw dark line
Image(:, 7) = 1 // draw light line
StructureElement = CreateStructureElement('square', 3) // generate structuring element
ResultImage = ErodeImage(Image, StructureElement)

There is stil problem with:

-->StructureElement = CreateStructureElement('square', 3) // generate structuring element
 !--error 4 
Undefined variable: TYPE_STRING

How can I fixed it?

A.O.
Answer from Harald Galda -- March 10, 2010, 10:56:59 AM    
I loaded the IPD-3.3 into Scilab 5.2.1 and I did not reproduce that error.

The variable

     TYPE_STRING

is defined in

     IPD-3.3\etc\IPD.start

and IPD.start is loaded into Scilab by

     IPD-3.3\loader.sce

Does that error occur only once (then it is temporary) or more than once?
 
Answer from Samuel Gougeon -- March 18, 2010, 12:17:41 PM    
> There is stil problem with:
> 
> -->StructureElement = CreateStructureElement('square', 3) // generate structuring
> element
>  !--error 4 
> Undefined variable: TYPE_STRING


I am also experiencing such issues with IPD 3.3 installed thank to the ATOMS interface:

-->rgb=ReadImage("dispersion_spectrale.png");
 !--error 4 
Undefined variable: TYPE_STRING
at line      30 of function ReadImage called by :  
rgb=ReadImage("dispersion_spectrale.png");
--> // ------------------------------------------------
--> TYPE_STRING=type("a"); 
--> rgb=ReadImage("dispersion_spectrale.png");
--> [image tmp]=RGB2Ind(rgb);
 !--error 4 
Undefined variable: TYPE_DOUBLE
at line      53 of function RGB2Ind called by :  
[image tmp]=RGB2Ind(rgb);
--> // ------------------------------------------------
--> TYPE_DOUBLE=type(1.1); [image tmp]=RGB2Ind(rgb);
-->ShowImage(image,"Image test")
 !--error 4 
Undefined variable: TYPE_INT
at line      62 of function ShowImage called by :  
ShowImage(image,"Image test")
--> // ------------------------------------------------
--> TYPE_INT=type(uint8(1)); 
-->ShowImage(image,"Image test")
 !--error 4 
Undefined variable: TYPE_BOOLEAN

at line     116 of function ShowImage called by :  
ShowImage(image,"Image test")
--> // =======================================================
Apparently, either IPD\3.3\loader.sce launching IPD.start initializing these variables is
not run when installing IPD through the ATOMS manager, or it is run but from a function in
which variables are defined locally and lost at the end of it. Or... ?

Regards
Samuel
Answer from Harald Galda -- March 18, 2010, 01:45:26 PM    
The variables TYPE_STRING, TYPE_INT, EDGE_SOBEL etc. are defined inside IPD.start and
IPD.start is called by loader.sce. Maybe loader.sce is not called after installation by
atomsInstall. 

As far as I know a toolbox is not loaded during the Scilab session in which it was
installed by atomsInstall. A toolbox is loaded after closing and re-starting Scilab.
Answer -- March 18, 2010, 01:57:51 PM    
> The variables TYPE_STRING, TYPE_INT, EDGE_SOBEL etc. are defined inside IPD.start and
> IPD.start is called by loader.sce. Maybe loader.sce is not called after installation
> by atomsInstall.


loader.sce is called in a function (atomsLoad) so variables that are defined in this file
are not known from the console scope. You've to use global variables.

> As far as I know a toolbox is not loaded during the Scilab session in which it was
> installed by atomsInstall. A toolbox is loaded after closing and re-starting Scilab.


You can do it in the same Scilab session:
--> atomsInstall IPD
--> atomsLoad IPD

Pierre
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.