DoubangoTelecom / ultimateMRZ-SDK

Machine-readable zone/travel document (MRZ / MRTD) detector and recognizer using deep learning
https://www.doubango.org/webapps/mrz/
Other
175 stars 49 forks source link

I run demo, but just return ok. #16

Closed MiyamuraMiyako closed 4 years ago

MiyamuraMiyako commented 4 years ago

It not return any passport infomation.

DoubangoTelecom commented 4 years ago

There is no useful information from your report. Please share the logs and the image you're using.

MiyamuraMiyako commented 4 years ago

@DoubangoTelecom I think result is successs, but no more infomation.

result: {"duration":182,"frame_id":0}

PS D:\ICAO> .\recognizer.exe --image pp.jpg --assets D:\ICAO\assets\
*[ULTMRZ_SDK INFO]: Initialization...
*[COMPV INFO]: [UltMrzSdkEngine] Call: ultimateMrzSdk::UltMrzSdkEngine::init
*[COMPV INFO]: [UltMrzSdkEngine] jsonConfig: {"debug_level": "info","debug_write_input_image_enabled": false,"debug_internal_data_path": ".","num_threads": -1,"gpgpu_enabled": true,"gpgpu_workload_balancing_enabled": false,"segmenter_accuracy": "high","interpolation": "bilinear","min_num_lines": 2,"roi": [0, 0, 0, 0],"min_score": 0.0,"assets_folder": "D:/ICAO/assets/"}
*[COMPV INFO]: [UltMrzSdkEngine] **** Copyright (C) 2011-2020 Doubango Telecom <https://www.doubango.org> ****
ultimateMRZ-SDK <https://github.com/DoubangoTelecom/ultimateMRZ-SDK> version 2.1.0

*[COMPV INFO]: [CompVBase] Initializing [base] modules (v 1.0.0, nt -1)...
*[COMPV INFO]: [CompVBase] sizeof(compv_scalar_t)= #8
*[COMPV INFO]: [CompVBase] sizeof(float)= #4
*[COMPV INFO]: [CompVBase] Windows dwMajorVersion=6, dwMinorVersion=2
*[COMPV INFO]: Initializing window registery
*[COMPV INFO]: [ImageDecoder] Initializing image decoder...
*[COMPV INFO]: [CompVCpu] Hardware: 'GenuineIntel', Serial: '***', Model: ''
*[COMPV INFO]: [CompVBase] CPU features: (intel);[x86];[x64];mmx;sse;sse2;sse3;ssse3;sse41;sse42;avx;avx2;fma3;erms;bmi1;bmi2;popcnt;cmov;aes;rdrand;
*[COMPV INFO]: [CompVBase] CPU cores: #8
*[COMPV INFO]: [CompVBase] CPU cache1: line size: #64B, size :#32KB
*[COMPV INFO]: [CompVBase] CPU Phys RAM size: #32570GB
*[COMPV INFO]: [CompVBase] CPU endianness: LITTLE
*[COMPV INFO]: [CompVBase] Binary type: X86_64
*[COMPV INFO]: [CompVBase] Intrinsic enabled
*[COMPV INFO]: [CompVBase] Assembler enabled
*[COMPV INFO]: [CompVBase] Math Fast Trig.: true
*[COMPV INFO]: [CompVBase] Math Fixed Point: true
*[COMPV INFO]: [CompVMathExp] Init
*[COMPV INFO]: [CompVBase] Default alignment: #64
*[COMPV INFO]: [CompVBase] Best alignment: #64
*[COMPV INFO]: [CompVBase] Heap limit: #1667595KB (#1628MB)
*[COMPV INFO]: [CompVParallel] Initializing [parallel] module...
*[COMPV INFO]: /!\ Code in file 'compv_mem.cxx' in function 'compv::CompVMemZero_C' starting at line #501: Not optimized -> No SIMD implementation found
*[COMPV INFO]: [CompVThreadDispatcher] Thread dispatcher created with #8 threads/#8 cores
*[COMPV INFO]: [CompVParallel] [Parallel] module initialized
*[COMPV INFO]: [CompVBase] [Base] modules initialized
*[COMPV INFO]: [CompVCore] Initializing [core] module (v 1.0.0)...
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 1 and name = 'FAST (Features from Accelerated Segment Test)'...
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=4,set=useless, threadId:0000000000006B88, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=3,set=useless, threadId:0000000000007938, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=1,set=useless, threadId:0000000000003918, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=0,set=useless, threadId:00000000000070AC, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=5,set=useless, threadId:00000000000049F0, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=2,set=useless, threadId:0000000000004454, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 8 and name = 'ORB (Oriented FAST and Rotated BRIEF)'...
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 27 and name = 'Sobel edge detector'...
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 28 and name = 'Scharr edge detector'...
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 29 and name = 'Prewitt edge detector'...
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 20 and name = 'Canny edge detector'...
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 30 and name = 'Hough standard (STD)'...
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 31 and name = 'Kernel-based Hough transform (KHT)'...
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=6,set=useless, threadId:0000000000006E98, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(coreId:requested=7,set=useless, threadId:0000000000005C10, kThreadSetAffinity:false) - ENTER
*[COMPV INFO]: [CompVFeature] Registering feature factory with id = 41 and name = 'Standard Histogram of oriented gradients (S-HOG)'...
*[COMPV INFO]: [CompVMatcher] Registering matcher factory with id = 0 and name = 'Brute force matcher'...
*[COMPV INFO]: [CompVConnectedComponentLabeling] Registering connected component labeling factory with id = 1 and name = 'PLSL (Parallel Light Speed Labeling)'...
*[COMPV INFO]: [CompVConnectedComponentLabeling] Registering connected component labeling factory with id = 19 and name = 'LMSER (Linear Time Maximally Stable Extremal Regions)'...
*[COMPV INFO]: [CompVGL] Initializing [gl] module (v 1.0.0)...
*[COMPV INFO]: [CompVGL] GL module initialized
*[COMPV INFO]: [CompVGpu] Initializing [gpu] module (v 1.0.0)...
*[COMPV INFO]: [CompVCamera] Initializing [camera] module (v 1.0.0)...
*[COMPV INFO]: [CompVCamera] Camera plugin path: D:\ICAO\CompVPluginMFoundation.dll
*[COMPV INFO]: [CompVDrawing] Initializing [drawing] module (v 1.0.0)...
*[COMPV INFO]: [CompVDrawing] /!\ No jpeg decoder found
*[COMPV INFO]: [CompVDrawing] Drawing module initialized
*[COMPV INFO]: [CompVGpu] GPU enabled: true
*[COMPV INFO]: /!\ Code in file 'source\ultimate_base_engine.cxx' in function 'ultimateBase::UltBaseEngine::init' starting at line #26: Not optimized for GPU -> GPGPU computing not enabled or deactivated
*[COMPV INFO]: [UltBaseOpenCL] Trying to load [OpenCL.dll]
*[COMPV INFO]: Loaded shared lib: OpenCL.dll
*[COMPV INFO]: [UltBaseOpenCL] Loaded [OpenCL.dll], looksLikeValid: yes...
*[COMPV INFO]: [UltBaseOpenCLUtils] Selected platform vendor: NVIDIA Corporation
*[COMPV INFO]: [UltBaseOpenCLUtils] deviceCount=1
*[COMPV INFO]: [UltBaseOpenCLUtils] Device -> name: GeForce RTX 2080, id: 000001F42814C510
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT=1
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE=1
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_MAX_COMPUTE_UNITS=46
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS=3
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_MAX_WORK_ITEM_SIZES=1024, 1024, 64,
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_MAX_WORK_GROUP_SIZE=1024
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_MAX_CLOCK_FREQUENCY=1710 MHz
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE=128 B
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_GLOBAL_MEM_SIZE=8589934592 B (8192 MB)
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_LOCAL_MEM_SIZE=49152 B (48 KB)
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_MAX_MEM_ALLOC_SIZE=2048 MB
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_PLATFORM_VERSION=OpenCL 1.2 CUDA 10.2.95
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_VERSION=OpenCL 1.2 CUDA
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DRIVER_VERSION=441.22
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_OPENCL_C_VERSION=OpenCL C 1.2
*[COMPV INFO]: [UltBaseOpenCLUtils] CL_DEVICE_EXTENSIONS=cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics
*[COMPV INFO]: [UltBaseOpenCL] !!!Booom!!!, OpenCL successfully loaded [OpenCL.dll]
*[COMPV INFO]: [UltMrzSdkEnginePrivate] **** Copyright (C) 2011-2020 Doubango Telecom <https://www.doubango.org> ****
You're using an unlicensed version of ultimateMRZ-SDK <https://github.com/DoubangoTelecom/ultimateMRZ-SDK>
without the rights to include the SDK in any form of commercial product.
*[COMPV INFO]: [CompVCpu] Enabling asm code
*[COMPV INFO]: [CompVCpu] Enabling intrinsic code
*[COMPV INFO]: [UltLstmNetwork] Old local: C, new local: C
*[COMPV INFO]: [UltLstmNetwork] Create LSTM engine for thread 0
*[COMPV INFO]: [UltLstmNetwork] Create LSTM engine for thread 1
*[COMPV INFO]: [UltLstmNetwork] Create LSTM engine for thread 2
*[COMPV INFO]: /!\ Code in file 'compv_mem.cxx' in function 'compv::CompVMemCopy_C' starting at line #953: Not optimized -> No SIMD implementation found. On ARM consider http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka13544.html
*[COMPV INFO]: [UltBaseMachineLearningPredictRBF] Elapsed time (loading model) = [[[ 14 millis ]]]
*[COMPV INFO]: [UltBaseMachineLearningPredictRBF_GPGPU] m_clkernelCoreBestLocalWorkGroupSize: (16, 16), m_clkernelReductionBestLocalWorkGroupSize: (16, 16), m_clkernelPCANormBestLocalWorkGroupSize: (16, 16), m_clkernelPCAProjectBestLocalWorkGroupSize: (16, 16)
*[COMPV INFO]: [UltBaseMachineLearningPredictRBF] Newly created RBF binary predictor is GPGPU accelerated: true
*[ULTMRZ_SDK INFO]: result: {"duration":182,"frame_id":0}
*[ULTMRZ_SDK INFO]: Press any key to terminate !!

*[ULTMRZ_SDK INFO]: Deinitializing the application...
*[COMPV INFO]: [UltMrzSdkEngine] Call: ultimateMrzSdk::UltMrzSdkEngine::deInit
*[COMPV INFO]: [CompVBase] DeInitializing base modules (v 1.0.0)...
*[COMPV INFO]: [Thread] Thread with id=00000000000070AC will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:00000000000070AC) - EXIT
*[COMPV INFO]: Thread with id=00000000000070AC will join
*[COMPV INFO]: [Thread] ***Thread with id=00000000000070AC destroyed***
*[COMPV INFO]: [Thread] Thread with id=0000000000003918 will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:0000000000003918) - EXIT
*[COMPV INFO]: Thread with id=0000000000003918 will join
*[COMPV INFO]: [Thread] ***Thread with id=0000000000003918 destroyed***
*[COMPV INFO]: [Thread] Thread with id=0000000000004454 will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:0000000000004454) - EXIT
*[COMPV INFO]: Thread with id=0000000000004454 will join
*[COMPV INFO]: [Thread] ***Thread with id=0000000000004454 destroyed***
*[COMPV INFO]: [Thread] Thread with id=0000000000007938 will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:0000000000007938) - EXIT
*[COMPV INFO]: Thread with id=0000000000007938 will join
*[COMPV INFO]: [Thread] ***Thread with id=0000000000007938 destroyed***
*[COMPV INFO]: [Thread] Thread with id=0000000000006B88 will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:0000000000006B88) - EXIT
*[COMPV INFO]: Thread with id=0000000000006B88 will join
*[COMPV INFO]: [Thread] ***Thread with id=0000000000006B88 destroyed***
*[COMPV INFO]: [Thread] Thread with id=00000000000049F0 will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:00000000000049F0) - EXIT
*[COMPV INFO]: Thread with id=00000000000049F0 will join
*[COMPV INFO]: [Thread] ***Thread with id=00000000000049F0 destroyed***
*[COMPV INFO]: [Thread] Thread with id=0000000000006E98 will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:0000000000006E98) - EXIT
*[COMPV INFO]: Thread with id=0000000000006E98 will join
*[COMPV INFO]: [Thread] ***Thread with id=0000000000006E98 destroyed***
*[COMPV INFO]: [Thread] Thread with id=0000000000005C10 will join
*[COMPV INFO]: [CompVAsyncTask11] compv::CompVAsyncTask11::run(threadId:0000000000005C10) - EXIT
*[COMPV INFO]: Thread with id=0000000000005C10 will join
*[COMPV INFO]: [Thread] ***Thread with id=0000000000005C10 destroyed***
*[COMPV INFO]: [CompVBase] Base modules deinitialized
*[COMPV INFO]: [CompVBase] DeInitializing base modules (v 1.0.0)...
*[COMPV INFO]: [CompVBase] Base modules deinitialized
*[COMPV INFO]: Drawing module deinitialized
*[COMPV INFO]: [CompVBase] DeInitializing base modules (v 1.0.0)...
*[COMPV INFO]: [CompVBase] Base modules deinitialized
*[COMPV INFO]: [CompVBase] DeInitializing base modules (v 1.0.0)...
*[COMPV INFO]: [CompVBase] Base modules deinitialized
*[COMPV INFO]: [CompVBase] DeInitializing base modules (v 1.0.0)...
*[COMPV INFO]: [CompVBase] Base modules deinitialized
*[COMPV INFO]: [CompVBase] DeInitializing base modules (v 1.0.0)...
*[COMPV INFO]: [CompVBase] Base modules deinitialized
*[COMPV INFO]: [CompVBase] DeInitializing base modules (v 1.0.0)...
*[COMPV INFO]: [CompVBase] Base modules deinitialized
DoubangoTelecom commented 4 years ago

Without the original image we cannot check what's wrong

MiyamuraMiyako commented 4 years ago

@DoubangoTelecom this image can't process.

c2

MiyamuraMiyako commented 4 years ago

I use sample pictures can be process, but return info contain *. how to disable this mask character?

DoubangoTelecom commented 4 years ago

@DoubangoTelecom this image can't process.

c2

Tried with https://www.doubango.org/webapps/mrz/ and it's correctly recognized

DoubangoTelecom commented 4 years ago

I use sample pictures can be process, but return info contain *. how to disable this mask character?

You're using a trial version.

MiyamuraMiyako commented 4 years ago

ok,I know. thank you for reply. 图片

DoubangoTelecom commented 4 years ago

ok,I know. thank you for reply. 图片

You have managed to test without registration or license key or internet connection. This is the point. We haven't said it's free but you can test and check accuracy without license key.

imranbaloch commented 4 years ago

I am running C# sample for this picture https://www.doubango.org/webapps/mrz/img/sample1_highres.jpg

On your website, it shows correct information https://www.doubango.org/webapps/mrz/

But from sample I just received,

{"duration":152,"frame_id":0,"zones":[{"lines":[{"confidence":91.0,"text":"VIUS*SUL*M*N<<FU*D<SH*R*F<SUL*M*N<<<<<<<<<<<","warpedBox":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0]},{"confidence":90.0,"text":"**925733<9IRQ*507017M170512*Q**GH01Z97710997","warpedBox":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0]}],"warpedBox":[404,595,821,595,821,640,404,640]}]}

We need a POC before purchasing the liceance. Here is the code I used from your sample,

            UltMrzSdkResult result = CheckResult("Init", UltMrzSdkEngine.init(BuildJSON(@"C:\xxx\ultimateMRZ-SDK-master\assets", "")));

            // Decode the JPEG/PNG/BMP file
            String file = @"Pic.jpg";
            if (!System.IO.File.Exists(file))
            {
                throw new System.IO.FileNotFoundException("File not found:" + file);
            }
            Bitmap image = new Bitmap(file);

            // Processing: Detection + recognition
            // First inference is expected to be slow (deep learning models mapping to CPU/GPU memory)
            BitmapData imageData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
            try
            {
                // For packed formats (RGB-family): https://www.doubango.org/SDKs/mrz/docs/cpp-api.html#_CPPv4N14ultimateMrzSdk15UltMrzSdkEngine7processEK21ULTMRZ_SDK_IMAGE_TYPEPKvK6size_tK6size_tK6size_tKi
                // For YUV formats (data from camera): https://www.doubango.org/SDKs/mrz/docs/cpp-api.html#_CPPv4N14ultimateMrzSdk15UltMrzSdkEngine7processEK21ULTMRZ_SDK_IMAGE_TYPEPKvPKvPKvK6size_tK6size_tK6size_tK6size_tK6size_tK6size_tKi
                result = CheckResult("Process", UltMrzSdkEngine.process(
                        ULTMRZ_SDK_IMAGE_TYPE.ULTMRZ_SDK_IMAGE_TYPE_RGB24, // TODO(dmi): not correct. C# image decoder outputs BGR24 instead of RGB24
                        imageData.Scan0,
                        (uint)image.Width,
                        (uint)image.Height
                    ));
                // Print result to console
                Console.WriteLine("Result: {0}", result.json());
            }
            finally
            {
                image.UnlockBits(imageData);
            }
DoubangoTelecom commented 4 years ago

I am running C# sample for this picture https://www.doubango.org/webapps/mrz/img/sample1_highres.jpg

On your website, it shows correct information https://www.doubango.org/webapps/mrz/

But from sample I just received,

{"duration":152,"frame_id":0,"zones":[{"lines":[{"confidence":91.0,"text":"VIUS*SUL*M*N<<FU*D<SH*R*F<SUL*M*N<<<<<<<<<<<","warpedBox":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0]},{"confidence":90.0,"text":"**925733<9IRQ*507017M170512*Q**GH01Z97710997","warpedBox":[-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0]}],"warpedBox":[404,595,821,595,821,640,404,640]}]}

We need a POC before purchasing the liceance. Here is the code I used from your sample,

            UltMrzSdkResult result = CheckResult("Init", UltMrzSdkEngine.init(BuildJSON(@"C:\xxx\ultimateMRZ-SDK-master\assets", "")));

            // Decode the JPEG/PNG/BMP file
            String file = @"Pic.jpg";
            if (!System.IO.File.Exists(file))
            {
                throw new System.IO.FileNotFoundException("File not found:" + file);
            }
            Bitmap image = new Bitmap(file);

            // Processing: Detection + recognition
            // First inference is expected to be slow (deep learning models mapping to CPU/GPU memory)
            BitmapData imageData = image.LockBits(new Rectangle(0, 0, image.Width, image.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
            try
            {
                // For packed formats (RGB-family): https://www.doubango.org/SDKs/mrz/docs/cpp-api.html#_CPPv4N14ultimateMrzSdk15UltMrzSdkEngine7processEK21ULTMRZ_SDK_IMAGE_TYPEPKvK6size_tK6size_tK6size_tKi
                // For YUV formats (data from camera): https://www.doubango.org/SDKs/mrz/docs/cpp-api.html#_CPPv4N14ultimateMrzSdk15UltMrzSdkEngine7processEK21ULTMRZ_SDK_IMAGE_TYPEPKvPKvPKvK6size_tK6size_tK6size_tK6size_tK6size_tK6size_tKi
                result = CheckResult("Process", UltMrzSdkEngine.process(
                        ULTMRZ_SDK_IMAGE_TYPE.ULTMRZ_SDK_IMAGE_TYPE_RGB24, // TODO(dmi): not correct. C# image decoder outputs BGR24 instead of RGB24
                        imageData.Scan0,
                        (uint)image.Width,
                        (uint)image.Height
                    ));
                // Print result to console
                Console.WriteLine("Result: {0}", result.json());
            }
            finally
            {
                image.UnlockBits(imageData);
            }

As explained above, some characters are replaced with '*' when there is no active license key. This is not a blocking point to have an idea about the accuracy. Also, the cloud and the SDK use the exact same code.

imranbaloch commented 4 years ago

Actually, for demo purpose, we need to show POC by integrating into our application. This looks not possible without purchasing the license?