From: Edward C. J. <edc...@er...> - 2004-01-03 02:15:16
|
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. |