Skip to content
JavierParra edited this page Feb 9, 2017 · 5 revisions

Index

  1. Introduction
  2. Limitations
  3. Dependencies
  4. Licensing

Introduction

QR codes are a type of high-density matrix barcodes. Quirc is a library for extracting and decoding them from images. It is fast enough to be used with realtime video: extracting and decoding from VGA frame takes about 50 ms on a modern x86 core. Other features that make it a good choice for the purpose of EoT are:

  • It has a robust and tolerant recognition algorithm. It can correctly recognise and decode QR codes which are rotated and/or oblique to the camera. It can also distinguish and decode multiple codes within the same image.
  • It is easy to use, with a simple API described in a single commented header file.
  • It is small and easily embeddable, with no dependencies other than standard C functions.
  • It has a very small memory footprint: one byte per image pixel, plus a few kB per decoder object.
  • It uses no global mutable state, and is safe to use in a multithreaded application.
  • BSD-licensed, with almost no restrictions regarding use and/or modification.

This library will be particularly useful for the museum demonstrator.

Limitations

The library is not currently optimized for Myriad 2, using only the LeonOS processor.

There are some known limitations:

  • If QR Code is rotated too much, as in Test 5, the QR Code is detected, but it cannot be decoded.
  • If QR Code is too small, as in Test 8, the QR Code is detected, but it cannot be decoded.
  • If test image is greater than 225 x 225 px, as in Test 2, Test 3, Test 4 and Test 7, the execution in Myriad produced an error. Similarly to OpenCV, in order to solve this problem the variable CONFIGURE_MINIMUM_TASK_STACK_SIZE (rtems_config.h) must be set to a larger value. The used value for all tests has been 22000.

Dependencies

No external dependences.

Licensing

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

https://github.com/dlbeer/quirc
Copyright (C) 2010-2012 Daniel Beer dlbeer@gmail.com

Clone this wiki locally