Package org.shapelogic.imageprocessing

Image processing: Segmentation, vectorizers and annotation

See:
          Description

Interface Summary
IPixelTypeFinder Interface that are used for several Vectorizer.
PixelJumperByte Not sure if I need this, but this is a little bit of structure build on top of the ByteProcessor.
SBPixelCompare Interface for doing pixel compare.
 

Class Summary
BaseVectorizer Input image needs to be binary, that is gray scale with inverted LUT.
ChainCodeHandler Chain Code For MultiLine.
CircleFinder Class that can find a circle in MultiLine.
DirectionBasedVectorizer DirectionBasedVectorizer is a Vectorizer based on direction.
LineProperties LineProperties contains properties that are important for a line when you are dealing with curved multi line.
LineVectorizer LineVectorizer is a vectorizer using short line of default length 5.
MaxDistanceVectorizer Vectorizer that is splitting lines based on max distance to line between end points.
NeighborChecker Neighbor Checker.
PixelTypeCalculator PixelTypeCalculator stores some values for points and calculated the type of points based on them.
PointProperties LineProperties contains properties that are important for a point when you are dealing with curved multi line.
PriorityBasedPixelTypeFinder Classify points to find out what type they are.
SBByteCompare Compare implementations for gray scale.
SBColorCompare Compare implementations for RGB.
SBPendingVertical Contains information about one line that needs to be checked.
SBSegmentation High level class for segmentation.
SBSimpleCompare Abstract class fro compare.
ShortLineBasedVectorizer Base class for vectorizers that are using a local short line, to determine when to set point on multi line.
SimplePixelTypeFinder Find the type of a pixel.
 

Enum Summary
GeometricType Not sure if I should just reuse PixelType.
PixelType Enum with types for annotating pixels.
 

Package org.shapelogic.imageprocessing Description

Image processing: Segmentation, vectorizers and annotation

Content of image processing package

Vectorizers

A vectorizer is an algorithm for transforming bitmap lines into vector lines.

There are 3 different implementations vectorizers in ShapeLogic.
There are currently 3 different vectorizer implementations. They all assume that you are working on binary gray scale images images. So before you can use a vectorizer you have to convert your bitmap to this format.
The 2 first had a lot of problems and are now deprecated.
The vectorizers are part of a class hierarchy of different vectorization algorithms, all sub classed from BaseVectorizer.

Common to current vectorizer implementations

It would probably be a good idea to loosen some of these restrictions.

MaxDistanceVectorizer

The main idea is that this will read a whole multi line at a time. Then later it will split it according to max distance of pixels to the line between start and end point of the multi line.
This vectorizer is the one that works well.

LineVectorizer

LineVectorizer is a vectorizer reading sequences of short line of length 5. If 2 consecutive lines are close in direction you can merge them. But if they are far away in angle you create a new line.
This approach ran into problems and has been deprecated for now.

DirectionBasedVectorizer

The main idea is that this will read a whole multi line at a time. It is using a priority of different types of points around an intersection to read trough an intersection where you can take different ways.
This approach ran into problems and has been deprecated for now.

Segmentation

Color and gray scale segmentation algorithm. The segmentation algorithm works on both RGB and 8 bit gray scale images.

It is currently writing out information to a dialog box.



Copyright © 2007. All Rights Reserved.