I'm trying to write a ridge detection algorithm, and all the sources I found seem to combine edge detection with ridge detection. Right now, I implemented the Canny edge detection algorithm, but that’s not what I want: for example, given a single line in the image, it will effectively translate it into a double line of edges (since it will record both sides of the line) - I just want so that he reads one line.
the wikipedia article on ridge detection has a ton of mathematics, but that kind of doesn't help me as a programmer (not that I'm not inclined to mathematics, but this is not my area, and I don’t understand how to translate their differential equations into code). Is there a good source to implement this? Or, for that matter, is there a good open source implementation?
Edit: here is a simple example. Let's start with a simple line:
http://img24.imageshack.us/img24/8112/linez.th.png
>
and run Canny Algorithm to get:
http://img12.imageshack.us/img12/1317/canny.th.png
(you can see that it is thicker here - if you click on the image, you will see that these are really two adjacent lines with a space between them)
In addition, I write in C ++, but that doesn't really matter. But I want to code the algorithm, and not just write SomePackage::findRidges() and do with it.
math image-processing edge-detection
Jesse beder
source share