Back to Programs

Media

OpenCV

++ beneficial uses of computer vision in society

aic++deep learningmachine learningpython

Participation history

9 GSoC years

2025

9 projects

Official year page

QR/Barcode/ArUco detector

Description: QR, Barcode and ArUco are all popular code in computer vision applications. OpenCV now support all of them, and can detect and decode...

Better LLMs Support in OpenCV: Tokenizer Integration into DNN Module

I propose to integrate native text tokenization support into OpenCV’s DNN module so that Large Language Models (LLMs) can be run end-to-end directly...

Integrate Fractal ArUco into OpenCV

Problem: Traditional ArUco markers in OpenCV struggle with occlusion and long-range detection. Fractal ArUco markers (developed by Prof. Rafael Muñoz...

Computational photography algorithms for better image quality

GitHub issue: Opencv #27206, Opencv_contrib #3921 Fork with WIP: https://github.com/MykhailoTrushch/opencv_contrib As part of GSOC 2025 idea 11,...

Visual Language Models for OpenCV

This project aims to extend OpenCV’s DNN module with efficient runtime support for Large Language Models (LLMs), focusing on enabling Visual Language...

Implementation of a SLAM Framework in OpenCV with (ALIKED features & LightGlue matcher)

This project presents a methodological approach to designing, implementing, and documenting a SLAM framework from scratch in Python. The primary...

Multi-camera calibration test

I propose to enhance OpenCV’s multi-camera calibration pipeline by curating and organizing high-quality calibration datasets that include varied...

Enhancing OpenCV's imgcodecs Module Code Refactoring and Feature Improvements

The goal of this project is to improve OpenCV’s imgcodecs module by reducing code duplication, enhancing performance, and improving format support....

Adding libcamera support for VideoCapture

The Raspberry Pi OS Bullseye released with a new open camera stack libcamera, while VideoCapture did not integrate with the new camera backend in...

2024

5 projects

Official year page

3D Radiance Toolbox

The goal of this project is to develop an open-source toolbox that enables easy and efficient capture of real-world 3D scenes using mobile devices...

Animated images and other functionality for imgcodecs

1.Adding support animation encoding/decoding to OpenCV library. ( according to result of meetings which file types will be supported.) 2.zlib-ng...

OpenGL support with GTK 3 and GTK 4

OpenCV 4.x supports integration with GTK 2, but it's out of date for most of modern Linux distribution. GTK 3+ provides new API for OpenGL...

Block-wise Quantization

The proposal aims to expand upon the advancements made in the 2023 project, which focused on introducing 8-bit model quantization to OpenCV-zoo....

Support gif decode and encode and other functionalities for imgcodecs

Formats like GIF are widely used, however, OpenCV provides a limited support for this format. Noticed that FFmpeg is a dependency of OpenCV and it...

2023

10 projects

Official year page

OpenCV IDEA: Lightweight Optical Flow Model

Optical flow is the problem of estimating the motion of objects in an image or video sequence. Optical flow is pivotal to many computer vision...

Realtime object tracking models

The current state-of-the-art tracking models are hampered by low speed, limiting their applicability on devices with limited computational power....

Realtime object tracking models

Deep learning techniques impressively improve the performance of object tracking algorithms. Such algorithms have been deployed on some drones and...

A Pipeline for NeRF Experimentation and Visualization

The goal for this project is to develop a NeRF model training pipeline within the OpenCV library. The end result will be a fully functioning data...

OpenCX: Extending OpenCV with NeRFs and LLMs

Investigative work on extending OpenCV. Researched state of the art and emerging 3D multimodal scene representations and use cases. For eg, queryable...

Multi-camera calibration part 2

This project extends the work from the previous year, which included basic algorithms for multi-camera calibration, by adding testing cases with...

IDEA: Realtime object tracking models

Real-time object tracking models working on edge devices. I will use MAE pre train and knowledge distillation to make the performance better. The...

GSoC Project Proposal: IDEA3 - Simple triangle rendering

This proposal aims to add useful functions for forward and inverse rendering to the OpenCV 3D module. The implementation will be divided into two...

Unlocking the Full Potential of OpenCV with G-API and Python

The objective of this project is to create a comprehensive Python tutorial on G-API, a graph execution framework for OpenCV. The tutorial will cover...

Point Cloud Compression

This project aims to implement point cloud compression algorithm in OpenCV. This project intends to adopt octree as the data structure carrying point...

2022

10 projects

Official year page

Implementing multi-task CV models in OpenCV

Deep learning is now used to solve many different CV problems. A typical approach is to train a separate network for each specific task. However,...

AudioVisual Speech Recognition using OpenCV Audio IO module

OpenCV is used extensively in computer vision, tackling almost all major computer vision problems. Many Modern CV applications work with video...

Yiyao Wang_Proposal_lightweight OCR models

OCR (Optical Character Recognition), a technology which targets recognizing text in images automatically, contains the following parts: document...

Upgrading RANSAC and multi-grid camera calibration

Upgrade and optimize existing RANSAC version that I have integrated two years ago. I know the structure of a code and how it works so it should not...

Efficient Data Augmentation Module in OpenCV for DL Training

This proposal aims to develop an efficient data augmentation module for OpenCV that supports both basic image manipulation approaches and deep...

FIRST Robotics with OAK-D Camera

For FIRST Robotics platform, there is no highly integrated and developer-friendly reference vision platform that exists at an affordable price (i.e....

Lightweight Object detection and tracking for resource restricted usage

Object detection has made great progress in the past few years along with the development of deep learning. However, most current object detection...

Optimizing OpenCV Universal Intrinsic for RISC-V Vector

There is a RISC-V Vector backend in OpenCV universal intrinsic, but the performance is very poor and only supported fixed vector size with 128 bit....

Improved imgcodecs

This proposal contains several improvements over the image codecs, provides a new API for reading the image header separately from the image data,...

Light-OCR

Project Light-OCR aims at providing lightweight OCR(optical character recognition) for the users of OpenCV. The whole process includes lightweight...

2021

11 projects

Official year page

OpenCV bindings for Julia

This project is the continuation of the GSoC 2020 project OpenCV bindings for Julia. In that project, bindings for most of OpenCV’s core modules were...

Loop closure algorithm based on HF-Net+BoW for depth fusion

This work aims to add Loop Closure Algorithm based on HF-Net+BoW into the OpenCV RGBD module. HF-Net can extract the local and global features at...

Tutorial for Universal Intrinsics and parallel_for_ for efficient cross-platform algorithm implementation

Sample code and documentation explaining the use of cross-platform compatible implementation of OpenCV's Universal Intrinsic and parallel_for_

Improve the OpenCV Python package with type annotations and type checking

The OpenCV Python package (cv2) currently does not include type annotations, a feature introduced in PEP 484. The project aims to provide type...

Accelerate OpenCV.js DNN via WebNN

OpenCV.js exposes JavaScript API of dnn module that allows web apps to do deep learning model inference in web browsers. This capability enables web...

3D samples using OpenGL and GLFW

This project aims to develop not only 3D samples using OpenGL for the OpenCV 3D module but also reusable components that can later be incorporated...

3D samples using OpenGL and GLFW

The project is aimed at creating few samples to demonstrate capability of OpenCV 3D module. After that all useful methods will be collected for a...

Create nuget package for OpenCV and OpenCV contrib

Installing OpenCV on Windows has always been a gruesome procedure for beginners. Added steps of having to build the library by oneself using cmake...

8-bit quantization in DNN Module

This project aims to bring post-training integer quantization to OpenCV’s DNN module and perform inference using 8-bit integer inputs and fixed-point...

Optimizing OpenCV DNN for RISC-V

There is a deep learning module in OpenCV named DNN, which has a set of built-in layers and functionality for loading serialized networks models from...

Speech recognition using OpenCV Audio IO module

OpenCV is used extensively in computer vision, tackling almost all major computer vision problems. Many Modern CV applications require working with...

2020

14 projects

Official year page

Revise/improve Text & Digit Recognition Samples

Proposal for Revise/improve Text & Digit Recognition Samples. There are two goals for this project. I have completed the prototype of Goal 1, and I...

Implementing ColorChecker detector and a better detector for AprilTag

ColorChecker Chart is used for colour calibration, restoring the original image colours under illumination changes. Detecting them is relatively easy...

Improvement of Random Sample Consensus in OpenCV

Random Sample Consensus (RANSAC) is an important and popular robust algorithm. It is widely used in many computer vision tasks such as 3D...

Revise/improve Text & Digit Recognition Samples

In practice, scene text recognition has been applied to various real-world scenarios, and it has become one of the most popular research topics in...

OpenCV bindings for Julia

This project aims at creating comprehensive wrapping for OpenCV that allows OpenCV’s functions to be called from Julia. The final bindings would...

Optimize OpenCV for RISC-V

The main objective of the project is adding implementation of wide universal intrinsics for RISC-V in OpenCV Hardware Acceleration Layer (HAL)....

Better SIFT in the main repository

The patent on one of the most popular feature detection algorithm, SIFT, expired on 2020/03/06. So, we can move the implementation from the...

Point Clouds Model Fitting Implementation In OpenCV

The availability of depth sensors such as 3D laser range finders or the Microsoft Kinect provide dense 3D measurements that typically consist of...

OpenCV.js: WASM SIMD optimization 2.0

This project aims to optimize the WebAssembly version of OpenCV.js. Some evaluation experiments have shown that current WASM SIMD version has some...

Real-time Single Object Tracking using Deep Learning

Recent interest in computer vision has led to a great advance in the development of visual trackers. Specifically, various applications of Kernelized...

Develop OpenCV.js DNN modules for promising web use cases together with their tutorials

The dnn module of OpenCV.js has the ability and potential to develop interesting interactive deep learning applications on the Web. I'd like to...

Write a tutorial about training a network in TF or PyTorch and then running it in OpenCV

TensorFlow (TF) and PyTorch are some of the most popular deep learning frameworks. TF exports networks in its own format; PyTorch supports export of...

Depth Fusion for large scale environments

This project aims to modify Kinect Fusion by implementing a hash-based TSDF volume and a global pose optimization strategy for camera tracking...

GPU-enabled OpenCV.js

My plan is to add a new backend by enabling WebGPU in OpenCV.js. There have been many sophisticated GPU backends including Cuda,OpenCL,Vulkan and...

2019

8 projects

Official year page

Computer Vision based Alpha Matting

This project aims to integrate some of the computer vision based alpha matting algorithms into OpenCV. Alpha matting refers to the problem of softly...

DynamicFusion Implementation

DynamicFusion is the first dense SLAM system capable of reconstructing non-rigidly deforming scenes in real time. It accomplishes this by extending...

Improve the performance of JavaScript version of OpenCV (OpenCV.js)

OpenCV.js is a JavaScript binding for selected subset of OpenCV functions for the web platform. It allows emerging web applications with multimedia...

Curating Deep Nets for the OpenCV DNN Module

The OpenCV's DNN Module allows us to run inference on a pre-trained Deep Neural Network in order to accomplish high end vision tasks with just a few...

Allow the OpenCV's DNN module to work with GPUs

The development of GPUs for general purpose computing has revolutionized the field of deep learning. They are critical for training large deep neural...

Learning-based Super Resolution

Super resolution is the process of up-scaling and improving the details of an image. Currently the super resolution modules within OpenCV are based...

Facial Landmark Detector

Facial feature detection and tracking is a high value area of computer vision since humans are interested in what humans are paying attention to,...

Deep learning based super-resolution algorithms based on OpenCV DNN

Super Resolution is a subset of algorithms that aim to up-sample a lower quality image to a higher quality one. It’s goal is to create an up-sampled...

2017

15 projects

Official year page

The Fast Bilateral Solver

Objective: To implement ‘the fast bilateral solver’ in OpenCV, which can be generally taken as an efficient bilateral filter. To implement diverse...

A Model Zoo for Tiny-dnn

Tiny-dnn is a lightweight dependency free library. It is extremely easy to get your first boilerplate code running as it requires nearly no...

Improvement of the background subtraction algorithm

I would like to work on improving background subtraction algorithm. In particular, I want to implement algorithm from the following article:...

Recurrent Neural Networks on tiny-dnn

RNNs are now central to many applications, from speech recognition to Computer Vision. Some examples are Image captioning, Visual Question Answering...

Speeding-up AKAZE features

AKAZE features are scale-invariant binary features. They are licence-free and currently available in main OpenCV repository. AKAZE features show for...

GPU enabled deep learning framework

GPU are very suitable for deep learning (DL) purposes, providing significant (sometimes almost two orders of magnitude) speedups compared to CPU....

Implementing and extending DynamicFusion (Newcombe et al 2015)

Recent research has produced impressive methods of 3D reconstruction of scenes containing non-rigid deformations using a RGB-D camera, however there...

Face alignment with opencv

Face alignment is a computer vision technology for identifying the geometric structure of human faces in digital images. Given the location and size...

End to End text detection and recognition

End-to-end scene text recognition is usually divided in two different sub tasks: word detection and word recognition. Currently OpenCV text detection...

Photometric Calibration

Photometric Calibration Tool Kit Camera calibration is always an important part of almost every vision applications. As the direct method of SLAM...

Documentation Improvement

Using gathered complaints in forums and discussions I propose a project of documentation improving and restructuring, which is intended to improve...

Learning compact models for object detection

A compact Convolutional Neural Networks based model will be developed to detect known objects in an image in real time taking inspiration from...

API for Facial Landmark Detector

Facial landmark detection is a useful algorithm with many possible applications including expression transfer, virtual make-up, and facial puppetry....

Improve Background Subtraction with Aggregated Saliency

In this proposal, a new approach for background subtraction by using multiple saliency methods and saliency optimization frameworks is proposed. Two...

Improve and Extend the JavaScript Bindings for OpenCV

Web is the most vibrant open computing platform. With huge multimedia contents available on web, web developers are in need of wide array of image...

2016

11 projects

Official year page

Multi-language OpenCV Tutorials in Python, C++ and Java

OpenCV is an open source image processing library extensively used in C++, Python, Java and more than 15 other languages. With the big variety of...

Extending the text module with deep Word-spotting CNN

This is a proposal for extending and improving the OpenCV text module. In brief I propose implementing word-level classification with deep CNN for...

New camera model and parallel processing for stitching pipeline

Stitching pipeline is a well established code in OpenCV. It provides good results for creating panoramas from camera captured images. Main limitation...

OpenCV dnn module enhancement

My previous GSoC project resulted in OpenCV DNN module. It was the first step towards deep neural network support in OpenCV. However, neural networks...

Improvement of the dense optical flow algorithm

I was interested in the improvement of the current dense optical flow algorithm. My proposal is to implement parallel algorithm as the alternative to...

Deep Learning with Quantization for Semantic Saliency Detection

Semantic saliency detection be implemented based on CNN module. Quantization method described in Pete's blog for quantization will be added into...

Convolutional Neural Networks for Visual Tracking

Deep Learning (DL) and especially Convolutional Neural Network (CNN) has drawn a lot of attention in last few years. At present day CNN has been...

Efficient dense optical flow

A very fast (up to 600Hz on 1 CPU core, excluding preprocessing) dense optical flow algorithm that outperforms the Farneback flow in terms of quality...

Update OpenCV file storage

Update OpenCV FileStorage OpenCV FileStorage is very convenient while using C++. I'll update it and also add more features. Aim is to add base64...

Dynamic structured light in openCV

GSoc 2015 brought structured light to OpenCV and I would love to extend the module this year. Among all the available algorithms, phase-shifting...

A Modern Deep Learning module

Nowadays, deep learning is the hip topic inside the computer vision community. Many authors have demonstrated that using deep neural networks in...