unshred
unshred copied to clipboard
Geometry features: feature detector to extract information about shapes of shred sides
Basically, we need a feature detector that will:
- Determine 4 corners of the shreds.
- Calculate a distance from each point on a shred side to the line that connects two corners of the side.
So for each shred we'll have 4 graphs (one per each side) which we can then use to match neighbor shreds by geometry.
Suddenly, I have an implementation in my side project called untorn. It's based on ideas from scientific paper mentioned in README. If you need a copy of this paper – let me know.
Bonus tasks:
- Think of algorithms that can perform partial matches between two shreds (see attached screenshot)
. As you can see here, shreds misplaced by a long side. - Try to determine concavity/convexity on top/bottom sides of the shreds (see attached image)