home *** CD-ROM | disk | FTP | other *** search
- Filtpic (fpic) documentation
- ----------------------------
-
- Fpic is an image processing program, designed specifically to be used in
- conjunction with digitized (Digi-View) lo-res black & white IFF picture
- files. Since the program was written to utilize Digi-View B&W pictures, some
- special processing relating to these images was required.
-
- When a b&w lo-res image is saved by digi-view, it stores the image as a 32
- color IFF format file. Since the Amiga is capable of displaying 16 shades
- of gray, the digi-view image only utilizes colors 16 thru 31 of the entire 32
- color pallete. Fpic depends on this color mapping to work effectively.
- Results using images without this color mapping are unpredictable (at best)
- but sometimes interesting. Included within this arc file are 2 digitized
- images you can experiment with. An excellent tutorial on general image
- processing can be found in the March 1987 issue of Byte magazine..
-
- -----------------
- Program Operation
- -----------------
-
- (Dos 1.2 required)
- Simply type 'fpic' from the cli command line. Fpic should work with expanded
- memory since all modules have been 'Atomized' (if i remember correctly).
- Operation from workbench is as yet, untested.
-
- Menu Selections
- ---------------
-
- A brief description of the available menuitems follows..
-
- Project
- -------
- Hide Menustrip
- ==============
- Disables the display of the menustrip so you can view a full screen image.
- Does not affect pulldown menuitems.
-
- Show Menustrip
- ==============
- Enables display of menustrip.
-
- Load Picture
- ============
- Allows you to load an IFF picture file via requester.
-
- Save Picture
- ============
- Allows you to save the displayed image in IFF format via requester.
-
- Restore Image
- =============
- Quick restore of the unmodified image (usually). Actually copies the image
- from the hold buffer to the active display.
-
- Image to Hold
- =============
- Copies the displayed image to the holding buffer. Useful in combining the
- cumulative effects of various image filters, as all image processing uses
- the hold buffer as its image source.
-
- Load Hold
- =========
- Allows you to load an IFF file directly into the hold buffer via requester
- without altering the displayed image. Useful when merging the displayed
- image with another image. (See 'Merge2' under the 'Filters' menu).
-
- Quit!
- =====
- Goodbye..
-
- ---------------------------------------------------------------------------
-
- Filters
- -------
-
- Average
- =======
- Produces new image based on the average pixel intensity of the original
- image using a 3x3 Kernel.
-
- Binary
- ======
- Produces a binary (high contrast black & white) image based on a threshold
- supplied by the user via requester. Valid threshold values are in the
- range 0 thru 15, where 0 represents black and 15 represents white. Any
- pixel with a color value below the threshold is changed to black and any
- pixel with a value >= threshold is changed to white.
-
- ClipBlit
- ========
- Performs a ClipBlit using the Hold buffer and the displayed image as the
- sources. Uses a miniterm supplied by user via requester. Maybe useful in
- understanding the operation of the Blitter and/or MiniTerms. See hardware
- reference manual (Blitter) and Rom Kernel (ClipBlit function). Try it..
-
- Cross
- =====
- Produces new image based on Cross operator. The Cross operator is an edge
- detection filter.
-
- Sobel
- =====
- Produces new image based on an approximation of the Sobel operator. This
- is another edge detector.
-
- Roberts
- =======
- New image via Roberts operator. Yet another edge detector..
-
- Pixelize
- ========
- New image produced using an averaging technique, resulting in enlarged
- pixels.
-
- Sharpen
- =======
- Hi-pass filter. Enhances high frequency content of image.
-
- UserMatrix
- ==========
- One of the more interesting options. Allows the user to specify his own
- 3x3 kernel which is then applied to the image. Somewhat slow due to the
- fact that nine multiplications are required per every pixel in the image.
- The requester for this option defaults to a low-pass filter.
-
- Merge2
- ======
- Merge the displayed image with the image in the hold buffer.
- Uses:
- Combine a filtered image with the original to reduce the effects of
- the filter.
-
- Use the 'Load Hold' option from the project menu to load a different
- image into the holding buffer. This will allow you to combine two
- seperate images into one, resulting in a double-exposure effect.
-
- Maximum
- =======
- Utilizing a 3x3 kernel, produces a new image based on the maximum pixel
- value found within the kernel. Sometimes used for texture analysis.
-
- Minimum
- =======
- Similar to Maximum except minimum pixel value is used.
-
- Median
- ======
- Like Maximum & Minimum except median pixel value is used. Sometimes useful
- in reducing random noise within the image.
-
- ---------------------------------------------------------------------------
-
- Misc.
- -----
-
- Compare
- =======
- Produces a split screen (kind of) of the displayed image and the image in
- the hold buffer. Useful for comparision of original and enhanced images.
-
- Histogram
- =========
- Produces a 16 column histogram (graph) showing the color utilization of
- the original image, where the leftmost column represents black and the
- rightmost column represents white.
-
- Remap-Low
- =========
- Remaps the displayed image to utilize colors 0 thru 15 of the current
- colormap. Uses: I wanted to do it..
-
- Remap-Hi
- =========
- Remaps the displayed image to utilize colors 16 thru 31 of the current
- colormap. Uses: I wanted to undo what i did.....
-
- -------------------------------------------------------------------------
- End of menu options
- -------------------------------------------------------------------------
-
- General Info
- ------------
- Fpic was developed on a 512k amiga using Lattice C (3.03) with 1.2 include
- files/libraries/linker from the gamma 1.2 release of the developers' disks.
- A special library of assembly language functions was developed to help
- increase the speed of the computationally intensive image processing
- functions as well some special functions for pixel manipulation of the
- bitplane based images.
-
- Most of the image processing filters are based on a 3x3 kernel, which
- modifies every pixel of the original image based on the neighboring pixels
- within the 3x3 kernel in association with the particular algorithm in use.
-
- Fpic is quite a memory hog. It actually requires 208k for image buffering
- alone. I would think you need at least 300k of free memory to be on the
- safe side.. It does run on my 512k machine with no problem..
-
- ** Special Thanks **
- --------------------
- To Jim Kent for the pd IFF file reader.
- To Matt Dillon for the basis of the IFF file writer.
- To C.Heath for the file requester (slightly modified from fred fish disk
- #41).
-
- Program status
- --------------
- Released to the public domain in object format, no strings. I haven't
- decided on the status of the source yet.. I don't get a chance to use
- compuserve much, so i doubt if i would see any messages pertaining to this
- program on the amigaforum. Though I will make an attempt to answer any
- e-mail. Hope you enjoy fpic as much as i did writing it...
-
- Bob Bush 73105,1332
- 10 April 1987
-
- ************ end ************
-
-