home *** CD-ROM | disk | FTP | other *** search
- ************************************************************************
- * Announcing the "Fuzzy PixMap" (or FBM) image manipulation library *
- ************************************************************************
-
- Current version 0.94
-
- The FBM library is now available in Beta test form to interested
- parties. This package allows manipulation and conversion of a variety
- of color and black-and-white image formats.
-
- Philosophy
-
- Each program can read any of the understood formats, and
- can write any of the understood formats that make sense for
- the image data.
-
- Programs are designed around specific image operations (sizing,
- scaling, retoning, halftoning, quantizing, etc.), rather than
- simply converting from one format to another. For example,
- converting a 4bit color GIF file to a 1bit Sun rasterfile
- takes the following operations:
-
- read GIF format
- map color values to grayscale
- adjust aspect ratio (1.2 --> 1.0)
- scale image up to be visible (320x200 --> 640x480 or 1152x864)
- optionally sharpen the image (edge enhancement)
- optionally clean up "snow" in image (flip isolated pixels)
- halftone (Blue noise, Floyd-Steinberg, Jarvis, Threshhold)
- write Sun rasterfile format.
-
- So there equivalent pipeline of fbm routines would be:
-
- clr2gray < foo.gif | fbnorm | fbext [ args ] | fbhalf [args] > foo.1bit
-
- That way you have maximum control over the resulting image size
- and quality.
-
- Inputs the following file formats
-
- o Sun rasterfiles (1, 8, or 24 bits, color or grayscale)
- o GIF files (1 to 8 bits, color or grayscale)
- o Amiga IFF files (except HAM mode)
- o PCX files
- o PBM bitmaps
- o Face files (CMU format for 1bit files by Bennet Yee)
- o FBM files (my own format)
-
- (automatically determines input format, and uncompresses
- files compressed using 'compress')
-
- Outputs the following formats
-
- o Sun rasterfiles
- o FBM files
- o GIF files (mapped color only)
- o Amiga IFF files (except HAM mode)
- o PBM (1bit files only)
- o Face format (1bit files only)
-
- With input converter for
-
- o raw images (like Amiga Digi-View files)
- o Targa By Ian MacPhedran
- o PIC By Ian MacPhedran
- o QRT By Butler Hines
-
- With output converters for
-
- o PostScript (1bit or 8bit grayscale files only)
- o Diablo graphics (1bit files only)
- o Targa By Ian MacPhedran
-
- Operations
-
- o Extract rectangle (optionally resizing and changing aspect ratio)
- o Change density and contrast (color and grayscale)
- o Rotate 90, 180, or 270 degrees
- o Quantize 24 bit RGB images to 8..256 colors
- Modified Heckbert median cut
- o Halftone grayscale using
- Ulichney's Blue Noise dithering
- Floyd-Steinberg dithering
- Jarvis's Constrained averaging
- Threshholding
- o Edge Sharpening by Digitial Laplacian (color or grayscale)
- o Convert color to grayscale (or compute "gray" colormap
- so grayscale images can be viewed on frame buffers)
- o Compute histograms of grayscale images
- o Sample 1bit images to convert to grayscale
-
- Status
-
- Beta test release, 0.9. "Use at your own risk, bug fixes not
- guaranteed, be happy with minimal documentation." Bugs reported
- so far have been fixed.
-
- Freely available for use, redistribution, incorporation into
- other code. Just don't make a profit off it or take my name
- off of it.
-
- Written in C for BSD and Mach Unix Systems.
- Tested on Vaxes, Sun Workstations, IBM RTs and Pyramids.
-
- Self contained. Does not require Sun include files or library
- routines to manipulate Sun rasters.
-
- Availability
-
- Anonymous FTP
-
- Host: nl.cs.cmu.edu (128.2.222.56)
- User: anonymous
- Password: name@site
- Directory: /usr/mlm/ftp/
- Filename: fbm.tar.Z
- Transfer: 'image'
-
- Note: you must 'cd' to /usr/mlm/ftp directly, you cannot access
- either /usr, or /usr/mlm alone. Don't forget to specify 'image'
- format transfer.
-
- Will be posted to UseNet when the code is stable and
- the documentation is complete and accurate.
-
- Acknowledgements
-
- GIF read support written by David Koblas.
- GIF write support written by David Rowley.
- Some IFF code by Jerry Morrison and Steve Shaw of Electronic Arts.
- Edge detection and pixel cleaning by Gary Sherwin and Michael Mauldin
-
- Rumours
-
- Future support is rumoured for TIFF files and MacPaint files. Also it
- may someday be able to write all of the formats that it can read.
-
- All that is needed to incorporate a new format is to write a routine
- that reads the given image into memory and one that writes it out
- again. I will incorporate other code on a "whenever I'm not working
- on my thesis" basis.
-
- Michael L. Mauldin (Fuzzy) School of Computer Science
- ARPA: Michael.Mauldin@NL.CS.CMU.EDU Carnegie Mellon University
- Phone: (412) 268-3065 Pittsburgh, PA 15213-3890
-