After serveral tries to combine Java Advanced Imaging (JAI) with a Maven project I finally succeeded. The main problem as it is often in such cases is that there is not enough documentation on the subject in the web. I am sure that countless programmer had the same problem, but after they solved the problem they did not document it or if they did their solution is unsatisfactory for an open source project (e.g. installing the JAI dependencies in your local repository). Therefore here is my solution:
I have a list of list of images which I would like to display so I can decide what to do with them. The structure of List of List is because similar images compose the inner list. The images of the inner list should be displayed in a row whereas the outer list are the different rows. (weiterlesen …)
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.
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:
- 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. (weiterlesen …)
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.