Well, I said I would try to get some code from my OCR project out, and here it is. This is my implementation of the Munkres linear assignment problem over a rectangular matrix. I also included a bare-bones matrix utility class. I am releasing this code under the GPL.

16 April 2007 Update: There seems to be an issue with my implementation when dealing with NxN matrices with N greater than 100. Also, the example code in munkes.h is not correct. I will be posting fixes shortly in a separate post.

22 May 2007 Update: Sorry it took so long… please see my new post.

As promised, here are some details about my new OCR project. It is an implementation of Shape Context matching, using the Munkres assignment algorithm to solve the weighted bipartite matching problem. I will be using Thin Plate Splines to evaluate potential matches. I am also implementing the Canny edge detection algorithm for this project.

I hope to be able to release some code examples in the next couple of weeks, so stay tuned.

Sorry for the delay in posting, but the holidays were quite hectic. I recently got a new project doing OCR work, and I’ll post some more details about what I’m doing in the next couple of days.

Well, it’s been a busy few weeks, lots of small projects that needed to be caught up on. Recently, I stumbled across OpenID, an open, decentralized, free framework for user-centric digital identity. I decided to use OpenID for my new social/community site (ala MySpace), and provide OpenID URLs to members. It isn’t online yet, as it’s still in development, but I’m quite excited about it already.

I also decided it was time to start using the PHP Data Objects (PDO) classes for my database interface needs. It’s a more portable, cleaner looking, and a more easily mantained way to manage database access than the specific database interfaces that come with PHP. Other than a small issue of having persistent connections enabled causing errors, which I fixed by disabling persistent connections for the time being, everything is going smoothly.

Well, busy as always. I’ve been trying my hand at some image processing and OCR work. There is a lot of material out there, some good papers, and lots of very helpful tutorials on edge detection algorithms. This isn’t really an area that I’ve focused in before, but I am always looking to expand my expertise.