A lightweight C++ computer vision library for learning, building, and experimenting.
TinyCV is a minimal yet powerful computer vision library built from
scratch in C++.
It's designed for developers who want to understand how image
processing works under the hood instead of relying on heavy
frameworks.
- 📸 Image loading & saving (via stb_image)
- 🎨 Basic image processing:
- Brightness adjustment
- Contrast control
- Grayscale conversion
- Color inversion
- ⚡ Lightweight and fast
- 🧱 Modular design for easy extension
- 🧠 Built for learning + experimentation
git clone https://github.com/urshayan/tinycv.git
cd tinycvg++ main.cpp -o tinycv#include <iostream>
#include "io/image_io.h"
using namespace tinycv;
int main()
{
Image img = loadImage("test.png");
std::cout << "Loaded Image: "
<< img.width << " x " << img.height << "\n";
Image result = img.brightnessAndcontrast(img, 30, 10);
saveImage(result, "output.png");
std::cout << "Saved output.png\n";
return 0;
}tinycv/
│── io/
│── core/
│── filters/
│── main.cpp
│── stb_image.h
│── stb_image_write.h
- Phase 1: Basic operations ✅
- Phase 2: Convolution filters 🚧
- Phase 3: Advanced CV features 🔥
Pull requests are welcome!
MIT License
Shayan Ijaz