[Numpy-discussion] Update for IM. a small image processing system
Edward C. Jones
edcjones at erols.com
Fri Jan 2 18:16:01 EST 2004
IM
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.
NA_GetType
NA_TypeName
NA_GetTypeFromTypeno
NA_TypenoFromType
SafeCastCheck
Standardized parameters
Module(arrin), TypeCode(arrin), Width(arrin), Height(arrin),
Bands(arrin), Mode(arrin), NatypeOrMode(arrin), and
BytesPerItem(arrin)
Open and Save
ArrayToArrayCast
Converts between array types and formats. Out of range values are
clipped.
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.
THOUGHTS
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
are:
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.
Python
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