Commit Graph

46 Commits

Author SHA1 Message Date
Milian Wolff 594b178501 Make QZXingFilter "official" by moving it out of the example folder
The filter is much more performant than using the QZXing API in an
imparative way for the use-case of live-analyzing video frames in QML.
2017-01-10 13:24:55 +01:00
Milian Wolff 449a808972 Crop to capture rect directly when converting RGB to grayscale
This improves the performance since we only need to convert the
actually interesting part of the frame, instead of the full frame.
2017-01-10 13:17:54 +01:00
Milian Wolff c882465649 Improve performance of rgb(a) reading, convert directly to greyscale
This again leads to a noticeable performance improvement of the
QZXingFilter example, as we get rid of one full copy of the image
data by converting directly into greyscale, instead of first
converting to RGB and then converting to greyscale.
2017-01-10 13:17:54 +01:00
Milian Wolff b5e4f06e9f Fix linking on recent Qt for iOS
The qtmn hack is not required anymore.
2017-01-10 13:17:54 +01:00
Milian Wolff 0e10d8aeca Add simple FPS counter to QZXingLive example 2017-01-10 13:17:54 +01:00
Milian Wolff 69e05c1ff1 Add support for NV12 video frames
This was encountered on a recent Android device.
2017-01-10 13:17:54 +01:00
Milian Wolff 75b1a0d355 Further optimize QZXingFilterRunnable::processVideoFrameProbed
Do not call detaching QByteArray::data, use constData instead.
Also hoist some constants out of the inner conversion loops and make
more variables const.
2017-01-10 13:17:54 +01:00
Milian Wolff 3eb5b0b869 Cleanup debug code, save at most 100 images. 2017-01-10 13:17:54 +01:00
Milian Wolff bc2badb5b5 Optimize: reduce memory allocations, convert directly to grayscale
This dramatically improves the performance of the QZXingFilter.
2017-01-10 13:17:54 +01:00
Milian Wolff d112bf4186 Don't try harder by default in the QZXingLive example 2017-01-10 13:17:54 +01:00
Milian Wolff 7937cb84b5 Only try to mirror images when tryHarder is set to true
Additionally, this is only done until a match is found, instead of
always applying mirroring for the 2nd, 3rd and 4th frames.
2017-01-10 13:17:54 +01:00
Milian Wolff cafad4a9c0 Add captureRect functionality
This allows one to only detect within a certain unscaled region
of the input frame. The reduction of pixels scanned leads to
a significant performance win, and the removal of the scaling
improves the quality of the checked image, thereby leading to
higher detection rates.
2017-01-10 13:17:54 +01:00
Milian Wolff a7103d5cac Expand QZXingFilter example code
- allow autofocus and manual focus
- count number of tags matched
- allow configuring the barcode scanner from QML
2017-01-10 13:17:54 +01:00
favoritas37 b68b4c3fed minor edits in QQrDecorder readme file 2016-12-28 15:01:20 +02:00
favoritas37 67eb93253e minor edit in QQrdecoder project readme file. 2016-12-28 14:58:56 +02:00
Nikolaos Ftylitakis db9d8a3441 Update readme.md
Fixed broken relative path to project QZXingLive
2016-12-03 15:57:36 +02:00
favoritas37 79a5396aeb restored folder QQrDecoder to not break external links. Added reference to the updated project. 2016-12-03 15:55:31 +02:00
favoritas37 7ea672e6d1 fixes issues #4 and #9 (dummy commit to add the issue reference to the commit 37ca7a1 ) 2016-12-03 15:46:26 +02:00
favoritas37 d260ac47b2 removed obsoled example project QQrDecoder. Replaced by QZXingLive project 2016-12-03 13:07:45 +02:00
Nikolaos Ftylitakis 37ca7a13e1 Merge pull request #12 from ChALkeR/patch-2
QZXingFilter: add YUV420P format support
2016-12-03 12:16:01 +02:00
Сковорода Никита Андреевич fe1337394e QZXingFilter: add YUV420P format support 2016-12-01 17:22:33 +03:00
Сковорода Никита Андреевич 3adcc83300 QZXingLive example: remove unused qzxing.h include
qzxing.h doesn't exist, and the example works fine without it.
2016-12-01 02:58:00 +03:00
favoritas37 fa186c2cc9 Added new example project for live decoding in QtQuick 2 (contibution of Luiggi Reffatti from Fira Soft ). Will be examined in the future to embed QZxingFilter implementation to the main implementation fo the library. 2016-09-27 03:06:28 +03:00
favoritas37 f8e1574b6c fixed the refresh of the generated image from Encode procedure (disabled image caching) 2016-07-02 01:06:55 +03:00
favoritas37 cc0cd49996 minor optimization in the BarcodeEncoder view. 2016-06-16 01:20:15 +03:00
favoritas37 916903ed83 Update BarcodeEncoder to make use of Image Provider in order to display the image of the generated barcode to the QML viewe. 2016-06-16 01:16:35 +03:00
favoritas37 b0e3661c44 minor enhancement to the BarcodeEncoder UI. 2016-06-14 02:41:37 +03:00
favoritas37 3798e89fb6 rename project QZXingTests to the valid name QZXingDragNDropTest 2016-02-28 15:40:05 +02:00
favoritas37 22e969b5c2 added c++11 config in BarcodeEncoder project 2016-02-20 15:19:23 +02:00
favoritas37 3d28afb79d updated example projects to the new file structure of the repository (renaming of the source folder) 2016-01-08 22:31:48 +02:00
favoritas37 89163533d4 Fixed QZXingTestApp to use QQuickItem instead of QDeclarativeItem. Also removed the file path editing from the QML, it is properly handled by decoding function with the use of QUrl. 2016-01-08 21:49:49 +02:00
favoritas37 630f560e89 bug fixing at qr code encoding. this tests fail 2015-10-31 19:14:59 +02:00
favoritas37 48d546aaea Added the example project BarcodeEncoder which will be used as the base for the barcode encoding functions (and testing) 2015-07-16 21:09:44 +03:00
Alexxey593 13720010fc QQrDecoder example updated to Qt5 2015-06-10 14:34:32 +03:00
favoritas37 baf6d989ab enhancement to the project file of the QZXingDragNDropTest 2015-05-16 17:19:40 +03:00
favoritas37 84cf4482f2 Completed the update to v2.3. Updated both binaries and sources. 2014-03-16 14:17:14 +02:00
favoritas37 a1c875ab63 Tested against compiling with MSVC and Mingw compilers on Windows. 2014-01-22 18:29:42 +02:00
favoritas37 7079f17dc5 Updated the QZXingDragNDropTest example to be compatible with the QtQuick 2 and Qt 5. 2014-01-15 18:18:02 +02:00
favoritas37 377f9104d0 updated the QQrDecoder project to use the library source. 2013-08-02 21:05:28 +03:00
favoritas37 4eb0ea479c Added the option to execute the decoding to an other thread. Not sure if it will give any benefit. It will be investigated. 2013-07-30 20:59:51 +03:00
favoritas37 231ef2f2f2 Added a test app that is still in developement phase for testing barcode image files against QZXing library (ZXing decing result). Drag n Drop the barcode image to the application and it will be decoded. 2013-07-28 23:11:37 +03:00
favoritas37 959eccb986 Updated QMLBarcodeReader example. 2012-05-19 19:04:33 +03:00
favoritas37 42da993970 Moving on to version V1.2. This brings Aztec support and big imporovement in speed for 1D barcodes. Also QML support is fixed. Binaries, sources and examples are updated to that version. 2012-05-14 17:01:57 +03:00
favoritas37 99bf5fc5e8 Moved to version 1.1, Datamatrix is supported, selection of the enabled decoders fixed, binaries updated 2011-11-29 16:38:16 +02:00
favoritas37 0942470215 Added the support of DataMatrix decoding. Trying to fix the Decoder Selection but still has a few problems. 2011-11-26 14:59:57 +02:00
favoritas37 8cf41165e5 Added examples of usage. One for normal Qt/CPP and one for Qt/QML. 2011-11-16 16:36:43 +02:00