Guest User

Untitled

a guest
Mar 22nd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.60 KB | None | 0 0
  1. import re
  2. import requests as req
  3. # import Flask as Flask
  4. import imutils
  5. # from flask import Flask,render_template,request,json,jsonify
  6. import cv2
  7. import os
  8. import pytesseract
  9. from PIL import Image
  10. from flask import Flask, request, render_template, json
  11. import uuid
  12. app = Flask(__name__)
  13. BINARY_THREHOLD = 180
  14. APP_ROOT = os.path.dirname(os.path.abspath(__file__))
  15. # Start
  16. # make a UUID based on the host ID and current time
  17. @app.route('/',methods=['post','get'])
  18. def main():
  19. return render_template("start.html")
  20. @app.route('/start',methods=['POST','GET'])
  21. def start():
  22. print("stay")
  23. if request.files['attachement']:
  24. target = os.path.join(APP_ROOT, 'static/files')
  25. print(target)
  26. # os.makedirs(target)
  27. file = request.files['attachement']
  28. print(file)
  29. filename = file.filename
  30. destination = "/".join([target, filename])
  31. print(destination)
  32. file.save(destination)
  33. base = os.path.basename(destination)
  34. print(base)
  35. oriimage = cv2.imread(destination)
  36. newimage = cv2.resize(oriimage,(984,582))
  37. # cv2.imshow("iiihufasfva",newimage)
  38. # dob=cv2.imread(newimage)
  39. # cv2.imshow("dob",newimage)
  40. dob=cv2.imread(destination)
  41. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/newone.png",newimage)
  42. imgray1 = cv2.cvtColor(newimage,cv2.COLOR_BGR2GRAY)
  43. ret2,threshone = cv2.threshold(imgray1,139,255,cv2.THRESH_BINARY)
  44. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/threshone.png",threshone)
  45. single=Image.open("C:/Users/shruthipriyanka/PycharmProjects/Scanning/threshone.png")
  46. singlejoin=pytesseract.image_to_string(single,lang='eng',config='--tessdata-dir "C://Tesseract-OCR//tessdata"')
  47. print(singlejoin)
  48. fetchdate=re.findall("d{2}/+d{2}/+d{4}",singlejoin)
  49. print(fetchdate)
  50. lofetch=[]
  51. for dd in fetchdate:
  52. print(dd)
  53. duty=re.split("/",dd)
  54. print(duty)
  55. lofetch.append(dd)
  56. print(lofetch)
  57. print(lofetch[0])
  58.  
  59. # name
  60. singlenamepart = newimage[110:180, 190:650]
  61. cv2.imshow("singlenamepart", singlenamepart)
  62. singlenamepartgray = cv2.cvtColor(singlenamepart, cv2.COLOR_BGR2GRAY)
  63. ret2, threshsingle = cv2.threshold(singlenamepartgray, 189, 255, cv2.THRESH_BINARY)
  64. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/singlenamepart.png", singlenamepart)
  65. singlenamepartopen = Image.open("C:/Users/shruthipriyanka/PycharmProjects/Scanning/singlenamepart.png")
  66. singlenameparttrain = pytesseract.image_to_string(singlenamepartopen, lang='eng',
  67. config='--tessdata-dir "C://Tesseract-OCR//tessdata"')
  68. print("singlenameparttrain:", singlenameparttrain)
  69. # namesecond
  70. namesecond = newimage[150:210, 190:650]
  71. cv2.imshow("singlenamepart", namesecond)
  72. namesecondpartgray = cv2.cvtColor(namesecond, cv2.COLOR_BGR2GRAY)
  73. ret2, threshsingle = cv2.threshold(namesecondpartgray, 189, 255, cv2.THRESH_BINARY)
  74. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/namelysecond.png", namesecond)
  75. nome = Image.open("C:/Users/shruthipriyanka/PycharmProjects/Scanning/namelysecond.png")
  76. nometrain = pytesseract.image_to_string(nome, lang='eng',
  77. config='--tessdata-dir "C://Tesseract-OCR//tessdata"')
  78. print("nome:", nometrain)
  79.  
  80. # address
  81. adress = newimage[260:350, 350:950]
  82. cv2.imshow("adress", adress)
  83. adresspartry = cv2.cvtColor(namesecond, cv2.COLOR_BGR2GRAY)
  84. ret2, threshsingle = cv2.threshold(adresspartry, 189, 255, cv2.THRESH_BINARY)
  85. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/ado.png", adress)
  86. addadd = Image.open("C:/Users/shruthipriyanka/PycharmProjects/Scanning/ado.png")
  87. adding = pytesseract.image_to_string(addadd, lang='eng',
  88. config='--tessdata-dir "C://Tesseract-OCR//tessdata"')
  89. print("adding:", adding)
  90.  
  91. # dateofbirth
  92. datyformat = dob[165:225, 190:650]
  93. cv2.imshow("datyformat", datyformat)
  94. nametwogray = cv2.cvtColor(datyformat, cv2.COLOR_BGR2GRAY)
  95. ret2, threshnametwo = cv2.threshold(nametwogray, 135, 255, cv2.THRESH_BINARY)
  96. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/datyformat.png", datyformat)
  97. datyformatopen = Image.open("C:/Users/shruthipriyanka/PycharmProjects/Scanning/datyformat.png")
  98. datyformattrainone = pytesseract.image_to_string(datyformatopen, lang='eng',
  99. config='--tessdata-dir "C://Tesseract-OCR//tessdata"')
  100. print("nameone:", datyformattrainone)
  101. dateformatone = re.findall('d{2}/+d{2}/+d{4}', datyformattrainone)
  102. print(dateformatone)
  103. datepart = dob[195:300, 190:950]
  104. cv2.imshow("datepart", datepart)
  105. datepartgray = cv2.cvtColor(datepart, cv2.COLOR_BGR2GRAY)
  106. ret2, datepartnametwo = cv2.threshold(datepartgray, 135, 255, cv2.THRESH_BINARY)
  107. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/datepart.png", datepartnametwo)
  108. datepartopen = Image.open("C:/Users/shruthipriyanka/PycharmProjects/Scanning/datepart.png")
  109. dateparttrain = pytesseract.image_to_string(datepartopen, lang='eng',
  110. config='--tessdata-dir "C://Tesseract-OCR//tessdata"')
  111. print("datepart:", dateparttrain)
  112.  
  113. dateformat = re.findall('d{2}/+d{2}/+d{4}', dateparttrain)
  114. print(dateformat)
  115. dateformatstring=re.findall('d+',dateparttrain)
  116. print(dateformatstring)
  117.  
  118. if dateformatone:
  119. aa = dateformatone
  120. print(aa)
  121. elif dateformat:
  122. aa = dateformat
  123. print(aa)
  124. # singlecharacter
  125. singlepart = newimage[200:290, 350:950]
  126. cv2.imshow("singlepart",singlepart)
  127. singlepartgray = cv2.cvtColor(singlepart, cv2.COLOR_BGR2GRAY)
  128. ret2, threshsingle = cv2.threshold(singlepartgray, 189, 255, cv2.THRESH_BINARY)
  129. cv2.imwrite("C:/Users/shruthipriyanka/PycharmProjects/Scanning/singlepart.png",singlepart)
  130. singlepartopen=Image.open("C:/Users/shruthipriyanka/PycharmProjects/Scanning/singlepart.png")
  131. singleparttrain=pytesseract.image_to_string(singlepartopen,lang='eng',config='--tessdata-dir "C://Tesseract-OCR//tessdata"')
  132. print("singlecharar:",singleparttrain)
  133. def upperOnly(s):
  134. onlyCaps = ""
  135. for char in s:
  136. if char.isupper() == True:
  137. onlyCaps += char
  138. return onlyCaps
  139. upper=upperOnly(singleparttrain)
  140. print(upper)
  141. singlele=[]
  142. for pos in singleparttrain:
  143. singlele.append(pos)
  144. print(pos)
  145. print(singlele)
  146. carddid = "CardID" + '_' + uuid.uuid4().hex[:4].upper()
  147. print("Pass_ID:", carddid)
  148. gen=""
  149. for ap in singlele:
  150. if ap=="F"or"f":
  151. gen="Female"
  152. print(gen)
  153. pass
  154. elif ap=="M"or"m":
  155. gen="Male"
  156. print(gen)
  157. pass
  158. elif ap!="F"and"M":
  159. gen="Female"
  160.  
  161. # elif ap=="F" and "M":
  162. # gen="female"
  163. # print(gen)
  164.  
  165. datas = {"paasid": carddid, "name": nometrain,
  166. "surname": singlenameparttrain, "addtwo": adding, "dob": lofetch[0], "gender": gen}
  167. if __name__ == '__main__':
  168. app.run()
Add Comment
Please, Sign In to add comment