Skip to content
Projects

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.

How these counts are measured

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 Tools

README.md

Original

NanoPM, 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.