API Design with Eclipse

The design of the API of a class based on the visibility of its members is in Eclipse fairly easy thanks to the Outline view. One level up (the package level) there are no such nice hints for the visibility. Therefore I created a small plug-in that decorates Java classes in the package explorer view with the visibility icons. „API Design with Eclipse“ weiterlesen

Check if a pixel is aligned with others

The mathematical definition of a line is simple: y = a*x+c Where a is the slope and c is the value where the line intersects the y axis. In computer graphics this is not so trivial any more: Any line drawn within the image never intersects with the y-axis (the left border). Additionally the values defined by the pixel coordinates are discreet and a line definition may not pass through the heart of the pixel. „Check if a pixel is aligned with others“ weiterlesen

Image Comparison with Java (Part III)

The result of the last article was the outfluence of my search for a skeleton algorithm. The result was obviously not what I looked for but worthwhile none the less. The reason for this mismatch is the proper name for the skeleton algorithm: Voronoi Skeletons or medial axis transformation (MAT) are more common names.
„Image Comparison with Java (Part III)“ weiterlesen

Image Comparison with Java (Part II)

As described in the first part a more competitive algorithm for image comparison is based on a description of the picture. Here is the ultimate goal describing an image:

  • Dimensions of the image
  • Hue of the image (Mean of the histogram)
  • Tags for the picture (extracted from the context)
  • List of shapes in the image

Where as a shape is:

  • Form
  • Hue of the shape

It is conceivable trivial to process an image to display these characteristics, but it is not trivial to find a description of the shapes that is easily comparable.
The following describes an algorithm to find the contours in a binary image. The basic idea for the algorithm is described in the article on Morphological Image Processing. „Image Comparison with Java (Part II)“ weiterlesen

Image Comparison with Java (Part I)

It was several years ago, when I had the idea for image comparison. Then the chosen language had been C# because the features of DirectX. As it happens with such ideas they got put aside. Today I revisited the idea and made some discoveries:

  • I changed form Windows to Linux, so a .Net based language may not be optimal
  • DirectX is not portible as is OpenGL
  • Java provides now functionality for image processing
  • With the upcoming version 7 of the JDK, Java gets excellent OpenGL support

Therefore I would like to outline the ideas a bit further.
„Image Comparison with Java (Part I)“ weiterlesen