ArcV (pronounced "Ark V") stands for "Augmented Reality and Computer Vision [Library]" (this name may change in the future, not all that original as it is, I know).
Written in C++, it is primarily developed for learning purposes. It is intended to be optimized and to run relatively fast, even on low-end/old computers and smartphones.
This library is available for Linux and Windows. It is also especially aimed to be running on Android.
If you want to get started, head to the wiki!
Computer Vision
implies vision by... computer. That being said, how can there be vision without a bit of image processing?
Objectives | Implemented |
---|---|
Implementing Matrix/Vector classes | Yes |
Loading (reading) an image (JPEG/PNG/TGA/BMP/BPG) | Yes (PNG) |
Saving (writing) an image | Yes (PNG) |
Changing colorspace | Yes |
Convolution filtering | Yes |
Operations on images (rotation, flip, thresholding) | Yes |
Detecting basic features (corners, lines, circles...) | In progress |
Detecting advanced features (object recognition, ORB algorithm) | No |
Handle windowing | Yes |
Getting stream from webcam | Yes (Linux) |
May be decided to be added:
- Facial recognition
- Motion analysis/tracking
- Optical flow
- Image restoration
- Scene reconstruction
The principle of Augmented Reality
here is to place virtual elements over a picture or a video stream, this superposition having to be as realistic as possible.
This part will not be begun before a while: though being the most interesting, it makes less sense to move onto AR while CV isn't advanced enough.
Objectives | Implemented |
---|---|
Fiducial markers recognition | No |
Pose estimation | No |
3D models integration (OpenGL/Vulkan) | No |
To be continued!
Links to Wikipedia: