ArcV icon indicating copy to clipboard operation
ArcV copied to clipboard

Computer Vision & Augmented Reality library

ArcV

Computer Vision & Augmented Reality library


Summary

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!

ArcV is...

... A Computer Vision library

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

... An Augmented Reality library

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!

External links

Links to Wikipedia: