An open API service indexing awesome lists of open source software.

https://github.com/vincent-maladiere/ringcode

Generation and detection of a new circular design for barcode and QRCode
https://github.com/vincent-maladiere/ringcode

opencv python streamlit

Last synced: about 2 months ago
JSON representation

Generation and detection of a new circular design for barcode and QRCode

Awesome Lists containing this project

README

          

# Ring-Code App

![Beautiful App](img/render.png)

# Ring Code

Introducing a new circular-shaped design for barcode and QRCode! Beyond its aesthetic, the Ring code is adapted to tor geometry. It is also a real challenge of implementation.

# Features

## App

You can use the Streamlit app to generate your own RingCode encoded messages! Please note that the decoding module is still under development.

## Requirements

- python > 3.6

## Setup

```
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
streamlit run app.py
```

## Usage

You can play with 3 hyperparameters to change the data capacity and the shape of the barcode, in `src/encoder.py`:
- `module_size_pixel`: the size of each tile (aka module)
- `min_radius_pixels`: the size of the inner band of the ring, in pixel
- `max_radius_pixels`: the size of the outer band of the ring, in pixel

## Roadmap

The development of this RingCode follows the [thesis of Robin Brügger](https://www.dropbox.com/s/a62q4lotoyonnv7/P6_2015_Circular_Codes.pdf?dl=0), so hat tips to him for this impressive work.

Encoding
- [x] Create encoder
- [x] Simple Streamlit App to display the encoding

Decoding
- [x] Barcode recognition (finding the center)
- [ ] Find the perspective correction markers and startmarker
- [ ] Rough perspective correction
- [ ] Accurate perspective correction
- [ ] Read vertical timing information
- [ ] Evaluation of the payload modules
- [ ] Encoding data using Reed Solomon algorithm