├── README.md ├── gradio ├── app.py └── images │ ├── band_credit_card │ ├── demo1.jpg │ ├── demo2.png │ └── demo3.png │ ├── id │ ├── demo1.jpg │ ├── demo2.png │ └── demo3.png │ └── mrz_barcode │ ├── demo1.png │ └── demo2.png ├── python ├── check_credit.py ├── check_id.py ├── check_mrz.py └── test_image │ ├── bank_card_image.png │ ├── id_image.jpg │ └── mrz_image.png └── requirements.txt /README.md: -------------------------------------------------------------------------------- 1 |
2 |

ID Document Recognition Windows SDK

3 | MiniAiLive Logo 5 |
6 | 7 | ## Welcome to the [MiniAiLive](https://www.miniai.live/)! 8 | Welcome to the ID Document Recognition SDK! This SDK provides powerful tools for recognizing and extracting information from ID documents. The SDK is available for both Windows and Linux platforms and includes an API for integration. 9 | 10 | Reduce drop-off and boost conversions with ID scanning and verification solutions. Quickly and securely capture, extract, and verify data from diverse ID cards, passports, driver’s licenses, and other documents with our proven, AI-first approach. 11 | Designed to fit seamlessly together, our technology can be integrated as a fully-bundled identity document verification solution or as separate modules via developer-friendly mobile or server SDK. 12 | Try it out today! 13 | 14 | > **Note** 15 | > - Our SDK is fully on-premise, processing all happens on hosting server and no data leaves server. 16 | > - 8,000+ document templates covering IDs issued in 200+ countries and territories. 17 | > - Support of 100+ languages and special characters via sophisticated neural networks. 18 | 19 | ## Table of Contents 20 | 21 | - [Installation Guide](#installation-guide) 22 | - [API Details](#api-details) 23 | - [Gradio Demo](#gradio-demo) 24 | - [Python Test API Example](#python-test-api-example) 25 | 26 | ## IDSDK Installation Guide 27 | 28 | ### Prerequisites 29 | 30 | - Python 3.6+ 31 | - Windows 32 | - CPU: 2 cores or more 33 | - RAM: 8 GB or more 34 | 35 | ### Installation Steps 36 | 37 | 1. **Download the ID Document Recognition Windows Server Installer:** 38 | 39 | Download the Server installer for your operating system from the following link: 40 | 41 | [Download the On-premise Server Installer](https://drive.google.com/file/d/1r7mxZpPEEzuuAMTjoWo9BmUyaa0-XAjR/view?usp=sharing) 42 | 43 | 2. **Install the On-premise Server:** 44 | 45 | Run the installer and follow the on-screen instructions to complete the installation. 46 |
47 | install 48 |
49 | 50 | 4. **Request License and Update:** 51 | 52 | Run MIRequest.exe file to generate a license request file. You can find it here. 53 | 54 | > C:\Program Files\MiniAiLive\MiniAiLive-ID-Server 55 | 56 | Open it, generate a license request file, and send it to us via email or WhatsApp. We will send the license based on your Unique Request file, then you can upload the license file to allow to use. Refer the below images. 57 |
58 | 59 | 60 | 61 | 62 |
63 | 64 | 6. **Verify Installation:** 65 | 66 | After installation, verify that the On-premise Server is correctly installed by checking the task manager: 67 |
68 | 69 |
70 | 71 | ## IDSDK API Details 72 | 73 | ### Endpoint 74 | 75 | - `POST http://127.0.0.1:8082/api/check_id` ID Document Recognition API 76 | - `POST http://127.0.0.1:8082/api/check_id_base64` ID Document Recognition API 77 | 78 | - `POST http://127.0.0.1:8082/api/check_credit` Bank & Credit Card Reader API 79 | - `POST http://127.0.0.1:8082/api/check_credit_base64` Bank & Credit Card Reader API 80 | 81 | - `POST http://127.0.0.1:8082/api/check_mrz` MRZ & Barcode Recognition API 82 | - `POST http://127.0.0.1:8082/api/check_mrz_base64` MRZ & Barcode Recognition API 83 | 84 | ### Request 85 | 86 | - **URL:** `http://127.0.0.1:8082/api/check_id` 87 | - **Method:** `POST` 88 | - **Form Data:** 89 | - `image`: The image file (PNG, JPG, etc.) to be analyzed. This should be provided as a file upload. 90 | Screenshot 2024-07-16 at 5 12 01 AM 91 | 92 | - **URL:** `http://127.0.0.1:8082/api/check_id_base64` 93 | - **Method:** `POST` 94 | - **Raw Data:** 95 | - `JSON Format`: 96 | { 97 | "image": "--base64 image data here--" 98 | } 99 | Screenshot 2024-07-16 at 5 11 34 AM 100 | 101 | ### Response 102 | 103 | The API returns a JSON object with the recognized details from the ID document. Here is an example response: 104 |
105 | 106 |
107 | 108 | ## Gradio Demo 109 | 110 | We have included a Gradio demo to showcase the capabilities of our ID Document Recognition SDK. Gradio is a Python library that allows you to quickly create user interfaces for machine learning models. 111 | 112 | ### How to Run the Gradio Demo 113 | 114 | 1. **Install Gradio:** 115 | 116 | First, you need to install Gradio. You can do this using pip: 117 | 118 | ```sh 119 | git clone https://github.com/MiniAiLive/ID-DocumentRecognition-Windows-SDK.git 120 | pip install -r requirement.txt 121 | cd gradio 122 | ``` 123 | 2. **Run Gradio Demo:** 124 | ```sh 125 | python app.py 126 | ``` 127 | ## Python Test API Example 128 | 129 | To help you get started with using the API, here is a comprehensive example of how to interact with the ID Document Recognition API using Python. You can use API with another language you want to use like C++, C#, Ruby, Java, Javascript, and more 130 | 131 | ### Prerequisites 132 | 133 | - Python 3.6+ 134 | - `requests` library (you can install it using `pip install requests`) 135 | 136 | ### Example Script 137 | 138 | This example demonstrates how to send an image file to the API endpoint and process the response. 139 | 140 | ```python 141 | import requests 142 | 143 | # URL of the web API endpoint 144 | url = 'http://127.0.0.1:8082/api/check_id' 145 | 146 | # Path to the image file you want to send 147 | image_path = './test_image.jpg' 148 | 149 | # Read the image file and send it as form data 150 | files = {'image': open(image_path, 'rb')} 151 | 152 | try: 153 | # Send POST request 154 | response = requests.post(url, files=files) 155 | 156 | # Check if the request was successful 157 | if response.status_code == 200: 158 | print('Request was successful!') 159 | # Parse the JSON response 160 | response_data = response.json() 161 | print('Response Data:', response_data) 162 | else: 163 | print('Request failed with status code:', response.status_code) 164 | print('Response content:', response.text) 165 | 166 | except requests.exceptions.RequestException as e: 167 | print('An error occurred:', e) 168 | ``` 169 | 170 | ## Request license 171 | Feel free to [Contact US](https://www.miniai.live/contact/) to get a trial License. We are 24/7 online on [WhatsApp](https://wa.me/+19162702374). 172 | 173 | 174 | ## Face & IDSDK Online Demo, Resources 175 |
176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 |
188 |
189 | 190 | ## Our Products 191 | 192 | ### Face Recognition SDK 193 | | No | Project | Features | 194 | |----|---------|-----------| 195 | | 1 | [FaceRecognition-SDK-Docker](https://github.com/MiniAiLive/FaceRecognition-SDK-Docker) | 1:1 & 1:N Face Matching SDK | 196 | | 2 | [FaceRecognition-SDK-Windows](https://github.com/MiniAiLive/FaceRecognition-SDK-Windows) | 1:1 & 1:N Face Matching SDK | 197 | | 3 | [FaceRecognition-SDK-Linux](https://github.com/MiniAiLive/FaceRecognition-SDK-Linux) | 1:1 & 1:N Face Matching SDK | 198 | | 4 | [FaceRecognition-LivenessDetection-SDK-Android](https://github.com/MiniAiLive/FaceRecognition-LivenessDetection-SDK-Android) | 1:1 & 1:N Face Matching, 2D & 3D Face Passive Liveness Detection SDK | 199 | | 5 | [FaceRecognition-LivenessDetection-SDK-iOS](https://github.com/MiniAiLive/FaceRecognition-LivenessDetection-SDK-iOS) | 1:1 & 1:N Face Matching, 2D & 3D Face Passive Liveness Detection SDK | 200 | | 6 | [FaceRecognition-LivenessDetection-SDK-CPP](https://github.com/MiniAiLive/FaceRecognition-LivenessDetection-SDK-CPP) | 1:1 & 1:N Face Matching, 2D & 3D Face Passive Liveness Detection SDK | 201 | | 7 | [FaceMatching-SDK-Android](https://github.com/MiniAiLive/FaceMatching-SDK-Android) | 1:1 Face Matching SDK | 202 | | 8 | [FaceAttributes-SDK-Android](https://github.com/MiniAiLive/FaceAttributes-SDK-Android) | Face Attributes, Age & Gender Estimation SDK | 203 | 204 | ### Face Liveness Detection SDK 205 | | No | Project | Features | 206 | |----|---------|-----------| 207 | | 1 | [FaceLivenessDetection-SDK-Docker](https://github.com/MiniAiLive/FaceLivenessDetection-SDK-Docker) | 2D & 3D Face Passive Liveness Detection SDK | 208 | | 2 | [FaceLivenessDetection-SDK-Windows](https://github.com/MiniAiLive/FaceLivenessDetection-SDK-Windows) | 2D & 3D Face Passive Liveness Detection SDK | 209 | | 3 | [FaceLivenessDetection-SDK-Linux](https://github.com/MiniAiLive/FaceLivenessDetection-SDK-Linux) | 2D & 3D Face Passive Liveness Detection SDK | 210 | | 4 | [FaceLivenessDetection-SDK-Android](https://github.com/MiniAiLive/FaceLivenessDetection-SDK-Android) | 2D & 3D Face Passive Liveness Detection SDK | 211 | | 5 | [FaceLivenessDetection-SDK-iOS](https://github.com/MiniAiLive/FaceLivenessDetection-SDK-iOS) | 2D & 3D Face Passive Liveness Detection SDK | 212 | 213 | ### ID Document Recognition SDK 214 | | No | Project | Features | 215 | |----|---------|-----------| 216 | | 1 | [ID-DocumentRecognition-SDK-Docker](https://github.com/MiniAiLive/ID-DocumentRecognition-SDK-Docker) | ID Document, Passport, Driver License, Credit Card, MRZ Recognition SDK | 217 | | 2 | [ID-DocumentRecognition-SDK-Windows](https://github.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows) | ID Document, Passport, Driver License, Credit Card, MRZ Recognition SDK | 218 | | 3 | [ID-DocumentRecognition-SDK-Linux](https://github.com/MiniAiLive/ID-DocumentRecognition-SDK-Linux) | ID Document, Passport, Driver License, Credit Card, MRZ Recognition SDK | 219 | | 4 | [ID-DocumentRecognition-SDK-Android](https://github.com/MiniAiLive/ID-DocumentRecognition-SDK-Android) | ID Document, Passport, Driver License, Credit Card, MRZ Recognition SDK | 220 | 221 | ### ID Document Liveness Detection SDK 222 | | No | Project | Features | 223 | |----|---------|-----------| 224 | | 1 | [ID-DocumentLivenessDetection-SDK-Docker](https://github.com/MiniAiLive/ID-DocumentLivenessDetection-SDK-Docker) | ID Document Liveness Detection SDK | 225 | | 2 | [ID-DocumentLivenessDetection-SDK-Windows](https://github.com/MiniAiLive/ID-DocumentLivenessDetection-SDK-Windows) | ID Document Liveness Detection SDK | 226 | | 3 | [ID-DocumentLivenessDetection-SDK-Linux](https://github.com/MiniAiLive/ID-DocumentLivenessDetection-SDK-Linux) | ID Document Liveness Detection SDK | 227 | 228 | ### Web & Desktop Demo 229 | | No | Project | Features | 230 | |----|---------|-----------| 231 | | 1 | [FaceRecognition-IDRecognition-Playground-Next.JS](https://github.com/MiniAiLive/FaceRecognition-IDRecognition-Playground-Next.JS) | FaceSDK & IDSDK Playground | 232 | | 2 | [FaceCapture-LivenessDetection-Next.JS](https://github.com/MiniAiLive/FaceCapture-LivenessDetection-Next.JS) | Face Capture, Face LivenessDetection, Face Attributes | 233 | | 3 | [FaceMatching-Windows-App](https://github.com/MiniAiLive/FaceMatching-Windows-App) | 1:1 Face Matching Windows Demo Application | 234 | 235 | ## About MiniAiLive 236 | [MiniAiLive](https://www.miniai.live/) is a leading AI solutions company specializing in computer vision and machine learning technologies. We provide cutting-edge solutions for various industries, leveraging the power of AI to drive innovation and efficiency. 237 | 238 | ## Contact US 239 | For any inquiries or questions, please contact us on [WhatsApp](https://wa.me/+19162702374). 240 | 241 |

242 | www.miniai.live  243 | www.miniai.live  244 |

245 | -------------------------------------------------------------------------------- /gradio/app.py: -------------------------------------------------------------------------------- 1 | import gradio as gr 2 | import os 3 | import requests 4 | 5 | def id_check(frame): 6 | url = "http://127.0.0.1:8082/api/check_id" 7 | files = {'image': open(frame, 'rb')} 8 | r = requests.post(url=url, files=files) 9 | 10 | html = None 11 | images = None 12 | mrz = None 13 | 14 | table_value = "" 15 | 16 | if r.json().get('MRZ') is not None: 17 | mrz = r.json().get('MRZ') 18 | 19 | for key, value in r.json().items(): 20 | if key == 'Status' or key == 'Images' or key == 'MRZ' or key == 'Position': 21 | continue 22 | 23 | mrz_value = '' 24 | if mrz is not None and mrz.get(key) is not None: 25 | mrz_value = mrz[key] 26 | del mrz[key] 27 | 28 | row_value = ("" 29 | "{key}" 30 | "{value}" 31 | "{mrz_value}" 32 | "".format(key=key, value=value, mrz_value=mrz_value)) 33 | table_value = table_value + row_value 34 | 35 | 36 | if mrz is not None: 37 | for key, value in mrz.items(): 38 | if key == 'MRZ': 39 | value = value.replace('<', '<') 40 | value = value.replace(',', '

') 41 | 42 | row_value = ("" 43 | "{key}" 44 | "{value}" 45 | "{mrz_value}" 46 | "".format(key=key, value='', mrz_value=value)) 47 | table_value = table_value + row_value 48 | 49 | 50 | html = ("" 51 | "" 52 | "" 53 | "" 54 | "" 55 | "" 56 | "{table_value}" 57 | "
FieldValueMRZ
".format(table_value=table_value)) 58 | 59 | table_value = "" 60 | for key, value in r.json().items(): 61 | if key == 'Images': 62 | for image_key, image_value in value.items(): 63 | row_value = ("" 64 | "{key}" 65 | "" 66 | "".format(key=image_key, base64_image=image_value)) 67 | table_value = table_value + row_value 68 | 69 | images = ("" 70 | "" 71 | "" 72 | "" 73 | "" 74 | "{table_value}" 75 | "
FieldImage
".format(table_value=table_value)) 76 | 77 | return [html, images] 78 | 79 | def bank_credit_check(frame): 80 | url = 'http://127.0.0.1:8082/api/check_credit' 81 | files = {'image': open(frame, 'rb')} 82 | r = requests.post(url=url, files=files) 83 | 84 | html = None 85 | table_value = "" 86 | 87 | for key, value in r.json().items(): 88 | if key == 'Status' or key == 'Images': 89 | continue 90 | 91 | row_value = ("" 92 | "{key}" 93 | "{value}" 94 | "".format(key=key, value=value)) 95 | table_value = table_value + row_value 96 | 97 | html = ("" 98 | "" 99 | "" 100 | "" 101 | "" 102 | "{table_value}" 103 | "
FieldValue
".format(table_value=table_value)) 104 | 105 | return html 106 | 107 | def mrz_barcode_check(frame): 108 | url = 'http://127.0.0.1:8082/api/check_mrz' 109 | files = {'image': open(frame, 'rb')} 110 | r = requests.post(url=url, files=files) 111 | 112 | html = None 113 | mrz = None 114 | 115 | table_value = "" 116 | 117 | if r.json().get('MRZ') is not None: 118 | mrz = r.json().get('MRZ') 119 | 120 | # Iterate through the MRZ data and print each key and item 121 | for key, value in mrz.items(): 122 | if key == 'MRZ Code': 123 | value = value.replace('<', '<') 124 | value = value.replace(',', '

') 125 | row_value = ("" 126 | "{key}" 127 | "{value}" 128 | "".format(key=key, value=value)) 129 | table_value = table_value + row_value 130 | 131 | html = ("" 132 | "" 133 | "" 134 | "" 135 | "" 136 | "{table_value}" 137 | "
FieldValue
".format(table_value=table_value)) 138 | 139 | return html 140 | 141 | # APP Interface 142 | with gr.Blocks() as MiniAIdemo: 143 | gr.Markdown( 144 | """ 145 | 146 | 147 |

148 |

IDSDK Web Online Demo

149 |
150 | 151 | 152 |
153 | 159 |
160 | """ 161 | ) 162 | with gr.Tabs(): 163 | with gr.TabItem("ID Card Recognition"): 164 | with gr.Row(): 165 | with gr.Column(scale=3): 166 | im_id_input = gr.Image(type='filepath', height=300) 167 | gr.Examples( 168 | [ 169 | os.path.join(os.path.dirname(__file__), "images/id/demo1.jpg"), 170 | os.path.join(os.path.dirname(__file__), "images/id/demo2.png"), 171 | os.path.join(os.path.dirname(__file__), "images/id/demo3.png"), 172 | ], 173 | inputs=im_id_input 174 | ) 175 | btn_f_id = gr.Button("Analysis Document", variant='primary') 176 | with gr.Column(scale=5): 177 | txt_id_output = gr.HTML() 178 | with gr.Column(scale=2): 179 | im_id_output = gr.HTML() 180 | btn_f_id.click(id_check, inputs=im_id_input, outputs=[txt_id_output, im_id_output]) 181 | with gr.TabItem("Bank & Credit Card Recognition"): 182 | with gr.Row(): 183 | with gr.Column(scale=3): 184 | im_card_input = gr.Image(type='filepath', height=300) 185 | gr.Examples( 186 | [ 187 | os.path.join(os.path.dirname(__file__), "images/band_credit_card/demo1.jpg"), 188 | os.path.join(os.path.dirname(__file__), "images/band_credit_card/demo2.png"), 189 | os.path.join(os.path.dirname(__file__), "images/band_credit_card/demo3.png"), 190 | ], 191 | inputs=im_card_input 192 | ) 193 | btn_f_card = gr.Button("Analysis Document", variant='primary') 194 | with gr.Column(scale=5): 195 | txt_card_output = gr.HTML() 196 | btn_f_card.click(bank_credit_check, inputs=im_card_input, outputs=txt_card_output) 197 | with gr.TabItem("MRZ & Barcode Recognition"): 198 | with gr.Row(): 199 | with gr.Column(scale=3): 200 | im_mrz_input = gr.Image(type='filepath', height=300) 201 | gr.Examples( 202 | [ 203 | os.path.join(os.path.dirname(__file__), "images/mrz_barcode/demo1.png"), 204 | os.path.join(os.path.dirname(__file__), "images/mrz_barcode/demo2.png"), 205 | ], 206 | inputs=im_mrz_input 207 | ) 208 | btn_f_mrz = gr.Button("Analysis Document", variant='primary') 209 | with gr.Column(scale=5): 210 | txt_mrz_output = gr.HTML() 211 | btn_f_mrz.click(mrz_barcode_check, inputs=im_mrz_input, outputs=txt_mrz_output) 212 | 213 | if __name__ == "__main__": 214 | MiniAIdemo.launch(server_port=8083, server_name="0.0.0.0") -------------------------------------------------------------------------------- /gradio/images/band_credit_card/demo1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/band_credit_card/demo1.jpg -------------------------------------------------------------------------------- /gradio/images/band_credit_card/demo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/band_credit_card/demo2.png -------------------------------------------------------------------------------- /gradio/images/band_credit_card/demo3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/band_credit_card/demo3.png -------------------------------------------------------------------------------- /gradio/images/id/demo1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/id/demo1.jpg -------------------------------------------------------------------------------- /gradio/images/id/demo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/id/demo2.png -------------------------------------------------------------------------------- /gradio/images/id/demo3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/id/demo3.png -------------------------------------------------------------------------------- /gradio/images/mrz_barcode/demo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/mrz_barcode/demo1.png -------------------------------------------------------------------------------- /gradio/images/mrz_barcode/demo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/gradio/images/mrz_barcode/demo2.png -------------------------------------------------------------------------------- /python/check_credit.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | # URL of the API endpoint 4 | url = 'http://127.0.0.1:8082/api/check_credit' 5 | 6 | # Path to the image file you want to send 7 | image_path = './test_image/bank_card_image.png' 8 | 9 | # Read the image file and encode it as a base64 string 10 | files = {'image': open(image_path, 'rb')} 11 | 12 | try: 13 | # Send POST request 14 | response = requests.post(url, files=files) 15 | 16 | # Check if the request was successful 17 | if response.status_code == 200: 18 | print('Request was successful!') 19 | # Parse the JSON response 20 | response_data = response.content 21 | print('Response Data :', response_data) 22 | else: 23 | print('Request failed with status code:', response.status_code) 24 | print('Response content:', response.text) 25 | 26 | except requests.exceptions.RequestException as e: 27 | print('An error occurred:', e) 28 | -------------------------------------------------------------------------------- /python/check_id.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | # URL of the API endpoint 4 | url = 'http://127.0.0.1:8082/api/check_id' 5 | 6 | # Path to the image file you want to send 7 | image_path = './test_image/id_image.jpg' 8 | 9 | # Read the image file and encode it as a base64 string 10 | files = {'image': open(image_path, 'rb')} 11 | 12 | try: 13 | # Send POST request 14 | response = requests.post(url, files=files) 15 | 16 | # Check if the request was successful 17 | if response.status_code == 200: 18 | print('Request was successful!') 19 | # Parse the JSON response 20 | response_data = response.content 21 | print('Response Data :', response_data) 22 | else: 23 | print('Request failed with status code:', response.status_code) 24 | print('Response content:', response.text) 25 | 26 | except requests.exceptions.RequestException as e: 27 | print('An error occurred:', e) 28 | -------------------------------------------------------------------------------- /python/check_mrz.py: -------------------------------------------------------------------------------- 1 | import requests 2 | 3 | # URL of the API endpoint 4 | url = 'http://127.0.0.1:8082/api/check_mrz' 5 | 6 | # Path to the image file you want to send 7 | image_path = './test_image/mrz_image.png' 8 | 9 | # Read the image file and encode it as a base64 string 10 | files = {'image': open(image_path, 'rb')} 11 | 12 | try: 13 | # Send POST request 14 | response = requests.post(url, files=files) 15 | 16 | # Check if the request was successful 17 | if response.status_code == 200: 18 | print('Request was successful!') 19 | # Parse the JSON response 20 | response_data = response.content 21 | print('Response Data :', response_data) 22 | else: 23 | print('Request failed with status code:', response.status_code) 24 | print('Response content:', response.text) 25 | 26 | except requests.exceptions.RequestException as e: 27 | print('An error occurred:', e) 28 | -------------------------------------------------------------------------------- /python/test_image/bank_card_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/python/test_image/bank_card_image.png -------------------------------------------------------------------------------- /python/test_image/id_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/python/test_image/id_image.jpg -------------------------------------------------------------------------------- /python/test_image/mrz_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MiniAiLive/ID-DocumentRecognition-SDK-Windows/d848f8d5ed0b7fe4c4a9f90a289de8b245ab7bf0/python/test_image/mrz_image.png -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | gradio 2 | requests --------------------------------------------------------------------------------