How do their APIs compare?
How do their APIs compare?
About gaoxiang12/slambook · 2 messages · last activity 9/7/2026
I can only answer questions about gaoxiang12/slambook or huihut/interview, and this question doesn't quite fit either repo's actual nature — let me clarify why.
Neither repository exposes a network/service "API" in the conventional sense (REST, RPC, etc.):
gaoxiang12/slambook is a collection of C++ example programs organized by book chapter, meant to be compiled and run locally to demonstrate SLAM (Simultaneous Localization and Mapping) concepts. Its "interfaces" are just C++ library APIs it consumes from third-party SLAM/vision libraries — for example:
- OpenCV's
Feature2D/ORB detector and matcher APIs, used in [ch7/feature_extraction.cpp:L36-L75] and [ch12/gen_vocab_large.cpp:L1-L40] for feature detection/description/matching. - DBoW3's
VocabularyandDatabaseclasses for bag-of-words place recognition, used in [ch12/loop_closure.cpp:L1-L40] and [ch12/loop_closure.cpp:L36-L75] (e.g.,vocab.transform(),vocab.score(),db.add(),db.query()). - Ceres Solver's autodiff templates, seen in [ch10/g2o_custombundle/ceres/autodiff.h:L1-L40], for automatic differentiation in bundle adjustment.
- It also bundles g2o, Sophus, gtsam, Octomap, REMODE per chapter (ch4, ch6, ch10, ch11, ch13 per the README's contents list).
There's no unified "slambook API" — each chapter is a standalone demo invoking a different external library's API.
huihut/interview is not code at all in the functional sense — it's a Markdown knowledge-base/study guide (README.md, README_en.md, docs/) covering C/C++ interview topics like extern "C" linkage [docs/en.md:L344-L364] and inline functions [README_en.md:L161-L268]. It has no API surface whatsoever; it's documentation for interview prep.
So there isn't a meaningful "API comparison" between them — one is a robotics/SLAM code sample repo consuming several vision/optimization libraries, and the other is a static text reference on C/C++ language concepts. If you're interested in something more specific — like how slambook uses a particular library's API (OpenCV, DBoW3, g2o, Ceres), or a specific C++ language topic from huihut/interview — I can dig into that.
FOLLOW_UPS:
- What does DBoW3's Vocabulary/Database API do here?
- How is Ceres autodiff used in slambook's bundle adjustment?
- What C++ topics does huihut/interview cover in depth?
Want to ask your own question?
Open chat for gaoxiang12/slambookPublic Q&A. Generated by RepoPilot from the actual source of gaoxiang12/slambook. AI answers can be incomplete or stale — verify before relying on them.