Programming in Delphi

Find the Differences

Our theory about Idealization and Materialization is no longer just a theory. It has become a technology now! A technology that can be used e.g. for detecting the differences in two pictures that are nearly the same, as in some puzzles for children (called zoekplaatjes" in Dutch). Well, here comes: Usage:
  1. Make a subdirectory & go in there
  2. Unzip MARGRIET (e.g. with pkunzip)
  3. Unzip PLAATJES (e.g. with pkunzip)
  4. Run Project1 (executable)
  5. Load 2 nearly equal pictures
  6. Process and watch reddish colors
In short: make a directory. Unzip everything in that directory and Run the 'exe' files.
All source code has been included as well, for the serious programmer.

CopyRight (still?) Notice:
Pictures were taken from a more than 30 years old Dutch magazine for women, called 'de Margriet'.
Oh yeah, besides the Fuzzy Equal, a second method of processing called Fuzzy Logic has been included.
The latter is even more impressive. It employs its own version of a Fuzzy Equality, which is visualized by a second executable, called 'Project2'.


Best Fit Circle made Easy

Well, here comes: Usage:
  1. Make a subdirectory & go in there
  2. Unzip KROMMING (e.g. with pkunzip)
  3. Run Project1 (executable)
  4. Just Try. Hints provided
All source code has been included as well, for the serious programmer.
It does no harm to consult some additional theory, such as about transformations & variances and Best Fit Ellipses.
The program has been extended with best fit conic sections according my contributions to the 'sci.math' thread called Least squares fitting. It seems that the code is fool proof, because the only case where it can go wrong is for two line segments intersecting (a degenerated hyperbola). But I find that it doesn't go wrong in such cases.

Best Fit Straight Lines require techniques which are a bit deviant from the above:

No pictures included.
A cloud of points is defined by clicking on the image with the left mouse button.
A Best Fit Straight Line may be drawn by clicking on the image with the right mouse button.


That would be really cool

It is demonstrated with the software that it is possible, in principle, to find the angle between two congruent pictures (squares).
It is determined, actually, whether they have the same shape, apart from a ROTATION. The gist of the method is as follows.
Assume there exists a non-singular (= renormalized) conservative force field between the two pictures. Then minimize energy. Usage:
  1. Make a subdirectory & go in there
  2. Unzip KRACHTEN (e.g. with pkunzip)
  3. Run Project2 (executable)
  4. File → Open 1
  5. File → Open 2
  6. Process → Electrical / Gaussian
All source code has been included, as usual.


Recognition of Straight Lines

What's highly frustrating for a computer minded musician is the fact that those stupid machines still aren't capable of reading decent Music Score. No, they can't ! Even though certain brave vendors (as always) claim that they can. Have you ever fed a hand-written document into your scanner and expect something sensible to come out ? Neat copies - having been generated already with a Midi to Score comverter like the (excellent !) NoteWorthy Composer - do not represent the real-world problem, huh ? I'm So Sorry ...   What could have been the first step in Music Score Recognition, according to my humble viewpoint, is the faithful Recognition of Straight Lines.
End of quote.
Gradually, attention has shifted to a far more simple - and much more mathematical - problem. There do exist Computer Algebra Systems, like for example my favorite Maple. But why, oh why, are computers unable to recognize elementary geometries ? Starting with, for example, straight lines ?

Part of my dream has become true now, with the successful implementation of theory and practice, with the following project.

Usage:
  1. Make a subdirectory & go in there
  2. Unzip ALDERS (e.g. with pkunzip)
  3. Run Project1 (executable)
  4. File → Open
  5. Process → Calculations
  6. Process → Click on Pic (or do just that)
  7. until enough is enough
Sneaky previews: [   1   ] , [   2   ] , [   3   ] , [   4   ] .
Warning: some of the pictures may take (too) much time to accomplish, due to the serious bottleneck still present. And pictures like this one cannot be processed at all.

And, oh no, I couldn't believe that the so-called Hough Transform has been a solution to my problems for some time. Claims, claims ... all over the Pattern Recognition place. But where is the code I that can download and execute? Well, after publishing on UseNet it appeared to be just there (but the link is broken now) ! There is an executable in the ZIP, called 'hough_transform.exe'. Oh Lord, please help me to keep my big mouth shut until I know what I'm talking about :-( But it has been fun, nevertheless ... ) The original reference is: P.V.C. Hough, Machine Analysis of Bubble Chamber Pictures, International Conference on High Energy Accelerators and Instrumentation, CERN, 1959.
But, why oh why, has this technology not sunk down into Score Recognition Software ? Anyway, the Hough Transform has been implemented now - together with the above - as a separate project (guess what: 'Project2', while 'Project1' implements my own algorithm). There is an essential difference between the two approaches:

It is noted that Hough Transforms ('Project2') run into trouble with pictures like this, which has been processed more successfully with 'Project1' software.
There is a comprehensive summary of relevant P(attern) R(ecognition) stuff at Richard A. Messner's web page.
Other IMO relevant writeups are 'Circle Detection Using Hough Transforms Documentation'
and 'A short introduction to the Radon and Hough transforms and how they relate to each other'.