Projects
View on GitHub
unclearness/nanopm
unclearness/nanopm has 77 GitHub stars and 2 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-15 07:32 UTC. Last push 2026-07-09.
Measured star growth
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
NanoPM, single header only PatchMatch
Developer ToolsREADME.md
OriginalNanoPM, single header only PatchMatch
NanoPM is a single header-only implementation of PatchMatch algorithm written in C++. Could be used for variety of applications.
| src | dst |
|---|---|
![]() |
![]() |
| PatchMatch (350 ms. a single thread) | BruteForce as Ground Truth (3 min. 8 threads with OpenMP) | |
|---|---|---|
| NNF (Nearest Neighbor Field) | ![]() |
![]() |
| Distance (white is higher error) | ![]() |
![]() |
| Reconstruction (esimated src by using only patches in dst) | ![]() |
![]() |
Example applications
- inpainting (WIP)
Optional Dependencies
You can include optional dependencies in nanopm.h (mainly for I/O) but it will no longer be "single header-only".
- stb (default ON)
https://github.com/nothings/stb
- Image I/O
- OpenCV (default OFF)
- cv::Mat_ as Image class. Image I/O
- OpenMP (default OFF)
(if supported by your compiler)
- Multi-thread accelaration
Reference
- Barnes, Connelly, et al. "PatchMatch: A randomized correspondence algorithm for structural image editing." ACM Transactions on Graphics (ToG). Vol. 28. No. 3. ACM, 2009.
Data
Borrowed Middlebury Stereo Datasets. Original data is from http://vision.middlebury.edu/stereo/data/scenes2005/ThirdSize/zip-2views/ALL-2views.zip
- D. Scharstein and C. Pal. Learning conditional random fields for stereo. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2007), Minneapolis, MN, June 2007.
- H. Hirschmüller and D. Scharstein. Evaluation of cost functions for stereo matching. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2007), Minneapolis, MN, June 2007.







