Skip to content

Commit

Permalink
*** Version 2.1.0 ***
Browse files Browse the repository at this point in the history
Fix issue #9 and issue #10
  - Add Linux x86_64 binaries
  - Add support for Grayscale (Y)
  • Loading branch information
DoubangoTelecom committed May 2, 2020
1 parent 3577942 commit ef2565a
Show file tree
Hide file tree
Showing 70 changed files with 394 additions and 710 deletions.
21 changes: 11 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
- [Sample applications](#Sample-applications)
- [Sample applications](#Sample-applications)
- [Video Recognizer](#Sample-applications-Video-Recognizer)
- [Benchmark](#Sample-applications-Benchmark)
- [Parser](#Sample-applications-Parser)
Expand All @@ -7,19 +7,20 @@
- [Android](#Sample-applications-Trying-the-samples-Android)
- [iOS](#Sample-applications-Trying-the-samples-iOS)
- [Windows](#Sample-applications-Trying-the-samples-Windows)
- [Raspberry Pi and Others](#Sample-applications-Trying-the-samples-Raspberry-Pi-and-Others)
- [Raspberry Pi, Linux and Others](#Sample-applications-Trying-the-samples-Raspberry-Pi-and-Others)
- [Getting-started](#Getting-started)
- [Adding the SDK to your project](#Getting-started-Adding-the-SDK-to-your-project)
- [Android](#Getting-started-Adding-the-SDK-to-your-project-Android)
- [iOS](#Getting-started-Adding-the-SDK-to-your-project-iOS)
- [Raspberry Pi, Windows and Others](#Getting-started-Adding-the-SDK-to-your-project-Raspberry-Pi-Windows-and-Others)
- [Raspberry Pi, Linux, Windows and Others](#Getting-started-Adding-the-SDK-to-your-project-Raspberry-Pi-Windows-and-Others)
- [Using the API](#Getting-started-Using-the-API)
- [Android (Java)](#Getting-started-Using-the-API-Android-Java)
- [iOS, Windows, Raspberry Pi and Others (C++)](#Getting-started-Using-the-API-iOS-Windows-Raspberry-Pi-and-Others-Cpp)
- [iOS, Windows, Raspberry Pi, Linux and Others (C++)](#Getting-started-Using-the-API-iOS-Windows-Raspberry-Pi-and-Others-Cpp)
- [Getting help](#technical-questions)

- Full documentation at https://www.doubango.org/SDKs/mrz/docs/
- Online demo at https://www.doubango.org/webapps/mrz/
- Open source Computer Vision library: https://github.com/DoubangoTelecom/compv

<hr />

Expand Down Expand Up @@ -71,7 +72,7 @@ This application is used to check everything is ok and running as fast as expect
The information about the maximum frame rate (**50fps** on iPhone7 and **114fps** on core i7) could be checked using this application.
- For **iOS**, a sample with user interface could be found at [samples/iOS/Benchmark](samples/ios/Benchmark)
- For **Android**, a sample with user interface could be found at [samples/Android/Benchmark](samples/android/benchmark)
- For **Raspberry Pi, Windows and Others** a C++ command line application could be found at [samples/c++/benchmark](samples/c++/benchmark)
- For **Raspberry Pi, Linux, Windows and Others** a C++ command line application could be found at [samples/c++/benchmark](samples/c++/benchmark)

<a name="Sample-applications-Parser"></a>
## Parser ##
Expand Down Expand Up @@ -113,7 +114,7 @@ To try the sample applications on iOS just open the corresponding Visual Studio
For example, the VS project for the VideoRecognizer sample is at [samples/c++/recognizer/recognizer.vcxproj](samples/c++/recognizer/recognizer.vcxproj).

<a name="Sample-applications-Trying-the-samples-Raspberry-Pi-and-Others"></a>
### Raspberry Pi and Others ###
### Raspberry Pi Linux, and Others ###
For Raspberry Pi and other Linux systems you need to build the sample applications from source. More info at [samples/c++/README.md](samples/c++/README.md).


Expand All @@ -124,7 +125,7 @@ The SDK works on [many platforms](https://www.doubango.org/SDKs/mrz/docs/Archite

<a name="Getting-started-Adding-the-SDK-to-your-project"></a>
## Adding the SDK to your project ##
This Github repository contains [binaries](binaries) for **Android**, **iOS**, **Raspberry Pi** and **Windows**. The next sections explain how to add the SDK to an existing project.
This Github repository contains [binaries](binaries) for **Android**, **iOS**, **Raspberry Pi**, **Linux** and **Windows**. The next sections explain how to add the SDK to an existing project.

<a name="Getting-started-Adding-the-SDK-to-your-project-Android"></a>
### Android ###
Expand Down Expand Up @@ -169,7 +170,7 @@ Make sure you're using latest Xcode version. In the next sections we're using **
That's it.

<a name="Getting-started-Adding-the-SDK-to-your-project-Raspberry-Pi-Windows-and-Others"></a>
### Raspberry Pi, Windows and Others ###
### Raspberry Pi, Linux, Windows and Others ###

The shared libraries are under [**ultimateMRZ-SDK/binaries/<platform>**](binaries). The header file at [c++](c++). You can use any C++ compiler/linker.

Expand Down Expand Up @@ -264,11 +265,11 @@ The C++ API is defined at https://www.doubango.org/SDKs/mrz/docs/cpp-api.html.
```

<a name="Getting-started-Using-the-API-iOS-Windows-Raspberry-Pi-and-Others-Cpp"></a>
### iOS, Windows, Raspberry Pi and Others (C++) ###
### iOS, Windows, Raspberry Pi, Linux and Others (C++) ###

```cpp
#include <ultimateMRZ-SDK-API-PUBLIC.h> // C++ API: https://www.doubango.org/SDKs/mrz/docs/cpp-api.html

// JSON configuration string
// More info at https://www.doubango.org/SDKs/mrz/docs/Configuration_options.html
static const char* __jsonConfig =
Expand Down
Binary file modified SDK_TechnicalGuide_v2.0.pdf
Binary file not shown.
Binary file added VCpp_config.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added VCsharp_config.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions binaries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ Binaries (shared libraries) for
- [iOS](ios): armv7s, arm64
- [Raspberry Pi (Raspbian OS)](raspbian): armv7l
- [Windows](windows): x86_64
- [Linux](linux): x86_64

OpenCL 1.2+ will be loaded at runtime (no linking).
Binary file modified binaries/android/jniLibs/arm64-v8a/libultimateMRZ_SDK.so
Binary file not shown.
Binary file modified binaries/android/jniLibs/armeabi-v7a/libultimateMRZ_SDK.so
Binary file not shown.
Binary file modified binaries/android/jniLibs/x86/libultimateMRZ_SDK.so
Binary file not shown.
Binary file modified binaries/android/jniLibs/x86_64/libultimateMRZ_SDK.so
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ ultimateMRZ-SDK public header
#include <string>

#define ULTMRZ_SDK_VERSION_MAJOR 2
#define ULTMRZ_SDK_VERSION_MINOR 0
#define ULTMRZ_SDK_VERSION_MICRO 1
#define ULTMRZ_SDK_VERSION_MINOR 1
#define ULTMRZ_SDK_VERSION_MICRO 0

// Windows's symbols export
#if defined(SWIG)
Expand Down Expand Up @@ -120,29 +120,34 @@ namespace ultimateMrzSdk
/*! YUV 4:4:4 image with an NxM Y plane followed by NxM V and U planes.
*/
ULTMRZ_SDK_IMAGE_TYPE_YUV444P,
/*! Grayscale image with single channel (luminance only). Each pixel is stored in single byte (8 bit Y samples).
*
* Available since: 2.1.0
*/
ULTMRZ_SDK_IMAGE_TYPE_Y,
};

/*! Result returned by the \ref UltMrzSdkEngine "engine" at initialization, deInitialization and processing stages.
*/
class UltMrzSdkResult {
class ULTIMATE_MRZ_SDK_PUBLIC_API UltMrzSdkResult {
public:
UltMrzSdkResult();
UltMrzSdkResult(const int code, const char* phrase, const char* json, const size_t numZones = 0);
UltMrzSdkResult(const UltMrzSdkResult& other);
virtual ~UltMrzSdkResult();
#if !defined(SWIG)
UltMrzSdkResult() = delete;
#endif /* SWIG */
UltMrzSdkResult(const int code, const char* phrase, const char* json, const size_t numZones = 0)
: code_(code), phrase_(phrase), json_(json), numZones_(numZones) {}

virtual ~UltMrzSdkResult() {}
UltMrzSdkResult& operator=(const UltMrzSdkResult& other) { return operatorAssign(other); }
#endif

/*! The result code. 0 if success, nonzero otherwise.
*/
inline int code()const { return code_; }
/*! Short description for the \ref code.
*/
inline const char* phrase()const { return phrase_.c_str(); }
inline const char* phrase()const { return phrase_; }
/*! The MRZ zones as JSON content string. May be null if no zone found.
*/
inline const char* json()const { return json_.c_str(); }
inline const char* json()const { return json_; }
/*! Number of zones in \ref json string. This is a helper function to quickly check whether the result contains zones
without parsing the \ref json string.
*/
Expand All @@ -154,10 +159,17 @@ namespace ultimateMrzSdk
static UltMrzSdkResult bodyless(const int code, const char* phrase) { return UltMrzSdkResult(code, phrase, ""); }
static UltMrzSdkResult bodylessOK() { return UltMrzSdkResult(0, "OK", ""); }
#endif /* SWIG */

private:
void ctor(const int code, const char* phrase, const char* json, const size_t numZones);
#if !defined(SWIG)
UltMrzSdkResult& operatorAssign(const UltMrzSdkResult& other);
#endif /* SWIG */

private:
int code_;
std::string phrase_;
std::string json_;
char* phrase_ = nullptr;
char* json_ = nullptr;
size_t numZones_;
};

Expand Down
Binary file modified binaries/ios/ultimate_mrz-sdk.framework/ultimate_mrz-sdk
Binary file not shown.
Empty file removed binaries/linux/.gitkeep
Empty file.
Binary file added binaries/linux/x86_64/benchmark
Binary file not shown.
Binary file added binaries/linux/x86_64/libultimate_mrz-sdk.so
Binary file not shown.
Binary file added binaries/linux/x86_64/parser
Binary file not shown.
Binary file added binaries/linux/x86_64/recognizer
Binary file not shown.
Binary file added binaries/linux/x86_64/runtimeKey
Binary file not shown.
Binary file added binaries/linux/x86_64/validation
Binary file not shown.
Binary file added binaries/raspbian/armv7l/benchmark
Binary file not shown.
Binary file modified binaries/raspbian/armv7l/libultimate_mrz-sdk.so
Binary file not shown.
Binary file added binaries/raspbian/armv7l/parser
Binary file not shown.
Binary file added binaries/raspbian/armv7l/recognizer
Binary file not shown.
Binary file added binaries/raspbian/armv7l/runtimeKey
Binary file not shown.
Binary file added binaries/raspbian/armv7l/validation
Binary file not shown.
6 changes: 6 additions & 0 deletions binaries/windows/x86_64/benchmark.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
benchmark.exe ^
--positive ../../../assets/images/Passport-Australia_1280x720.jpg ^
--negative ../../../assets/images/Passport-France_1200x864.jpg ^
--assets ../../../assets ^
--loops 100 ^
--rate 1.0
Binary file added binaries/windows/x86_64/benchmark.exe
Binary file not shown.
1 change: 1 addition & 0 deletions binaries/windows/x86_64/parser.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
parser.exe ../../../assets/samples/td1.txt
Loading

0 comments on commit ef2565a

Please sign in to comment.