diff --git a/README.md b/README.md index 4e65a47..175cbd0 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,24 @@ quaggaJS ======== -- [Changelog](#changelog) (2017-01-08) +- [Changelog](#changelog) (2017-06-07) - [Browser Support](#browser-support) - [Installing](#installing) - [Getting Started](#gettingstarted) - [API](#api) - [Configuration](#configobject) +- [Tips & Tricks](#tipsandtricks) +- [Sponsors](#sponsors) ## What is QuaggaJS? QuaggaJS is a barcode-scanner entirely written in JavaScript supporting real- time localization and decoding of various types of barcodes such as __EAN__, -__CODE 128__, __CODE 39__, __EAN 8__, __UPC-A__, __UPC-C__, __I2of5__ and -__CODABAR__. The library is also capable of using `getUserMedia` to get direct -access to the user's camera stream. Although the code relies on heavy image- -processing even recent smartphones are capable of locating and decoding -barcodes in real-time. +__CODE 128__, __CODE 39__, __EAN 8__, __UPC-A__, __UPC-C__, __I2of5__, +__2of5__, __CODE 93__ and __CODABAR__. The library is also capable of using +`getUserMedia` to get direct access to the user's camera stream. Although the +code relies on heavy image-processing even recent smartphones are capable of +locating and decoding barcodes in real-time. Try some [examples](https://serratus.github.io/quaggaJS/examples) and check out the blog post ([How barcode-localization works in QuaggaJS][oberhofer_co_how]) @@ -443,6 +445,8 @@ barcodes which should be decoded during the session. Possible values are: - upc_reader - upc_e_reader - i2of5_reader +- 2of5_reader +- code_93_reader Why are not all types activated by default? Simply because one should explicitly define the set of barcodes for their use-case. More decoders means @@ -587,6 +591,36 @@ Quagga.decodeSingle({ }); ``` +## Tips & Tricks + +A growing collection of tips & tricks to improve the various aspects of Quagga. + +### Barcodes too small? + +Barcodes too far away from the camera, or a lens too close to the object +result in poor recognition rates and Quagga might respond with a lot of +false-positives. + +Starting in Chrome 59 you can now make use of `capabilities` and directly +control the zoom of the camera. Head over to the +[web-cam demo](https://serratus.github.io/quaggaJS/examples/live_w_locator.html) +and check out the __Zoom__ feature. + +You can read more about those `capabilities` in +[Let's light a torch and explore MediaStreamTrack's capabilities](https://www.oberhofer.co/mediastreamtrack-and-its-capabilities) + +### Video too dark? + +Dark environments usually result in noisy images and therefore mess with the +recognition logic. + +Since Chrome 59 you can turn on/off the __Torch__ of our device and vastly +improve the quality of the images. Head over to the +[web-cam demo](https://serratus.github.io/quaggaJS/examples/live_w_locator.html) +and check out the __Torch__ feature. + +To find out more about this feature [read on](https://www.oberhofer.co/mediastreamtrack-and-its-capabilities). + ## Tests Unit Tests can be run with [Karma][karmaUrl] and written using @@ -663,8 +697,32 @@ calling ``decodeSingle`` with the same configuration as used during recording . In order to reproduce the exact same result, you have to make sure to turn on the ``singleChannel`` flag in the configuration when using ``decodeSingle``. +## Sponsors + +- [Maintenance Connection Canada (Asset Pro Solutions Inc.](http://maintenanceconnection.ca/) + ## Changelog +### 2017-06-07 +- Improvements + - added `muted` and `playsinline` to `