-
Notifications
You must be signed in to change notification settings - Fork 2
Quirc
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.
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.
No external dependences.
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
Website | Twitter | Linkedin | Flickr | Slideshare