[Numpy-discussion] Update for IM. a small image processing system

Edward C. Jones edcjones at erols.com
Fri Jan 2 18:16:01 CST 2004


I have uploaded a new version of my small image processing system IM to
"http://members.tripod.com/~edcjones/IM-01.01.04.tar.gz". Most of the code
in IM (pronounced "I'm") is inferior to "nd_image" so I will eventually
convert it all to "nd_image".

Some features are:
    Wrappers for some useful functions in the numarray API.
    Standardized parameters
        Module(arrin), TypeCode(arrin), Width(arrin), Height(arrin),
        Bands(arrin), Mode(arrin), NatypeOrMode(arrin), and
    Open and Save
        Converts between array types and formats. Out of range values are
    Some additions to numarray
        BlockReduce, MultiReduce, BlockMean, CountNonZero, CountZeros,
        Stretch (grey level range), Zoom, Shrink, and Saturate.
        Convert an array to a list of (array[i,j], i, j) or a dictionary
            with entries d[(i,j)] = array[i,j].
    Sliding window operators including MeanX and HaarX which have masking. 
        Only the unmasked pixels are averaged when finding a mean. For MeanX
        and HaarX, a border is added to the image. The pixels in the border
        become the masked pixels.


There are many open source image processing systems but most of them get
only to the Canny edge operator and then stop. A sample of the better ones

    ImageMagick   http://www.imagemagick.org/
    OpenCV        http://www.intel.com/research/mrl/research/opencv/
    Xite          http://www.ifi.uio.no/forskning/grupper/dsb/Software/Xite/
    VXL           http://vxl.sourceforge.net/
    Gandalf       http://sourceforge.net/projects/gandalf-library/
    imgSeek       http://imgseek.sourceforge.net/

And then there is the huge and hard to use "Image Understanding Environment"
(IUE) at "http://www.aai.com/AAI/IUE/IUE.html". Has anyone used this?

A good starting point is "The Computer Vision Homepage" at
"http://www-2.cs.cmu.edu/~cil/vision.html". At this site there is a list of
published software. A well-known example is the Kanade-Lucas-Tomasi Feature
Tracker coded by Stan Birchfield at
"http://vision.stanford.edu/~birch/klt/". Thanks. Note how short the
software list is compared with the size of the computer vision lterature.

Why does so little software exists for the more advanced parts of computer
vision? I feel this is mostly because academic researchers seldom publish
their software. In some cases (for example, face recognition software) there
are financial motives. In most cases. I suspect that there is no pressure on
the researchers from journals or department chairmen to publish the
software. So they avoid the work of making their software presentable by not
releasing it. The result are many unreproduced experiments and slow
transitions of new algorithms out of academia.

A good computer vision system
    Has an easy to use and widely used scripting language.
    Has powerful array processing capabilities.
        numarray, nd_image
    Wraps a variety of other computer vision systems. The wrapping process
    should be straightforward.
        SWIG, Pyrex, Psyco, ..., and the Python API.
    Provides a uniform interface to its components.
    Is used by many people.

More information about the Numpy-discussion mailing list