wajid commited on
Commit
f4e78ae
·
1 Parent(s): be13c6e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -16
app.py CHANGED
@@ -2,6 +2,7 @@ from fastapi import FastAPI , File , UploadFile , Form
2
  from datetime import datetime
3
  from pydantic import BaseModel
4
  import mrzscanner
 
5
  import json
6
  import uvicorn
7
  from mrz.checker.td1 import TD1CodeChecker
@@ -63,13 +64,20 @@ def check(lines):
63
 
64
  import cv2
65
 
66
- def get_info(scanner,img):
67
 
68
  s=""
69
- image_np=np.frombuffer(img,dtype=np.uint8)
70
- img_np=cv2.imdecode(image_np,cv2.IMREAD_COLOR)
71
-
72
- #image = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)
 
 
 
 
 
 
 
73
  results = scanner.decodeMat(img_np)
74
 
75
  lst1=[]
@@ -169,19 +177,50 @@ class encodedImage(BaseModel):
169
 
170
 
171
  @app.post('/')
172
- async def _file_upload(img:
173
- UploadFile = File(...)):
174
 
175
- img.filename = f"{uuid.uuid4()}.jpg"
176
- contents = await img.read() # <-- Important!
177
- mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMTAxNjIyNjAzLVRYbEVaWE5yZEc5d1VISnZhbDlrYkhJIiwib3JnYW5pemF0aW9uSUQiOiIxMDE2MjI2MDMiLCJjaGVja0NvZGUiOjE4ODA3MzYyNzN9")
 
 
 
 
 
 
 
 
 
 
 
178
 
179
- #mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==")
180
- scanner = mrzscanner.createInstance()
181
- scanner.loadModel(mrzscanner.get_model_path())
182
- lst=get_info(scanner, contents)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  if lst:
184
-
185
  final_lst=extract_result(lst)
186
  json_file=return_df(final_lst)
187
  success=False
@@ -219,7 +258,6 @@ def func():
219
  def main(img):
220
  # set license.
221
  mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMTAxNjIyNjAzLVRYbEVaWE5yZEc5d1VISnZhbDlrYkhJIiwib3JnYW5pemF0aW9uSUQiOiIxMDE2MjI2MDMiLCJjaGVja0NvZGUiOjE4ODA3MzYyNzN9")
222
-
223
  #mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==")
224
  scanner = mrzscanner.createInstance()
225
  scanner.loadModel(mrzscanner.get_model_path())
 
2
  from datetime import datetime
3
  from pydantic import BaseModel
4
  import mrzscanner
5
+ import PIL
6
  import json
7
  import uvicorn
8
  from mrz.checker.td1 import TD1CodeChecker
 
64
 
65
  import cv2
66
 
67
+ def get_info(scanner,img,file_type):
68
 
69
  s=""
70
+ if file_type=="image":
71
+ image_np=np.frombuffer(img,dtype=np.uint8)
72
+ img_np=cv2.imdecode(image_np,cv2.IMREAD_COLOR)
73
+ elif file_type=="pdf":
74
+ img_np = np.array(img)
75
+ else:
76
+ img_np = np.array(img)
77
+
78
+
79
+
80
+
81
  results = scanner.decodeMat(img_np)
82
 
83
  lst1=[]
 
177
 
178
 
179
  @app.post('/')
180
+ async def _file_upload(img:UploadFile = File(...)):
 
181
 
182
+ file_type=""
183
+ if "pdf" in img.filename:
184
+
185
+
186
+ file_type="pdf"
187
+ import pypdfium2 as pdfium
188
+ img1 = await img.read() # <-- Important!
189
+ pdf = pdfium.PdfDocument(img1)
190
+
191
+ for x in range(len(pdf)):
192
+ page = pdf.get_page(x)
193
+ pil_image = page.render_to(pdfium.BitmapConv.pil_image,)
194
+ pil_image.filename = f"{uuid.uuid4()}.jpg"
195
+ mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMTAxNjIyNjAzLVRYbEVaWE5yZEc5d1VISnZhbDlrYkhJIiwib3JnYW5pemF0aW9uSUQiOiIxMDE2MjI2MDMiLCJjaGVja0NvZGUiOjE4ODA3MzYyNzN9")
196
 
197
+ # mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==")
198
+ scanner = mrzscanner.createInstance()
199
+ scanner.loadModel(mrzscanner.get_model_path())
200
+ lst=get_info(scanner, pil_image,file_type)
201
+ if lst:
202
+ break
203
+
204
+
205
+ else:
206
+ file_type="image"
207
+ img.filename = f"{uuid.uuid4()}.jpg"
208
+
209
+ contents = await img.read() # <-- Important!
210
+
211
+ mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMTAxNjIyNjAzLVRYbEVaWE5yZEc5d1VISnZhbDlrYkhJIiwib3JnYW5pemF0aW9uSUQiOiIxMDE2MjI2MDMiLCJjaGVja0NvZGUiOjE4ODA3MzYyNzN9")
212
+
213
+ # mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==")
214
+ scanner = mrzscanner.createInstance()
215
+ scanner.loadModel(mrzscanner.get_model_path())
216
+
217
+ lst=get_info(scanner, contents,file_type)
218
+
219
+
220
+
221
+
222
  if lst:
223
+
224
  final_lst=extract_result(lst)
225
  json_file=return_df(final_lst)
226
  success=False
 
258
  def main(img):
259
  # set license.
260
  mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMTAxNjIyNjAzLVRYbEVaWE5yZEc5d1VISnZhbDlrYkhJIiwib3JnYW5pemF0aW9uSUQiOiIxMDE2MjI2MDMiLCJjaGVja0NvZGUiOjE4ODA3MzYyNzN9")
 
261
  #mrzscanner.initLicense("DLS2eyJoYW5kc2hha2VDb2RlIjoiMjAwMDAxLTE2NDk4Mjk3OTI2MzUiLCJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSIsInNlc3Npb25QYXNzd29yZCI6IndTcGR6Vm05WDJrcEQ5YUoifQ==")
262
  scanner = mrzscanner.createInstance()
263
  scanner.loadModel(mrzscanner.get_model_path())