Fast Jigsaw Puzzle Solving with Python: From CV Algorithms to Applications
summary
A pipeline extracts contours from images with OpenCV and NumPy, smooths and simplifies them (Gaussian + Douglas-Peucker), filters candidates by cosine similarity and a fast collision test, then scores matches with a weighted mix of LCSS and soft distance measures; critical hotspots are pairwise complexity and contour noise. Parts compile to native code with pybind11 C++ extensions to push per-comparison time under ~50 ms. Dataset size hits 150,000 fragments for oracle bones; the prototype produces human-comparable joins but has not yet yielded confirmed new reconstructions.
AI-written summary · about
chapters (11)
- 0:00Introduction to talk
- 1:29Speaker background
- 5:05Oracle bones and need for reconstruction
- 8:38Jigsaw puzzle analogy for fragments
- 13:58Model construction approach
- 16:08Contour extraction process
- 19:23Contour simplification
- 21:11Similarity and collision testing
- 22:35Evaluating reconstruction results
- 24:46Optimizing with C++
- 26:11Q&A session
related talks
06mMaze Solver using Python and OpenCV
49mGraph Based Processing of Big Images
43mOh, Oh, Oh, It's Magic!
21mLeveraging Python for Real-Time Image processing
38m3D Face Tracking and Reconstruction using Modern C++
31mHow our neural networks find polygons to understand your documents better
30mIntroduction to Computer Vision with OpenCV
21mBuilding your own dystopic surveillance state with Python
