Question

I browsed around the internet and could not find any point matching implementation on java. Therefore I would like to create my own simple one that apply on simple line matching by following this tutorial

My first step would like to obtain some "points" as below to express the feature of an image. Is it a good approach to apply a thinning (skeleton) algorithm before getting the points? But I have no much idea on obtaining meaningful points in this next step, could anyone give me some guidance?

Please also point out if I am actually doing something silly that is unreasonable.

enter image description here

Was it helpful?

Solution

Your first step should be to define what transformation your matching points should survive through - is it just translation or also rotation, scaling, shear, etc? Your second step is to outline the useful properties for matching - that is points should stable to noise and transformation, well localized and supplied with a unique descriptor to actually match them with this "Signautre". Opencv has a java library, so you can start with the slowest but well worked out points and descriptors like SIFT, SURF and work your way up to FAST and your own descriptor, which can be faster but is more work.

Alternatively, you can just find well defined points in your font and use geometric hashing if you sure there are correspondences. In this case you dont need descriptors or even explicit matching. See Wikipedia article on geometric hashing. I think in a simple form it provides methodology for rotation and scaling transformations.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top