Spaces:
Running
Running
1.supported multiple file uploads
Browse files2. added image refresh after information extraction
3. removed some error on extractor html
- Layoutlmv3_inference/__pycache__/__init__.cpython-310.pyc +0 -0
- Layoutlmv3_inference/__pycache__/annotate_image.cpython-310.pyc +0 -0
- Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc +0 -0
- Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc +0 -0
- Layoutlmv3_inference/__pycache__/ocr.cpython-311.pyc +0 -0
- Layoutlmv3_inference/__pycache__/utils.cpython-310.pyc +0 -0
- Layoutlmv3_inference/annotate_image.py +47 -47
- Layoutlmv3_inference/ocr.py +36 -3
- __pycache__/app.cpython-310.pyc +0 -0
- __pycache__/app.cpython-311.pyc +0 -0
- __pycache__/app.cpython-38.pyc +0 -0
- app.py +11 -10
- exp2.ipynb +183 -0
- experiment.ipynb +1337 -0
- inferenced/csv_files/Output_0.csv +3 -0
- inferenced/output.csv +3 -0
- log/error_output.log +319 -0
- sample_711.jpg +0 -0
- templates/extractor.html +205 -121
Layoutlmv3_inference/__pycache__/__init__.cpython-310.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/__init__.cpython-310.pyc and b/Layoutlmv3_inference/__pycache__/__init__.cpython-310.pyc differ
|
|
|
Layoutlmv3_inference/__pycache__/annotate_image.cpython-310.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/annotate_image.cpython-310.pyc and b/Layoutlmv3_inference/__pycache__/annotate_image.cpython-310.pyc differ
|
|
|
Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc and b/Layoutlmv3_inference/__pycache__/inference_handler.cpython-310.pyc differ
|
|
|
Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc and b/Layoutlmv3_inference/__pycache__/ocr.cpython-310.pyc differ
|
|
|
Layoutlmv3_inference/__pycache__/ocr.cpython-311.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/ocr.cpython-311.pyc and b/Layoutlmv3_inference/__pycache__/ocr.cpython-311.pyc differ
|
|
|
Layoutlmv3_inference/__pycache__/utils.cpython-310.pyc
CHANGED
|
Binary files a/Layoutlmv3_inference/__pycache__/utils.cpython-310.pyc and b/Layoutlmv3_inference/__pycache__/utils.cpython-310.pyc differ
|
|
|
Layoutlmv3_inference/annotate_image.py
CHANGED
|
@@ -4,53 +4,53 @@ from .utils import image_label_2_color
|
|
| 4 |
|
| 5 |
|
| 6 |
def get_flattened_output(docs):
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
|
| 29 |
|
| 30 |
def annotate_image(image_path, annotation_object):
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
|
|
|
| 4 |
|
| 5 |
|
| 6 |
def get_flattened_output(docs):
|
| 7 |
+
print("Running Flattened Output")
|
| 8 |
+
flattened_output = []
|
| 9 |
+
annotation_key = 'output'
|
| 10 |
+
for doc in docs:
|
| 11 |
+
flattened_output_item = {annotation_key: []}
|
| 12 |
+
doc_annotation = doc[annotation_key]
|
| 13 |
+
for i, span in enumerate(doc_annotation):
|
| 14 |
+
if len(span['words']) > 1:
|
| 15 |
+
for span_chunk in span['words']:
|
| 16 |
+
flattened_output_item[annotation_key].append(
|
| 17 |
+
{
|
| 18 |
+
'label': span['label'],
|
| 19 |
+
'text': span_chunk['text'],
|
| 20 |
+
'words': [span_chunk]
|
| 21 |
+
}
|
| 22 |
+
)
|
| 23 |
+
|
| 24 |
+
else:
|
| 25 |
+
flattened_output_item[annotation_key].append(span)
|
| 26 |
+
flattened_output.append(flattened_output_item)
|
| 27 |
+
return flattened_output
|
| 28 |
|
| 29 |
|
| 30 |
def annotate_image(image_path, annotation_object):
|
| 31 |
+
print("Annotating Images")
|
| 32 |
+
img = None
|
| 33 |
+
image = Image.open(image_path).convert('RGBA')
|
| 34 |
+
tmp = image.copy()
|
| 35 |
+
label2color = image_label_2_color(annotation_object)
|
| 36 |
+
overlay = Image.new('RGBA', tmp.size, (0, 0, 0)+(0,))
|
| 37 |
+
draw = ImageDraw.Draw(overlay)
|
| 38 |
+
font = ImageFont.load_default()
|
| 39 |
+
|
| 40 |
+
predictions = [span['label'] for span in annotation_object['output']]
|
| 41 |
+
boxes = [span['words'][0]['box'] for span in annotation_object['output']]
|
| 42 |
+
for prediction, box in zip(predictions, boxes):
|
| 43 |
+
draw.rectangle(box, outline=label2color[prediction],
|
| 44 |
+
width=3, fill=label2color[prediction]+(int(255*0.33),))
|
| 45 |
+
draw.text((box[0] + 10, box[1] - 10), text=prediction,
|
| 46 |
+
fill=label2color[prediction], font=font)
|
| 47 |
+
|
| 48 |
+
img = Image.alpha_composite(tmp, overlay)
|
| 49 |
+
img = img.convert("RGB")
|
| 50 |
+
|
| 51 |
+
image_name = os.path.basename(image_path)
|
| 52 |
+
image_name = image_name[:image_name.find('.')]
|
| 53 |
+
output_folder = 'static/temp/img_display/'
|
| 54 |
+
os.makedirs(output_folder, exist_ok=True)
|
| 55 |
+
|
| 56 |
+
img.save(os.path.join(output_folder, f'{image_name}.jpg_inference.jpg'))
|
Layoutlmv3_inference/ocr.py
CHANGED
|
@@ -7,6 +7,7 @@ import requests
|
|
| 7 |
import traceback
|
| 8 |
import tempfile
|
| 9 |
|
|
|
|
| 10 |
from PIL import Image
|
| 11 |
|
| 12 |
def preprocess_image(image_path, max_file_size_mb=1, target_file_size_mb=0.5):
|
|
@@ -75,8 +76,41 @@ def enhance_txt(img, intensity_increase=20, bilateral_filter_diameter=9, bilater
|
|
| 75 |
img = cv2.bilateralFilter(img, bilateral_filter_diameter, bilateral_filter_sigma_color, bilateral_filter_sigma_space)
|
| 76 |
|
| 77 |
_, binary = cv2.threshold(blurred, threshold, 255, cv2.THRESH_BINARY)
|
| 78 |
-
return binary
|
| 79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
|
| 81 |
def run_tesseract_on_preprocessed_image(preprocessed_image, image_path):
|
| 82 |
try:
|
|
@@ -92,8 +126,7 @@ def run_tesseract_on_preprocessed_image(preprocessed_image, image_path):
|
|
| 92 |
url = "https://api.ocr.space/parse/image"
|
| 93 |
|
| 94 |
# Define the API key and the language
|
| 95 |
-
|
| 96 |
-
api_key = os.getenv("ocr_space")
|
| 97 |
language = "eng"
|
| 98 |
|
| 99 |
# Save the preprocessed image
|
|
|
|
| 7 |
import traceback
|
| 8 |
import tempfile
|
| 9 |
|
| 10 |
+
FLASK_DEBUG=1
|
| 11 |
from PIL import Image
|
| 12 |
|
| 13 |
def preprocess_image(image_path, max_file_size_mb=1, target_file_size_mb=0.5):
|
|
|
|
| 76 |
img = cv2.bilateralFilter(img, bilateral_filter_diameter, bilateral_filter_sigma_color, bilateral_filter_sigma_space)
|
| 77 |
|
| 78 |
_, binary = cv2.threshold(blurred, threshold, 255, cv2.THRESH_BINARY)
|
|
|
|
| 79 |
|
| 80 |
+
# Find contours in the edged image, keep only the largest ones, and initialize our screen contour
|
| 81 |
+
contours, _ = cv2.findContours(edged.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
|
| 82 |
+
contours = sorted(contours, key = cv2.contourArea, reverse = True)[:5]
|
| 83 |
+
|
| 84 |
+
# Initialize a variable to hold the screen contour
|
| 85 |
+
screenContour = None
|
| 86 |
+
|
| 87 |
+
# Loop over the contours
|
| 88 |
+
for c in contours:
|
| 89 |
+
# Approximate the contour
|
| 90 |
+
peri = cv2.arcLength(c, True)
|
| 91 |
+
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
|
| 92 |
+
|
| 93 |
+
# If our approximated contour has four points, then we can assume that we have found our screen
|
| 94 |
+
if len(approx) == 4:
|
| 95 |
+
screenContour = approx
|
| 96 |
+
break
|
| 97 |
+
|
| 98 |
+
# If no contour is found or the contour is small, use the whole image
|
| 99 |
+
if screenContour is None or cv2.contourArea(screenContour) < 500:
|
| 100 |
+
screenContour = np.array([[[0, 0]], [[w-1, 0]], [[w-1, h-1]], [[0, h-1]]])
|
| 101 |
+
|
| 102 |
+
# Get the bounding rectangle around the contour
|
| 103 |
+
x, y, w, h = cv2.boundingRect(screenContour)
|
| 104 |
+
|
| 105 |
+
# Check if the bounding rectangle is within the image boundaries
|
| 106 |
+
if x >= 0 and y >= 0 and x + w <= img.shape[1] and y + h <= img.shape[0]:
|
| 107 |
+
# Crop the image using the bounding rectangle
|
| 108 |
+
cropped_img = img[y:y+h, x:x+w]
|
| 109 |
+
else:
|
| 110 |
+
print("Bounding rectangle is out of image boundaries")
|
| 111 |
+
cropped_img = img
|
| 112 |
+
|
| 113 |
+
return cropped_img
|
| 114 |
|
| 115 |
def run_tesseract_on_preprocessed_image(preprocessed_image, image_path):
|
| 116 |
try:
|
|
|
|
| 126 |
url = "https://api.ocr.space/parse/image"
|
| 127 |
|
| 128 |
# Define the API key and the language
|
| 129 |
+
api_key = "K88232854988957" # Replace with your actual OCR Space API key
|
|
|
|
| 130 |
language = "eng"
|
| 131 |
|
| 132 |
# Save the preprocessed image
|
__pycache__/app.cpython-310.pyc
DELETED
|
Binary file (4.49 kB)
|
|
|
__pycache__/app.cpython-311.pyc
DELETED
|
Binary file (12.4 kB)
|
|
|
__pycache__/app.cpython-38.pyc
DELETED
|
Binary file (1.58 kB)
|
|
|
app.py
CHANGED
|
@@ -1,8 +1,3 @@
|
|
| 1 |
-
# import warnings
|
| 2 |
-
|
| 3 |
-
# # Ignore SourceChangeWarning
|
| 4 |
-
# warnings.filterwarnings("ignore", category=DeprecationWarning)
|
| 5 |
-
# warnings.filterwarnings("ignore", category=SourceChangeWarning)
|
| 6 |
|
| 7 |
# Dependencies
|
| 8 |
from flask import Flask, request, render_template, jsonify, send_file, redirect, url_for, flash, send_from_directory, session
|
|
@@ -29,6 +24,7 @@ import signal
|
|
| 29 |
import shutil
|
| 30 |
from datetime import datetime
|
| 31 |
import zipfile
|
|
|
|
| 32 |
# LLM
|
| 33 |
import argparse
|
| 34 |
from asyncio.log import logger
|
|
@@ -39,12 +35,14 @@ import os
|
|
| 39 |
import copy
|
| 40 |
|
| 41 |
|
|
|
|
| 42 |
UPLOAD_FOLDER = 'static/temp/uploads'
|
| 43 |
if not os.path.exists(UPLOAD_FOLDER):
|
| 44 |
os.makedirs(UPLOAD_FOLDER)
|
| 45 |
|
| 46 |
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
|
| 47 |
|
|
|
|
| 48 |
app = Flask(__name__)
|
| 49 |
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
|
| 50 |
app.config['SECRET_KEY'] = 'supersecretkey'
|
|
@@ -107,8 +105,8 @@ def make_predictions(image_paths):
|
|
| 107 |
temp = None
|
| 108 |
try:
|
| 109 |
# For Windows OS
|
| 110 |
-
|
| 111 |
-
|
| 112 |
|
| 113 |
model_path = Path(r'model/export')
|
| 114 |
learner = load_learner(model_path)
|
|
@@ -132,12 +130,14 @@ def make_predictions(image_paths):
|
|
| 132 |
except Exception as e:
|
| 133 |
return {"error in make_predictions": str(e)}
|
| 134 |
|
| 135 |
-
|
| 136 |
-
|
| 137 |
|
| 138 |
|
| 139 |
@app.route('/predict/<filenames>', methods=['GET', 'POST'])
|
| 140 |
def predict_files(filenames):
|
|
|
|
|
|
|
| 141 |
prediction_results = []
|
| 142 |
image_paths = eval(filenames) # Convert the filenames string back to a list
|
| 143 |
|
|
@@ -178,8 +178,9 @@ def predict_files(filenames):
|
|
| 178 |
file_to_remove = os.path.join('static', 'temp', 'uploads', image_paths[index])
|
| 179 |
if os.path.exists(file_to_remove):
|
| 180 |
os.remove(file_to_remove)
|
|
|
|
| 181 |
|
| 182 |
-
return render_template('extractor.html', image_paths=image_paths, prediction_results = prediction_results, predictions=dict(zip(image_paths, prediction_results_copy)))
|
| 183 |
|
| 184 |
|
| 185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
|
| 2 |
# Dependencies
|
| 3 |
from flask import Flask, request, render_template, jsonify, send_file, redirect, url_for, flash, send_from_directory, session
|
|
|
|
| 24 |
import shutil
|
| 25 |
from datetime import datetime
|
| 26 |
import zipfile
|
| 27 |
+
|
| 28 |
# LLM
|
| 29 |
import argparse
|
| 30 |
from asyncio.log import logger
|
|
|
|
| 35 |
import copy
|
| 36 |
|
| 37 |
|
| 38 |
+
# Upload Folder
|
| 39 |
UPLOAD_FOLDER = 'static/temp/uploads'
|
| 40 |
if not os.path.exists(UPLOAD_FOLDER):
|
| 41 |
os.makedirs(UPLOAD_FOLDER)
|
| 42 |
|
| 43 |
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'}
|
| 44 |
|
| 45 |
+
|
| 46 |
app = Flask(__name__)
|
| 47 |
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
|
| 48 |
app.config['SECRET_KEY'] = 'supersecretkey'
|
|
|
|
| 105 |
temp = None
|
| 106 |
try:
|
| 107 |
# For Windows OS
|
| 108 |
+
temp = pathlib.PosixPath # Save the original state
|
| 109 |
+
pathlib.PosixPath = pathlib.WindowsPath # Change to WindowsPath temporarily
|
| 110 |
|
| 111 |
model_path = Path(r'model/export')
|
| 112 |
learner = load_learner(model_path)
|
|
|
|
| 130 |
except Exception as e:
|
| 131 |
return {"error in make_predictions": str(e)}
|
| 132 |
|
| 133 |
+
finally:
|
| 134 |
+
pathlib.PosixPath = temp
|
| 135 |
|
| 136 |
|
| 137 |
@app.route('/predict/<filenames>', methods=['GET', 'POST'])
|
| 138 |
def predict_files(filenames):
|
| 139 |
+
index_url = url_for('index')
|
| 140 |
+
|
| 141 |
prediction_results = []
|
| 142 |
image_paths = eval(filenames) # Convert the filenames string back to a list
|
| 143 |
|
|
|
|
| 178 |
file_to_remove = os.path.join('static', 'temp', 'uploads', image_paths[index])
|
| 179 |
if os.path.exists(file_to_remove):
|
| 180 |
os.remove(file_to_remove)
|
| 181 |
+
|
| 182 |
|
| 183 |
+
return render_template('extractor.html', index_url=index_url, image_paths=image_paths, prediction_results = prediction_results, predictions=dict(zip(image_paths, prediction_results_copy)))
|
| 184 |
|
| 185 |
|
| 186 |
|
exp2.ipynb
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 1,
|
| 6 |
+
"metadata": {},
|
| 7 |
+
"outputs": [],
|
| 8 |
+
"source": [
|
| 9 |
+
"# import the necessary packages\n",
|
| 10 |
+
"from imutils.perspective import four_point_transform\n",
|
| 11 |
+
"import pytesseract\n",
|
| 12 |
+
"import argparse\n",
|
| 13 |
+
"import imutils\n",
|
| 14 |
+
"import cv2\n",
|
| 15 |
+
"import re"
|
| 16 |
+
]
|
| 17 |
+
},
|
| 18 |
+
{
|
| 19 |
+
"cell_type": "code",
|
| 20 |
+
"execution_count": 13,
|
| 21 |
+
"metadata": {},
|
| 22 |
+
"outputs": [
|
| 23 |
+
{
|
| 24 |
+
"name": "stderr",
|
| 25 |
+
"output_type": "stream",
|
| 26 |
+
"text": [
|
| 27 |
+
"usage: ipykernel_launcher.py [-h] -i INPUT [-d DEBUG]\n",
|
| 28 |
+
"ipykernel_launcher.py: error: the following arguments are required: -i/--input\n"
|
| 29 |
+
]
|
| 30 |
+
},
|
| 31 |
+
{
|
| 32 |
+
"ename": "SystemExit",
|
| 33 |
+
"evalue": "2",
|
| 34 |
+
"output_type": "error",
|
| 35 |
+
"traceback": [
|
| 36 |
+
"An exception has occurred, use %tb to see the full traceback.\n",
|
| 37 |
+
"\u001b[1;31mSystemExit\u001b[0m\u001b[1;31m:\u001b[0m 2\n"
|
| 38 |
+
]
|
| 39 |
+
}
|
| 40 |
+
],
|
| 41 |
+
"source": [
|
| 42 |
+
"input= \"sample_711.jpg\"\n",
|
| 43 |
+
"\n",
|
| 44 |
+
"# Construct the argument parser\n",
|
| 45 |
+
"ap = argparse.ArgumentParser()\n",
|
| 46 |
+
"ap.add_argument(\"-i\", \"--input\", required=True,\n",
|
| 47 |
+
"\thelp=\"path to input receipt image\")\n",
|
| 48 |
+
"ap.add_argument(\"-d\", \"--debug\", type=int, default=-1,\n",
|
| 49 |
+
"\thelp=\"whether or not we are visualizing each step of the pipeline\")\n",
|
| 50 |
+
"\n",
|
| 51 |
+
"# Parse the arguments\n",
|
| 52 |
+
"args = vars(ap.parse_args())\n"
|
| 53 |
+
]
|
| 54 |
+
},
|
| 55 |
+
{
|
| 56 |
+
"cell_type": "code",
|
| 57 |
+
"execution_count": 14,
|
| 58 |
+
"metadata": {},
|
| 59 |
+
"outputs": [
|
| 60 |
+
{
|
| 61 |
+
"ename": "NameError",
|
| 62 |
+
"evalue": "name 'args' is not defined",
|
| 63 |
+
"output_type": "error",
|
| 64 |
+
"traceback": [
|
| 65 |
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
| 66 |
+
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
|
| 67 |
+
"Cell \u001b[1;32mIn[14], line 4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# load the input image from disk, resize it, and compute the ratio\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;66;03m# of the *new* width to the *old* width\u001b[39;00m\n\u001b[0;32m 3\u001b[0m image\u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124msample_711.jpg\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m----> 4\u001b[0m orig \u001b[38;5;241m=\u001b[39m cv2\u001b[38;5;241m.\u001b[39mimread(\u001b[43margs\u001b[49m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mimage\u001b[39m\u001b[38;5;124m\"\u001b[39m])\n\u001b[0;32m 5\u001b[0m image \u001b[38;5;241m=\u001b[39m orig\u001b[38;5;241m.\u001b[39mcopy()\n\u001b[0;32m 6\u001b[0m image \u001b[38;5;241m=\u001b[39m imutils\u001b[38;5;241m.\u001b[39mresize(image, width\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m500\u001b[39m)\n",
|
| 68 |
+
"\u001b[1;31mNameError\u001b[0m: name 'args' is not defined"
|
| 69 |
+
]
|
| 70 |
+
}
|
| 71 |
+
],
|
| 72 |
+
"source": [
|
| 73 |
+
"# load the input image from disk, resize it, and compute the ratio\n",
|
| 74 |
+
"# of the *new* width to the *old* width\n",
|
| 75 |
+
"image= \"sample_711.jpg\"\n",
|
| 76 |
+
"orig = cv2.imread(args[\"image\"])\n",
|
| 77 |
+
"image = orig.copy()\n",
|
| 78 |
+
"image = imutils.resize(image, width=500)\n",
|
| 79 |
+
"ratio = orig.shape[1] / float(image.shape[1])"
|
| 80 |
+
]
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"cell_type": "code",
|
| 84 |
+
"execution_count": null,
|
| 85 |
+
"metadata": {},
|
| 86 |
+
"outputs": [],
|
| 87 |
+
"source": [
|
| 88 |
+
"# convert the image to grayscale, blur it slightly, and then apply\n",
|
| 89 |
+
"# edge detection\n",
|
| 90 |
+
"gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\n",
|
| 91 |
+
"blurred = cv2.GaussianBlur(gray, (5, 5,), 0)\n",
|
| 92 |
+
"edged = cv2.Canny(blurred, 75, 200)\n",
|
| 93 |
+
"# check to see if we should show the output of our edge detection\n",
|
| 94 |
+
"# procedure\n",
|
| 95 |
+
"if args[\"debug\"] > 0:\n",
|
| 96 |
+
"\tcv2.imshow(\"Input\", image)\n",
|
| 97 |
+
"\tcv2.imshow(\"Edged\", edged)\n",
|
| 98 |
+
"\tcv2.waitKey(0)"
|
| 99 |
+
]
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"cell_type": "code",
|
| 103 |
+
"execution_count": null,
|
| 104 |
+
"metadata": {},
|
| 105 |
+
"outputs": [],
|
| 106 |
+
"source": [
|
| 107 |
+
"# find contours in the edge map and sort them by size in descending\n",
|
| 108 |
+
"# order\n",
|
| 109 |
+
"cnts = cv2.findContours(edged.copy(), cv2.RETR_EXTERNAL,\n",
|
| 110 |
+
"\tcv2.CHAIN_APPROX_SIMPLE)\n",
|
| 111 |
+
"cnts = imutils.grab_contours(cnts)\n",
|
| 112 |
+
"cnts = sorted(cnts, key=cv2.contourArea, reverse=True)"
|
| 113 |
+
]
|
| 114 |
+
},
|
| 115 |
+
{
|
| 116 |
+
"cell_type": "code",
|
| 117 |
+
"execution_count": null,
|
| 118 |
+
"metadata": {},
|
| 119 |
+
"outputs": [],
|
| 120 |
+
"source": [
|
| 121 |
+
"# initialize a contour that corresponds to the receipt outline\n",
|
| 122 |
+
"receiptCnt = None\n",
|
| 123 |
+
"# loop over the contours\n",
|
| 124 |
+
"for c in cnts:\n",
|
| 125 |
+
"\t# approximate the contour\n",
|
| 126 |
+
"\tperi = cv2.arcLength(c, True)\n",
|
| 127 |
+
"\tapprox = cv2.approxPolyDP(c, 0.02 * peri, True)\n",
|
| 128 |
+
"\t# if our approximated contour has four points, then we can\n",
|
| 129 |
+
"\t# assume we have found the outline of the receipt\n",
|
| 130 |
+
"\tif len(approx) == 4:\n",
|
| 131 |
+
"\t\treceiptCnt = approx\n",
|
| 132 |
+
"\t\tbreak\n",
|
| 133 |
+
"# if the receipt contour is empty then our script could not find the\n",
|
| 134 |
+
"# outline and we should be notified\n",
|
| 135 |
+
"if receiptCnt is None:\n",
|
| 136 |
+
"\traise Exception((\"Could not find receipt outline. \"\n",
|
| 137 |
+
"\t\t\"Try debugging your edge detection and contour steps.\"))"
|
| 138 |
+
]
|
| 139 |
+
},
|
| 140 |
+
{
|
| 141 |
+
"cell_type": "code",
|
| 142 |
+
"execution_count": null,
|
| 143 |
+
"metadata": {},
|
| 144 |
+
"outputs": [],
|
| 145 |
+
"source": [
|
| 146 |
+
"# check to see if we should draw the contour of the receipt on the\n",
|
| 147 |
+
"# image and then display it to our screen\n",
|
| 148 |
+
"if args[\"debug\"] > 0:\n",
|
| 149 |
+
"\toutput = image.copy()\n",
|
| 150 |
+
"\tcv2.drawContours(output, [receiptCnt], -1, (0, 255, 0), 2)\n",
|
| 151 |
+
"\tcv2.imshow(\"Receipt Outline\", output)\n",
|
| 152 |
+
"\tcv2.waitKey(0)\n",
|
| 153 |
+
"# apply a four-point perspective transform to the *original* image to\n",
|
| 154 |
+
"# obtain a top-down bird's-eye view of the receipt\n",
|
| 155 |
+
"receipt = four_point_transform(orig, receiptCnt.reshape(4, 2) * ratio)\n",
|
| 156 |
+
"# show transformed image\n",
|
| 157 |
+
"cv2.imshow(\"Receipt Transform\", imutils.resize(receipt, width=500))\n",
|
| 158 |
+
"cv2.waitKey(0)"
|
| 159 |
+
]
|
| 160 |
+
}
|
| 161 |
+
],
|
| 162 |
+
"metadata": {
|
| 163 |
+
"kernelspec": {
|
| 164 |
+
"display_name": "mlenv",
|
| 165 |
+
"language": "python",
|
| 166 |
+
"name": "python3"
|
| 167 |
+
},
|
| 168 |
+
"language_info": {
|
| 169 |
+
"codemirror_mode": {
|
| 170 |
+
"name": "ipython",
|
| 171 |
+
"version": 3
|
| 172 |
+
},
|
| 173 |
+
"file_extension": ".py",
|
| 174 |
+
"mimetype": "text/x-python",
|
| 175 |
+
"name": "python",
|
| 176 |
+
"nbconvert_exporter": "python",
|
| 177 |
+
"pygments_lexer": "ipython3",
|
| 178 |
+
"version": "3.11.4"
|
| 179 |
+
}
|
| 180 |
+
},
|
| 181 |
+
"nbformat": 4,
|
| 182 |
+
"nbformat_minor": 2
|
| 183 |
+
}
|
experiment.ipynb
ADDED
|
@@ -0,0 +1,1337 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 17,
|
| 6 |
+
"metadata": {},
|
| 7 |
+
"outputs": [],
|
| 8 |
+
"source": [
|
| 9 |
+
"# defining inference parameters\n",
|
| 10 |
+
"model_path = r\"C:\\Users\\Ayoo\\Desktop\\webapp\\model\" # path to Layoutlmv3 model\n",
|
| 11 |
+
"imag_path = r\"C:\\Users\\Ayoo\\Desktop\\webapp\\predictions\\imgs\" # images folder"
|
| 12 |
+
]
|
| 13 |
+
},
|
| 14 |
+
{
|
| 15 |
+
"cell_type": "code",
|
| 16 |
+
"execution_count": 33,
|
| 17 |
+
"metadata": {},
|
| 18 |
+
"outputs": [
|
| 19 |
+
{
|
| 20 |
+
"name": "stdout",
|
| 21 |
+
"output_type": "stream",
|
| 22 |
+
"text": [
|
| 23 |
+
"^C\n"
|
| 24 |
+
]
|
| 25 |
+
},
|
| 26 |
+
{
|
| 27 |
+
"name": "stderr",
|
| 28 |
+
"output_type": "stream",
|
| 29 |
+
"text": [
|
| 30 |
+
"2023-12-16 02:35:50.587274: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n",
|
| 31 |
+
"WARNING:tensorflow:From C:\\Users\\Ayoo\\AppData\\Roaming\\Python\\Python311\\site-packages\\keras\\src\\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead.\n",
|
| 32 |
+
"\n",
|
| 33 |
+
"c:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\transformers\\modeling_utils.py:881: FutureWarning: The `device` argument is deprecated and will be removed in v5 of Transformers.\n",
|
| 34 |
+
" warnings.warn(\n"
|
| 35 |
+
]
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"name": "stdout",
|
| 39 |
+
"output_type": "stream",
|
| 40 |
+
"text": [
|
| 41 |
+
"Preparing for Inference\n",
|
| 42 |
+
"Starting\n",
|
| 43 |
+
"Preprocessing\n",
|
| 44 |
+
"Preprocessing done. Running OCR\n",
|
| 45 |
+
"JSON file saved\n",
|
| 46 |
+
"OCR done\n",
|
| 47 |
+
"Run Done\n",
|
| 48 |
+
"Cleaned Tesseract output done\n",
|
| 49 |
+
"Word list done\n",
|
| 50 |
+
"Box list done\n",
|
| 51 |
+
"Prepared for Inference Batch\n",
|
| 52 |
+
"Running Flattened Output\n",
|
| 53 |
+
"Ready for Annotation\n",
|
| 54 |
+
"Annotating Images\n"
|
| 55 |
+
]
|
| 56 |
+
}
|
| 57 |
+
],
|
| 58 |
+
"source": [
|
| 59 |
+
"! python predictions\\inference\\run_inference.py --model_path {model_path} --images_path {imag_path}"
|
| 60 |
+
]
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"cell_type": "code",
|
| 64 |
+
"execution_count": 20,
|
| 65 |
+
"metadata": {},
|
| 66 |
+
"outputs": [
|
| 67 |
+
{
|
| 68 |
+
"name": "stdout",
|
| 69 |
+
"output_type": "stream",
|
| 70 |
+
"text": [
|
| 71 |
+
"Looking for C:\\Users\\Ayoo\\.keras-ocr\\craft_mlt_25k.h5\n"
|
| 72 |
+
]
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"ename": "KeyboardInterrupt",
|
| 76 |
+
"evalue": "",
|
| 77 |
+
"output_type": "error",
|
| 78 |
+
"traceback": [
|
| 79 |
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
| 80 |
+
"\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
|
| 81 |
+
"Cell \u001b[1;32mIn[20], line 2\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mkeras_ocr\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m pipeline\u001b[38;5;241m=\u001b[39m\u001b[43mkeras_ocr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mpipeline\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mPipeline\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
| 82 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\pipeline.py:20\u001b[0m, in \u001b[0;36mPipeline.__init__\u001b[1;34m(self, detector, recognizer, scale, max_size)\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, detector\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, recognizer\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, scale\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m, max_size\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2048\u001b[39m):\n\u001b[0;32m 19\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m detector \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m---> 20\u001b[0m detector \u001b[38;5;241m=\u001b[39m \u001b[43mdetection\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mDetector\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 21\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m recognizer \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 22\u001b[0m recognizer \u001b[38;5;241m=\u001b[39m recognition\u001b[38;5;241m.\u001b[39mRecognizer()\n",
|
| 83 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\detection.py:686\u001b[0m, in \u001b[0;36mDetector.__init__\u001b[1;34m(self, weights, load_from_torch, optimizer, backbone_name)\u001b[0m\n\u001b[0;32m 682\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m (\n\u001b[0;32m 683\u001b[0m pretrained_key \u001b[38;5;129;01min\u001b[39;00m PRETRAINED_WEIGHTS\n\u001b[0;32m 684\u001b[0m ), \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSelected weights configuration not found.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 685\u001b[0m weights_config \u001b[38;5;241m=\u001b[39m PRETRAINED_WEIGHTS[pretrained_key]\n\u001b[1;32m--> 686\u001b[0m weights_path \u001b[38;5;241m=\u001b[39m \u001b[43mtools\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdownload_and_verify\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 687\u001b[0m \u001b[43m \u001b[49m\u001b[43murl\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mweights_config\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43murl\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 688\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilename\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mweights_config\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfilename\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 689\u001b[0m \u001b[43m \u001b[49m\u001b[43msha256\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mweights_config\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43msha256\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 690\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 691\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 692\u001b[0m weights_path \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
|
| 84 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\tools.py:527\u001b[0m, in \u001b[0;36mdownload_and_verify\u001b[1;34m(url, sha256, cache_dir, verbose, filename)\u001b[0m\n\u001b[0;32m 525\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mDownloading \u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39m filepath)\n\u001b[0;32m 526\u001b[0m urllib\u001b[38;5;241m.\u001b[39mrequest\u001b[38;5;241m.\u001b[39murlretrieve(url, filepath)\n\u001b[1;32m--> 527\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m sha256 \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01mor\u001b[39;00m sha256 \u001b[38;5;241m==\u001b[39m \u001b[43msha256sum\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 528\u001b[0m \u001b[43m \u001b[49m\u001b[43mfilepath\u001b[49m\n\u001b[0;32m 529\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mError occurred verifying sha256.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 530\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m filepath\n",
|
| 85 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\site-packages\\keras_ocr\\tools.py:491\u001b[0m, in \u001b[0;36msha256sum\u001b[1;34m(filename)\u001b[0m\n\u001b[0;32m 489\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(filename, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m\"\u001b[39m, buffering\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[0;32m 490\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m n \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28miter\u001b[39m(\u001b[38;5;28;01mlambda\u001b[39;00m: f\u001b[38;5;241m.\u001b[39mreadinto(mv), \u001b[38;5;241m0\u001b[39m): \u001b[38;5;66;03m# type: ignore\u001b[39;00m\n\u001b[1;32m--> 491\u001b[0m h\u001b[38;5;241m.\u001b[39mupdate(mv[:n])\n\u001b[0;32m 492\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m h\u001b[38;5;241m.\u001b[39mhexdigest()\n",
|
| 86 |
+
"\u001b[1;31mKeyboardInterrupt\u001b[0m: "
|
| 87 |
+
]
|
| 88 |
+
}
|
| 89 |
+
],
|
| 90 |
+
"source": [
|
| 91 |
+
"import keras_ocr\n",
|
| 92 |
+
"pipeline=keras_ocr.pipeline.Pipeline()"
|
| 93 |
+
]
|
| 94 |
+
},
|
| 95 |
+
{
|
| 96 |
+
"cell_type": "code",
|
| 97 |
+
"execution_count": 4,
|
| 98 |
+
"metadata": {},
|
| 99 |
+
"outputs": [
|
| 100 |
+
{
|
| 101 |
+
"name": "stdout",
|
| 102 |
+
"output_type": "stream",
|
| 103 |
+
"text": [
|
| 104 |
+
"1/1 [==============================] - 34s 34s/step\n",
|
| 105 |
+
"7/7 [==============================] - 94s 13s/step\n"
|
| 106 |
+
]
|
| 107 |
+
},
|
| 108 |
+
{
|
| 109 |
+
"data": {
|
| 110 |
+
"text/plain": [
|
| 111 |
+
"[[('feleven',\n",
|
| 112 |
+
" array([[212.58102 , 34.90136 ],\n",
|
| 113 |
+
" [577.45886 , 34.901367],\n",
|
| 114 |
+
" [577.45886 , 114.22263 ],\n",
|
| 115 |
+
" [212.58102 , 114.22263 ]], dtype=float32)),\n",
|
| 116 |
+
" ('es',\n",
|
| 117 |
+
" array([[574.28613, 82.49414],\n",
|
| 118 |
+
" [593.32324, 82.49414],\n",
|
| 119 |
+
" [593.32324, 107.87695],\n",
|
| 120 |
+
" [574.28613, 107.87695]], dtype=float32)),\n",
|
| 121 |
+
" ('store',\n",
|
| 122 |
+
" array([[453.71777, 203.0625 ],\n",
|
| 123 |
+
" [567.9404 , 203.0625 ],\n",
|
| 124 |
+
" [567.9404 , 253.82812],\n",
|
| 125 |
+
" [453.71777, 253.82812]], dtype=float32)),\n",
|
| 126 |
+
" ('nahj',\n",
|
| 127 |
+
" array([[120.56836, 209.4082 ],\n",
|
| 128 |
+
" [187.19824, 209.4082 ],\n",
|
| 129 |
+
" [187.19824, 253.82812],\n",
|
| 130 |
+
" [120.56836, 253.82812]], dtype=float32)),\n",
|
| 131 |
+
" ('conveni',\n",
|
| 132 |
+
" array([[203.0625 , 209.4082 ],\n",
|
| 133 |
+
" [352.18652, 209.4082 ],\n",
|
| 134 |
+
" [352.18652, 253.82812],\n",
|
| 135 |
+
" [203.0625 , 253.82812]], dtype=float32)),\n",
|
| 136 |
+
" ('enco',\n",
|
| 137 |
+
" array([[352.18652, 209.4082 ],\n",
|
| 138 |
+
" [441.02637, 209.4082 ],\n",
|
| 139 |
+
" [441.02637, 253.82812],\n",
|
| 140 |
+
" [352.18652, 253.82812]], dtype=float32)),\n",
|
| 141 |
+
" ('qwned',\n",
|
| 142 |
+
" array([[ 34.901367, 260.17383 ],\n",
|
| 143 |
+
" [149.12402 , 260.17383 ],\n",
|
| 144 |
+
" [149.12402 , 304.59375 ],\n",
|
| 145 |
+
" [ 34.901367, 304.59375 ]], dtype=float32)),\n",
|
| 146 |
+
" ('operated',\n",
|
| 147 |
+
" array([[203.0625 , 260.17383],\n",
|
| 148 |
+
" [377.56934, 260.17383],\n",
|
| 149 |
+
" [377.56934, 307.7666 ],\n",
|
| 150 |
+
" [203.0625 , 307.7666 ]], dtype=float32)),\n",
|
| 151 |
+
" ('nancy',\n",
|
| 152 |
+
" array([[475.92773, 260.17383],\n",
|
| 153 |
+
" [586.97754, 260.17383],\n",
|
| 154 |
+
" [586.97754, 304.59375],\n",
|
| 155 |
+
" [475.92773, 304.59375]], dtype=float32)),\n",
|
| 156 |
+
" ('byl',\n",
|
| 157 |
+
" array([[393.4336 , 263.34668],\n",
|
| 158 |
+
" [456.89062, 263.34668],\n",
|
| 159 |
+
" [456.89062, 307.7666 ],\n",
|
| 160 |
+
" [393.4336 , 307.7666 ]], dtype=float32)),\n",
|
| 161 |
+
" ('a',\n",
|
| 162 |
+
" array([[602.8418 , 263.34668],\n",
|
| 163 |
+
" [634.5703 , 263.34668],\n",
|
| 164 |
+
" [634.5703 , 301.4209 ],\n",
|
| 165 |
+
" [602.8418 , 301.4209 ]], dtype=float32)),\n",
|
| 166 |
+
" ('cl',\n",
|
| 167 |
+
" array([[244.30957, 314.1123 ],\n",
|
| 168 |
+
" [288.7295 , 314.1123 ],\n",
|
| 169 |
+
" [288.7295 , 355.35938],\n",
|
| 170 |
+
" [244.30957, 355.35938]], dtype=float32)),\n",
|
| 171 |
+
" ('inacosa',\n",
|
| 172 |
+
" array([[291.90234, 314.1123 ],\n",
|
| 173 |
+
" [437.85352, 314.1123 ],\n",
|
| 174 |
+
" [437.85352, 355.35938],\n",
|
| 175 |
+
" [291.90234, 355.35938]], dtype=float32)),\n",
|
| 176 |
+
" ('tregtin',\n",
|
| 177 |
+
" array([[123.74121, 358.53223],\n",
|
| 178 |
+
" [276.0381 , 358.53223],\n",
|
| 179 |
+
" [276.0381 , 406.125 ],\n",
|
| 180 |
+
" [123.74121, 406.125 ]], dtype=float32)),\n",
|
| 181 |
+
" ('va',\n",
|
| 182 |
+
" array([[ 76.14844, 361.70508],\n",
|
| 183 |
+
" [123.74121, 361.70508],\n",
|
| 184 |
+
" [123.74121, 406.125 ],\n",
|
| 185 |
+
" [ 76.14844, 406.125 ]], dtype=float32)),\n",
|
| 186 |
+
" ('hssysigm',\n",
|
| 187 |
+
" array([[285.55664, 361.70508],\n",
|
| 188 |
+
" [485.4463 , 361.70508],\n",
|
| 189 |
+
" [485.4463 , 406.125 ],\n",
|
| 190 |
+
" [285.55664, 406.125 ]], dtype=float32)),\n",
|
| 191 |
+
" ('gbsr0o2',\n",
|
| 192 |
+
" array([[475.92773, 361.70508],\n",
|
| 193 |
+
" [631.39746, 361.70508],\n",
|
| 194 |
+
" [631.39746, 406.125 ],\n",
|
| 195 |
+
" [475.92773, 406.125 ]], dtype=float32)),\n",
|
| 196 |
+
" ('pobli',\n",
|
| 197 |
+
" array([[ 98.3584 , 412.4707 ],\n",
|
| 198 |
+
" [187.19824, 412.4707 ],\n",
|
| 199 |
+
" [187.19824, 460.06348],\n",
|
| 200 |
+
" [ 98.3584 , 460.06348]], dtype=float32)),\n",
|
| 201 |
+
" ('acii',\n",
|
| 202 |
+
" array([[180.85254, 415.64355],\n",
|
| 203 |
+
" [250.65527, 415.64355],\n",
|
| 204 |
+
" [250.65527, 460.06348],\n",
|
| 205 |
+
" [180.85254, 460.06348]], dtype=float32)),\n",
|
| 206 |
+
" ('leons',\n",
|
| 207 |
+
" array([[326.8037 , 415.64355],\n",
|
| 208 |
+
" [434.68066, 415.64355],\n",
|
| 209 |
+
" [434.68066, 460.06348],\n",
|
| 210 |
+
" [326.8037 , 460.06348]], dtype=float32)),\n",
|
| 211 |
+
" ('ilulos',\n",
|
| 212 |
+
" array([[456.89062, 415.64355],\n",
|
| 213 |
+
" [602.8418 , 415.64355],\n",
|
| 214 |
+
" [602.8418 , 460.06348],\n",
|
| 215 |
+
" [456.89062, 460.06348]], dtype=float32)),\n",
|
| 216 |
+
" ('ors',\n",
|
| 217 |
+
" array([[241.13672, 418.8164 ],\n",
|
| 218 |
+
" [304.59375, 418.8164 ],\n",
|
| 219 |
+
" [304.59375, 456.89062],\n",
|
| 220 |
+
" [241.13672, 456.89062]], dtype=float32)),\n",
|
| 221 |
+
" ('fit',\n",
|
| 222 |
+
" array([[225.27246, 466.40918],\n",
|
| 223 |
+
" [291.90234, 466.40918],\n",
|
| 224 |
+
" [291.90234, 510.8291 ],\n",
|
| 225 |
+
" [225.27246, 510.8291 ]], dtype=float32)),\n",
|
| 226 |
+
" ('ipp',\n",
|
| 227 |
+
" array([[314.1123 , 469.58203],\n",
|
| 228 |
+
" [380.7422 , 469.58203],\n",
|
| 229 |
+
" [380.7422 , 514.00195],\n",
|
| 230 |
+
" [314.1123 , 514.00195]], dtype=float32)),\n",
|
| 231 |
+
" ('ines',\n",
|
| 232 |
+
" array([[374.39648, 469.58203],\n",
|
| 233 |
+
" [463.23633, 469.58203],\n",
|
| 234 |
+
" [463.23633, 510.8291 ],\n",
|
| 235 |
+
" [374.39648, 510.8291 ]], dtype=float32)),\n",
|
| 236 |
+
" ('tel',\n",
|
| 237 |
+
" array([[225.27246, 517.1748 ],\n",
|
| 238 |
+
" [288.7295 , 517.1748 ],\n",
|
| 239 |
+
" [288.7295 , 561.5947 ],\n",
|
| 240 |
+
" [225.27246, 561.5947 ]], dtype=float32)),\n",
|
| 241 |
+
" ('null',\n",
|
| 242 |
+
" array([[371.22363, 517.1748 ],\n",
|
| 243 |
+
" [466.40918, 517.1748 ],\n",
|
| 244 |
+
" [466.40918, 561.5947 ],\n",
|
| 245 |
+
" [371.22363, 561.5947 ]], dtype=float32)),\n",
|
| 246 |
+
" ('h',\n",
|
| 247 |
+
" array([[307.7666 , 520.34766],\n",
|
| 248 |
+
" [339.49512, 520.34766],\n",
|
| 249 |
+
" [339.49512, 558.4219 ],\n",
|
| 250 |
+
" [307.7666 , 558.4219 ]], dtype=float32)),\n",
|
| 251 |
+
" ('osd1',\n",
|
| 252 |
+
" array([[ 98.3584 , 618.70605],\n",
|
| 253 |
+
" [206.23535, 618.70605],\n",
|
| 254 |
+
" [206.23535, 663.126 ],\n",
|
| 255 |
+
" [ 98.3584 , 663.126 ]], dtype=float32)),\n",
|
| 256 |
+
" ('fzozx',\n",
|
| 257 |
+
" array([[203.0625 , 618.70605],\n",
|
| 258 |
+
" [314.1123 , 618.70605],\n",
|
| 259 |
+
" [314.1123 , 663.126 ],\n",
|
| 260 |
+
" [203.0625 , 663.126 ]], dtype=float32)),\n",
|
| 261 |
+
" ('leoost',\n",
|
| 262 |
+
" array([[434.68066, 618.70605],\n",
|
| 263 |
+
" [609.1875 , 618.70605],\n",
|
| 264 |
+
" [609.1875 , 663.126 ],\n",
|
| 265 |
+
" [434.68066, 663.126 ]], dtype=float32)),\n",
|
| 266 |
+
" ('smony',\n",
|
| 267 |
+
" array([[314.1123 , 621.8789 ],\n",
|
| 268 |
+
" [415.64355, 621.8789 ],\n",
|
| 269 |
+
" [415.64355, 663.126 ],\n",
|
| 270 |
+
" [314.1123 , 663.126 ]], dtype=float32)),\n",
|
| 271 |
+
" ('rcpt',\n",
|
| 272 |
+
" array([[ 12.691406, 723.41016 ],\n",
|
| 273 |
+
" [101.53125 , 723.41016 ],\n",
|
| 274 |
+
" [101.53125 , 767.8301 ],\n",
|
| 275 |
+
" [ 12.691406, 767.8301 ]], dtype=float32)),\n",
|
| 276 |
+
" ('h2a81',\n",
|
| 277 |
+
" array([[117.39551, 723.41016],\n",
|
| 278 |
+
" [228.44531, 723.41016],\n",
|
| 279 |
+
" [228.44531, 767.8301 ],\n",
|
| 280 |
+
" [117.39551, 767.8301 ]], dtype=float32)),\n",
|
| 281 |
+
" ('3a7',\n",
|
| 282 |
+
" array([[218.92676, 723.41016],\n",
|
| 283 |
+
" [291.90234, 723.41016],\n",
|
| 284 |
+
" [291.90234, 767.8301 ],\n",
|
| 285 |
+
" [218.92676, 767.8301 ]], dtype=float32)),\n",
|
| 286 |
+
" ('rcft',\n",
|
| 287 |
+
" array([[475.92773, 723.41016],\n",
|
| 288 |
+
" [567.9404 , 723.41016],\n",
|
| 289 |
+
" [567.9404 , 767.8301 ],\n",
|
| 290 |
+
" [475.92773, 767.8301 ]], dtype=float32)),\n",
|
| 291 |
+
" ('cnt',\n",
|
| 292 |
+
" array([[580.63184, 723.41016],\n",
|
| 293 |
+
" [647.2617 , 723.41016],\n",
|
| 294 |
+
" [647.2617 , 764.6572 ],\n",
|
| 295 |
+
" [580.63184, 764.6572 ]], dtype=float32)),\n",
|
| 296 |
+
" ('ho',\n",
|
| 297 |
+
" array([[637.74316, 723.41016],\n",
|
| 298 |
+
" [694.8545 , 723.41016],\n",
|
| 299 |
+
" [694.8545 , 767.8301 ],\n",
|
| 300 |
+
" [637.74316, 767.8301 ]], dtype=float32)),\n",
|
| 301 |
+
" ('storehsise',\n",
|
| 302 |
+
" array([[ 12.691406, 774.1758 ],\n",
|
| 303 |
+
" [231.61816 , 774.1758 ],\n",
|
| 304 |
+
" [231.61816 , 818.5957 ],\n",
|
| 305 |
+
" [ 12.691406, 818.5957 ]], dtype=float32)),\n",
|
| 306 |
+
" ('snit',\n",
|
| 307 |
+
" array([[434.68066, 774.1758 ],\n",
|
| 308 |
+
" [504.4834 , 774.1758 ],\n",
|
| 309 |
+
" [504.4834 , 818.5957 ],\n",
|
| 310 |
+
" [434.68066, 818.5957 ]], dtype=float32)),\n",
|
| 311 |
+
" ('xtiakt',\n",
|
| 312 |
+
" array([[520.34766, 774.1758 ],\n",
|
| 313 |
+
" [650.4346 , 774.1758 ],\n",
|
| 314 |
+
" [650.4346 , 818.5957 ],\n",
|
| 315 |
+
" [520.34766, 818.5957 ]], dtype=float32)),\n",
|
| 316 |
+
" ('70',\n",
|
| 317 |
+
" array([[647.2617, 774.1758],\n",
|
| 318 |
+
" [694.8545, 774.1758],\n",
|
| 319 |
+
" [694.8545, 818.5957],\n",
|
| 320 |
+
" [647.2617, 818.5957]], dtype=float32)),\n",
|
| 321 |
+
" ('091',\n",
|
| 322 |
+
" array([[326.8037 , 821.76855],\n",
|
| 323 |
+
" [396.60645, 821.76855],\n",
|
| 324 |
+
" [396.60645, 869.3613 ],\n",
|
| 325 |
+
" [326.8037 , 869.3613 ]], dtype=float32)),\n",
|
| 326 |
+
" ('min',\n",
|
| 327 |
+
" array([[ 15.864258, 824.9414 ],\n",
|
| 328 |
+
" [ 85.66699 , 824.9414 ],\n",
|
| 329 |
+
" [ 85.66699 , 869.3613 ],\n",
|
| 330 |
+
" [ 15.864258, 869.3613 ]], dtype=float32)),\n",
|
| 331 |
+
" ('1811201',\n",
|
| 332 |
+
" array([[161.81543, 824.9414 ],\n",
|
| 333 |
+
" [310.93945, 824.9414 ],\n",
|
| 334 |
+
" [310.93945, 869.3613 ],\n",
|
| 335 |
+
" [161.81543, 869.3613 ]], dtype=float32)),\n",
|
| 336 |
+
" ('105s1',\n",
|
| 337 |
+
" array([[437.85352, 824.9414 ],\n",
|
| 338 |
+
" [520.34766, 824.9414 ],\n",
|
| 339 |
+
" [520.34766, 869.3613 ],\n",
|
| 340 |
+
" [437.85352, 869.3613 ]], dtype=float32)),\n",
|
| 341 |
+
" ('ha',\n",
|
| 342 |
+
" array([[ 98.3584 , 828.11426],\n",
|
| 343 |
+
" [139.60547, 828.11426],\n",
|
| 344 |
+
" [139.60547, 869.3613 ],\n",
|
| 345 |
+
" [ 98.3584 , 869.3613 ]], dtype=float32)),\n",
|
| 346 |
+
" ('41',\n",
|
| 347 |
+
" array([[393.4336 , 828.11426],\n",
|
| 348 |
+
" [441.02637, 828.11426],\n",
|
| 349 |
+
" [441.02637, 869.3613 ],\n",
|
| 350 |
+
" [393.4336 , 869.3613 ]], dtype=float32)),\n",
|
| 351 |
+
" ('staff',\n",
|
| 352 |
+
" array([[ 12.691406, 878.8799 ],\n",
|
| 353 |
+
" [126.91406 , 878.8799 ],\n",
|
| 354 |
+
" [126.91406 , 923.2998 ],\n",
|
| 355 |
+
" [ 12.691406, 923.2998 ]], dtype=float32)),\n",
|
| 356 |
+
" ('angel',\n",
|
| 357 |
+
" array([[142.77832, 878.8799 ],\n",
|
| 358 |
+
" [247.48242, 878.8799 ],\n",
|
| 359 |
+
" [247.48242, 923.2998 ],\n",
|
| 360 |
+
" [142.77832, 923.2998 ]], dtype=float32)),\n",
|
| 361 |
+
" ('duantle',\n",
|
| 362 |
+
" array([[329.97656, 878.8799 ],\n",
|
| 363 |
+
" [463.23633, 878.8799 ],\n",
|
| 364 |
+
" [463.23633, 923.2998 ],\n",
|
| 365 |
+
" [329.97656, 923.2998 ]], dtype=float32)),\n",
|
| 366 |
+
" ('i',\n",
|
| 367 |
+
" array([[250.65527, 885.2256 ],\n",
|
| 368 |
+
" [266.51953, 885.2256 ],\n",
|
| 369 |
+
" [266.51953, 916.9541 ],\n",
|
| 370 |
+
" [250.65527, 916.9541 ]], dtype=float32)),\n",
|
| 371 |
+
" ('ca',\n",
|
| 372 |
+
" array([[263.34668, 885.2256 ],\n",
|
| 373 |
+
" [314.1123 , 885.2256 ],\n",
|
| 374 |
+
" [314.1123 , 923.2998 ],\n",
|
| 375 |
+
" [263.34668, 923.2998 ]], dtype=float32)),\n",
|
| 376 |
+
" ('fkoreanbun',\n",
|
| 377 |
+
" array([[ 15.864258, 980.41113 ],\n",
|
| 378 |
+
" [ 250.65527 , 980.41113 ],\n",
|
| 379 |
+
" [ 250.65527 , 1024.831 ],\n",
|
| 380 |
+
" [ 15.864258, 1024.831 ]], dtype=float32)),\n",
|
| 381 |
+
" ('s5',\n",
|
| 382 |
+
" array([[ 561.5947 , 980.41113],\n",
|
| 383 |
+
" [ 612.36035, 980.41113],\n",
|
| 384 |
+
" [ 612.36035, 1021.6582 ],\n",
|
| 385 |
+
" [ 561.5947 , 1021.6582 ]], dtype=float32)),\n",
|
| 386 |
+
" ('oflj',\n",
|
| 387 |
+
" array([[ 621.8789 , 980.41113],\n",
|
| 388 |
+
" [ 694.8545 , 980.41113],\n",
|
| 389 |
+
" [ 694.8545 , 1021.6582 ],\n",
|
| 390 |
+
" [ 621.8789 , 1021.6582 ]], dtype=float32)),\n",
|
| 391 |
+
" ('nis',\n",
|
| 392 |
+
" array([[ 15.864258, 1031.1768 ],\n",
|
| 393 |
+
" [ 60.28418 , 1031.1768 ],\n",
|
| 394 |
+
" [ 60.28418 , 1075.5967 ],\n",
|
| 395 |
+
" [ 15.864258, 1075.5967 ]], dtype=float32)),\n",
|
| 396 |
+
" ('inyasabeetig',\n",
|
| 397 |
+
" array([[ 104.7041 , 1031.1768 ],\n",
|
| 398 |
+
" [ 377.56934, 1031.1768 ],\n",
|
| 399 |
+
" [ 377.56934, 1078.7695 ],\n",
|
| 400 |
+
" [ 104.7041 , 1078.7695 ]], dtype=float32)),\n",
|
| 401 |
+
" ('40',\n",
|
| 402 |
+
" array([[ 561.5947, 1031.1768],\n",
|
| 403 |
+
" [ 615.5332, 1031.1768],\n",
|
| 404 |
+
" [ 615.5332, 1072.4238],\n",
|
| 405 |
+
" [ 561.5947, 1072.4238]], dtype=float32)),\n",
|
| 406 |
+
" ('oov',\n",
|
| 407 |
+
" array([[ 621.8789, 1031.1768],\n",
|
| 408 |
+
" [ 694.8545, 1031.1768],\n",
|
| 409 |
+
" [ 694.8545, 1072.4238],\n",
|
| 410 |
+
" [ 621.8789, 1072.4238]], dtype=float32)),\n",
|
| 411 |
+
" ('ss',\n",
|
| 412 |
+
" array([[ 53.938477, 1034.3496 ],\n",
|
| 413 |
+
" [ 104.7041 , 1034.3496 ],\n",
|
| 414 |
+
" [ 104.7041 , 1075.5967 ],\n",
|
| 415 |
+
" [ 53.938477, 1075.5967 ]], dtype=float32)),\n",
|
| 416 |
+
" ('behotogcremychees',\n",
|
| 417 |
+
" array([[ 12.691406, 1081.9424 ],\n",
|
| 418 |
+
" [ 399.7793 , 1081.9424 ],\n",
|
| 419 |
+
" [ 399.7793 , 1129.5352 ],\n",
|
| 420 |
+
" [ 12.691406, 1129.5352 ]], dtype=float32)),\n",
|
| 421 |
+
" ('19',\n",
|
| 422 |
+
" array([[ 139.60547, 1132.708 ],\n",
|
| 423 |
+
" [ 190.3711 , 1132.708 ],\n",
|
| 424 |
+
" [ 190.3711 , 1177.1279 ],\n",
|
| 425 |
+
" [ 139.60547, 1177.1279 ]], dtype=float32)),\n",
|
| 426 |
+
" ('do',\n",
|
| 427 |
+
" array([[ 203.0625 , 1135.8809 ],\n",
|
| 428 |
+
" [ 250.65527, 1135.8809 ],\n",
|
| 429 |
+
" [ 250.65527, 1177.1279 ],\n",
|
| 430 |
+
" [ 203.0625 , 1177.1279 ]], dtype=float32)),\n",
|
| 431 |
+
" ('a',\n",
|
| 432 |
+
" array([[ 266.51953, 1139.0537 ],\n",
|
| 433 |
+
" [ 288.7295 , 1139.0537 ],\n",
|
| 434 |
+
" [ 288.7295 , 1173.9551 ],\n",
|
| 435 |
+
" [ 266.51953, 1173.9551 ]], dtype=float32)),\n",
|
| 436 |
+
" ('b',\n",
|
| 437 |
+
" array([[ 368.05078, 1135.8809 ],\n",
|
| 438 |
+
" [ 396.60645, 1135.8809 ],\n",
|
| 439 |
+
" [ 396.60645, 1173.9551 ],\n",
|
| 440 |
+
" [ 368.05078, 1173.9551 ]], dtype=float32)),\n",
|
| 441 |
+
" ('1544',\n",
|
| 442 |
+
" array([[ 539.38477, 1135.8809 ],\n",
|
| 443 |
+
" [ 615.5332 , 1135.8809 ],\n",
|
| 444 |
+
" [ 615.5332 , 1177.1279 ],\n",
|
| 445 |
+
" [ 539.38477, 1177.1279 ]], dtype=float32)),\n",
|
| 446 |
+
" ('oou',\n",
|
| 447 |
+
" array([[ 621.8789, 1135.8809],\n",
|
| 448 |
+
" [ 694.8545, 1135.8809],\n",
|
| 449 |
+
" [ 694.8545, 1177.1279],\n",
|
| 450 |
+
" [ 621.8789, 1177.1279]], dtype=float32)),\n",
|
| 451 |
+
" ('choeog',\n",
|
| 452 |
+
" array([[ 266.51953, 1183.4736 ],\n",
|
| 453 |
+
" [ 399.7793 , 1183.4736 ],\n",
|
| 454 |
+
" [ 399.7793 , 1231.0664 ],\n",
|
| 455 |
+
" [ 266.51953, 1231.0664 ]], dtype=float32)),\n",
|
| 456 |
+
" ('chocvronz',\n",
|
| 457 |
+
" array([[ 12.691406, 1186.6465 ],\n",
|
| 458 |
+
" [ 209.4082 , 1186.6465 ],\n",
|
| 459 |
+
" [ 209.4082 , 1231.0664 ],\n",
|
| 460 |
+
" [ 12.691406, 1231.0664 ]], dtype=float32)),\n",
|
| 461 |
+
" ('in1',\n",
|
| 462 |
+
" array([[ 206.23535, 1186.6465 ],\n",
|
| 463 |
+
" [ 269.69238, 1186.6465 ],\n",
|
| 464 |
+
" [ 269.69238, 1227.8936 ],\n",
|
| 465 |
+
" [ 206.23535, 1227.8936 ]], dtype=float32)),\n",
|
| 466 |
+
" ('1s',\n",
|
| 467 |
+
" array([[ 142.77832, 1237.4121 ],\n",
|
| 468 |
+
" [ 206.23535, 1237.4121 ],\n",
|
| 469 |
+
" [ 206.23535, 1281.832 ],\n",
|
| 470 |
+
" [ 142.77832, 1281.832 ]], dtype=float32)),\n",
|
| 471 |
+
" ('0',\n",
|
| 472 |
+
" array([[ 203.0625 , 1237.4121 ],\n",
|
| 473 |
+
" [ 250.65527, 1237.4121 ],\n",
|
| 474 |
+
" [ 250.65527, 1281.832 ],\n",
|
| 475 |
+
" [ 203.0625 , 1281.832 ]], dtype=float32)),\n",
|
| 476 |
+
" ('x',\n",
|
| 477 |
+
" array([[ 263.34668, 1237.4121 ],\n",
|
| 478 |
+
" [ 291.90234, 1237.4121 ],\n",
|
| 479 |
+
" [ 291.90234, 1275.4863 ],\n",
|
| 480 |
+
" [ 263.34668, 1275.4863 ]], dtype=float32)),\n",
|
| 481 |
+
" ('l',\n",
|
| 482 |
+
" array([[ 371.22363, 1237.4121 ],\n",
|
| 483 |
+
" [ 396.60645, 1237.4121 ],\n",
|
| 484 |
+
" [ 396.60645, 1275.4863 ],\n",
|
| 485 |
+
" [ 371.22363, 1275.4863 ]], dtype=float32)),\n",
|
| 486 |
+
" ('50',\n",
|
| 487 |
+
" array([[ 561.5947, 1237.4121],\n",
|
| 488 |
+
" [ 615.5332, 1237.4121],\n",
|
| 489 |
+
" [ 615.5332, 1278.6592],\n",
|
| 490 |
+
" [ 561.5947, 1278.6592]], dtype=float32)),\n",
|
| 491 |
+
" ('doq',\n",
|
| 492 |
+
" array([[ 621.8789, 1237.4121],\n",
|
| 493 |
+
" [ 694.8545, 1237.4121],\n",
|
| 494 |
+
" [ 694.8545, 1278.6592],\n",
|
| 495 |
+
" [ 621.8789, 1278.6592]], dtype=float32)),\n",
|
| 496 |
+
" ('total',\n",
|
| 497 |
+
" array([[ 15.864258, 1338.9434 ],\n",
|
| 498 |
+
" [ 120.56836 , 1338.9434 ],\n",
|
| 499 |
+
" [ 120.56836 , 1386.5361 ],\n",
|
| 500 |
+
" [ 15.864258, 1386.5361 ]], dtype=float32)),\n",
|
| 501 |
+
" ('10',\n",
|
| 502 |
+
" array([[ 145.95117, 1338.9434 ],\n",
|
| 503 |
+
" [ 225.27246, 1338.9434 ],\n",
|
| 504 |
+
" [ 225.27246, 1383.3633 ],\n",
|
| 505 |
+
" [ 145.95117, 1383.3633 ]], dtype=float32)),\n",
|
| 506 |
+
" ('3599',\n",
|
| 507 |
+
" array([[ 558.4219 , 1338.9434 ],\n",
|
| 508 |
+
" [ 637.74316, 1338.9434 ],\n",
|
| 509 |
+
" [ 637.74316, 1383.3633 ],\n",
|
| 510 |
+
" [ 558.4219 , 1383.3633 ]], dtype=float32)),\n",
|
| 511 |
+
" ('oq',\n",
|
| 512 |
+
" array([[ 640.916 , 1342.1162],\n",
|
| 513 |
+
" [ 694.8545, 1342.1162],\n",
|
| 514 |
+
" [ 694.8545, 1383.3633],\n",
|
| 515 |
+
" [ 640.916 , 1383.3633]], dtype=float32)),\n",
|
| 516 |
+
" ('cash',\n",
|
| 517 |
+
" array([[ 53.938477, 1389.709 ],\n",
|
| 518 |
+
" [ 149.12402 , 1389.709 ],\n",
|
| 519 |
+
" [ 149.12402 , 1434.1289 ],\n",
|
| 520 |
+
" [ 53.938477, 1434.1289 ]], dtype=float32)),\n",
|
| 521 |
+
" ('dool',\n",
|
| 522 |
+
" array([[ 558.4219, 1389.709 ],\n",
|
| 523 |
+
" [ 647.2617, 1389.709 ],\n",
|
| 524 |
+
" [ 647.2617, 1434.1289],\n",
|
| 525 |
+
" [ 558.4219, 1434.1289]], dtype=float32)),\n",
|
| 526 |
+
" ('o0',\n",
|
| 527 |
+
" array([[ 640.916 , 1389.709 ],\n",
|
| 528 |
+
" [ 691.68164, 1389.709 ],\n",
|
| 529 |
+
" [ 691.68164, 1434.1289 ],\n",
|
| 530 |
+
" [ 640.916 , 1434.1289 ]], dtype=float32)),\n",
|
| 531 |
+
" ('change',\n",
|
| 532 |
+
" array([[ 53.938477, 1440.4746 ],\n",
|
| 533 |
+
" [ 187.19824 , 1440.4746 ],\n",
|
| 534 |
+
" [ 187.19824 , 1484.8945 ],\n",
|
| 535 |
+
" [ 53.938477, 1484.8945 ]], dtype=float32)),\n",
|
| 536 |
+
" ('841',\n",
|
| 537 |
+
" array([[ 558.4219, 1440.4746],\n",
|
| 538 |
+
" [ 628.2246, 1440.4746],\n",
|
| 539 |
+
" [ 628.2246, 1484.8945],\n",
|
| 540 |
+
" [ 558.4219, 1484.8945]], dtype=float32)),\n",
|
| 541 |
+
" ('sdo',\n",
|
| 542 |
+
" array([[ 625.05176, 1440.4746 ],\n",
|
| 543 |
+
" [ 694.8545 , 1440.4746 ],\n",
|
| 544 |
+
" [ 694.8545 , 1484.8945 ],\n",
|
| 545 |
+
" [ 625.05176, 1484.8945 ]], dtype=float32)),\n",
|
| 546 |
+
" ('vatable',\n",
|
| 547 |
+
" array([[ 53.938477, 1545.1787 ],\n",
|
| 548 |
+
" [ 209.4082 , 1545.1787 ],\n",
|
| 549 |
+
" [ 209.4082 , 1589.5986 ],\n",
|
| 550 |
+
" [ 53.938477, 1589.5986 ]], dtype=float32)),\n",
|
| 551 |
+
" ('szos',\n",
|
| 552 |
+
" array([[ 558.4219 , 1545.1787 ],\n",
|
| 553 |
+
" [ 644.08887, 1545.1787 ],\n",
|
| 554 |
+
" [ 644.08887, 1589.5986 ],\n",
|
| 555 |
+
" [ 558.4219 , 1589.5986 ]], dtype=float32)),\n",
|
| 556 |
+
" ('54',\n",
|
| 557 |
+
" array([[ 640.916 , 1545.1787 ],\n",
|
| 558 |
+
" [ 691.68164, 1545.1787 ],\n",
|
| 559 |
+
" [ 691.68164, 1589.5986 ],\n",
|
| 560 |
+
" [ 640.916 , 1589.5986 ]], dtype=float32)),\n",
|
| 561 |
+
" ('vat',\n",
|
| 562 |
+
" array([[ 53.938477, 1595.9443 ],\n",
|
| 563 |
+
" [ 145.95117 , 1595.9443 ],\n",
|
| 564 |
+
" [ 145.95117 , 1646.71 ],\n",
|
| 565 |
+
" [ 53.938477, 1646.71 ]], dtype=float32)),\n",
|
| 566 |
+
" ('8b',\n",
|
| 567 |
+
" array([[ 580.63184, 1595.9443 ],\n",
|
| 568 |
+
" [ 644.08887, 1595.9443 ],\n",
|
| 569 |
+
" [ 644.08887, 1640.3643 ],\n",
|
| 570 |
+
" [ 580.63184, 1640.3643 ]], dtype=float32)),\n",
|
| 571 |
+
" ('tax',\n",
|
| 572 |
+
" array([[ 139.60547, 1599.1172 ],\n",
|
| 573 |
+
" [ 209.4082 , 1599.1172 ],\n",
|
| 574 |
+
" [ 209.4082 , 1640.3643 ],\n",
|
| 575 |
+
" [ 139.60547, 1640.3643 ]], dtype=float32)),\n",
|
| 576 |
+
" ('4g',\n",
|
| 577 |
+
" array([[ 644.08887, 1599.1172 ],\n",
|
| 578 |
+
" [ 691.68164, 1599.1172 ],\n",
|
| 579 |
+
" [ 691.68164, 1640.3643 ],\n",
|
| 580 |
+
" [ 644.08887, 1640.3643 ]], dtype=float32)),\n",
|
| 581 |
+
" ('zerd',\n",
|
| 582 |
+
" array([[ 53.938477, 1646.71 ],\n",
|
| 583 |
+
" [ 149.12402 , 1646.71 ],\n",
|
| 584 |
+
" [ 149.12402 , 1694.3027 ],\n",
|
| 585 |
+
" [ 53.938477, 1694.3027 ]], dtype=float32)),\n",
|
| 586 |
+
" ('ra',\n",
|
| 587 |
+
" array([[ 158.64258, 1649.8828 ],\n",
|
| 588 |
+
" [ 209.4082 , 1649.8828 ],\n",
|
| 589 |
+
" [ 209.4082 , 1694.3027 ],\n",
|
| 590 |
+
" [ 158.64258, 1694.3027 ]], dtype=float32)),\n",
|
| 591 |
+
" ('ted',\n",
|
| 592 |
+
" array([[ 203.0625 , 1649.8828 ],\n",
|
| 593 |
+
" [ 272.86523, 1649.8828 ],\n",
|
| 594 |
+
" [ 272.86523, 1691.1299 ],\n",
|
| 595 |
+
" [ 203.0625 , 1691.1299 ]], dtype=float32)),\n",
|
| 596 |
+
" ('0',\n",
|
| 597 |
+
" array([[ 599.66895, 1649.8828 ],\n",
|
| 598 |
+
" [ 628.2246 , 1649.8828 ],\n",
|
| 599 |
+
" [ 628.2246 , 1687.957 ],\n",
|
| 600 |
+
" [ 599.66895, 1687.957 ]], dtype=float32)),\n",
|
| 601 |
+
" ('00',\n",
|
| 602 |
+
" array([[ 640.916 , 1649.8828],\n",
|
| 603 |
+
" [ 694.8545, 1649.8828],\n",
|
| 604 |
+
" [ 694.8545, 1691.1299],\n",
|
| 605 |
+
" [ 640.916 , 1691.1299]], dtype=float32)),\n",
|
| 606 |
+
" ('vat',\n",
|
| 607 |
+
" array([[ 53.938477, 1700.6484 ],\n",
|
| 608 |
+
" [ 123.74121 , 1700.6484 ],\n",
|
| 609 |
+
" [ 123.74121 , 1745.0684 ],\n",
|
| 610 |
+
" [ 53.938477, 1745.0684 ]], dtype=float32)),\n",
|
| 611 |
+
" ('mexept',\n",
|
| 612 |
+
" array([[ 117.39551, 1700.6484 ],\n",
|
| 613 |
+
" [ 257.00098, 1700.6484 ],\n",
|
| 614 |
+
" [ 257.00098, 1748.2412 ],\n",
|
| 615 |
+
" [ 117.39551, 1748.2412 ]], dtype=float32)),\n",
|
| 616 |
+
" ('ted',\n",
|
| 617 |
+
" array([[ 247.48242, 1700.6484 ],\n",
|
| 618 |
+
" [ 314.1123 , 1700.6484 ],\n",
|
| 619 |
+
" [ 314.1123 , 1745.0684 ],\n",
|
| 620 |
+
" [ 247.48242, 1745.0684 ]], dtype=float32)),\n",
|
| 621 |
+
" ('0',\n",
|
| 622 |
+
" array([[ 602.8418, 1703.8213],\n",
|
| 623 |
+
" [ 628.2246, 1703.8213],\n",
|
| 624 |
+
" [ 628.2246, 1738.7227],\n",
|
| 625 |
+
" [ 602.8418, 1738.7227]], dtype=float32)),\n",
|
| 626 |
+
" ('od',\n",
|
| 627 |
+
" array([[ 640.916 , 1703.8213 ],\n",
|
| 628 |
+
" [ 691.68164, 1703.8213 ],\n",
|
| 629 |
+
" [ 691.68164, 1741.8955 ],\n",
|
| 630 |
+
" [ 640.916 , 1741.8955 ]], dtype=float32)),\n",
|
| 631 |
+
" ('7616664',\n",
|
| 632 |
+
" array([[ 329.97656, 1799.0068 ],\n",
|
| 633 |
+
" [ 482.27344, 1799.0068 ],\n",
|
| 634 |
+
" [ 482.27344, 1846.5996 ],\n",
|
| 635 |
+
" [ 329.97656, 1846.5996 ]], dtype=float32)),\n",
|
| 636 |
+
" ('sol',\n",
|
| 637 |
+
" array([[ 12.691406, 1802.1797 ],\n",
|
| 638 |
+
" [ 79.32129 , 1802.1797 ],\n",
|
| 639 |
+
" [ 79.32129 , 1846.5996 ],\n",
|
| 640 |
+
" [ 12.691406, 1846.5996 ]], dtype=float32)),\n",
|
| 641 |
+
" ('d',\n",
|
| 642 |
+
" array([[ 79.32129, 1805.3525 ],\n",
|
| 643 |
+
" [ 101.53125, 1805.3525 ],\n",
|
| 644 |
+
" [ 101.53125, 1843.4268 ],\n",
|
| 645 |
+
" [ 79.32129, 1843.4268 ]], dtype=float32)),\n",
|
| 646 |
+
" ('tos',\n",
|
| 647 |
+
" array([[ 120.56836, 1802.1797 ],\n",
|
| 648 |
+
" [ 184.02539, 1802.1797 ],\n",
|
| 649 |
+
" [ 184.02539, 1846.5996 ],\n",
|
| 650 |
+
" [ 120.56836, 1846.5996 ]], dtype=float32)),\n",
|
| 651 |
+
" ('hobos',\n",
|
| 652 |
+
" array([[ 203.0625, 1802.1797],\n",
|
| 653 |
+
" [ 333.1494, 1802.1797],\n",
|
| 654 |
+
" [ 333.1494, 1846.5996],\n",
|
| 655 |
+
" [ 203.0625, 1846.5996]], dtype=float32)),\n",
|
| 656 |
+
" ('name',\n",
|
| 657 |
+
" array([[ 12.691406, 1852.9453 ],\n",
|
| 658 |
+
" [ 104.7041 , 1852.9453 ],\n",
|
| 659 |
+
" [ 104.7041 , 1897.3652 ],\n",
|
| 660 |
+
" [ 12.691406, 1897.3652 ]], dtype=float32)),\n",
|
| 661 |
+
" ('eeten',\n",
|
| 662 |
+
" array([[ 126.91406, 1887.8467 ],\n",
|
| 663 |
+
" [ 199.88965, 1887.8467 ],\n",
|
| 664 |
+
" [ 199.88965, 1897.3652 ],\n",
|
| 665 |
+
" [ 126.91406, 1897.3652 ]], dtype=float32)),\n",
|
| 666 |
+
" ('addr',\n",
|
| 667 |
+
" array([[ 12.691406, 1906.8838 ],\n",
|
| 668 |
+
" [ 104.7041 , 1906.8838 ],\n",
|
| 669 |
+
" [ 104.7041 , 1948.1309 ],\n",
|
| 670 |
+
" [ 12.691406, 1948.1309 ]], dtype=float32)),\n",
|
| 671 |
+
" ('ess',\n",
|
| 672 |
+
" array([[ 98.3584 , 1910.0566 ],\n",
|
| 673 |
+
" [ 168.16113, 1910.0566 ],\n",
|
| 674 |
+
" [ 168.16113, 1951.3037 ],\n",
|
| 675 |
+
" [ 98.3584 , 1951.3037 ]], dtype=float32)),\n",
|
| 676 |
+
" ('tins',\n",
|
| 677 |
+
" array([[ 12.691406, 1954.4766 ],\n",
|
| 678 |
+
" [ 98.3584 , 1954.4766 ],\n",
|
| 679 |
+
" [ 98.3584 , 1998.8965 ],\n",
|
| 680 |
+
" [ 12.691406, 1998.8965 ]], dtype=float32)),\n",
|
| 681 |
+
" ('fpti',\n",
|
| 682 |
+
" array([[ 13.045723, 2057.3926 ],\n",
|
| 683 |
+
" [ 81.36672 , 2062.2727 ],\n",
|
| 684 |
+
" [ 78.322716, 2104.889 ],\n",
|
| 685 |
+
" [ 10.001719, 2100.0088 ]], dtype=float32)),\n",
|
| 686 |
+
" ('ippl',\n",
|
| 687 |
+
" array([[ 101.53125, 2059.1807 ],\n",
|
| 688 |
+
" [ 171.33398, 2059.1807 ],\n",
|
| 689 |
+
" [ 171.33398, 2106.7734 ],\n",
|
| 690 |
+
" [ 101.53125, 2106.7734 ]], dtype=float32)),\n",
|
| 691 |
+
" ('seven',\n",
|
| 692 |
+
" array([[ 241.13672, 2059.1807 ],\n",
|
| 693 |
+
" [ 355.35938, 2059.1807 ],\n",
|
| 694 |
+
" [ 355.35938, 2103.6006 ],\n",
|
| 695 |
+
" [ 241.13672, 2103.6006 ]], dtype=float32)),\n",
|
| 696 |
+
" ('corpor',\n",
|
| 697 |
+
" array([[ 371.50757, 2057.8103 ],\n",
|
| 698 |
+
" [ 499.50806, 2065.8103 ],\n",
|
| 699 |
+
" [ 496.71796, 2110.4524 ],\n",
|
| 700 |
+
" [ 368.7175 , 2102.4526 ]], dtype=float32)),\n",
|
| 701 |
+
" ('s',\n",
|
| 702 |
+
" array([[ 164.98828, 2065.5264 ],\n",
|
| 703 |
+
" [ 180.85254, 2065.5264 ],\n",
|
| 704 |
+
" [ 180.85254, 2100.4277 ],\n",
|
| 705 |
+
" [ 164.98828, 2100.4277 ]], dtype=float32)),\n",
|
| 706 |
+
" ('ne',\n",
|
| 707 |
+
" array([[ 177.67969, 2062.3535 ],\n",
|
| 708 |
+
" [ 228.44531, 2062.3535 ],\n",
|
| 709 |
+
" [ 228.44531, 2103.6006 ],\n",
|
| 710 |
+
" [ 177.67969, 2103.6006 ]], dtype=float32)),\n",
|
| 711 |
+
" ('at',\n",
|
| 712 |
+
" array([[ 494.96484, 2062.3535 ],\n",
|
| 713 |
+
" [ 542.5576 , 2062.3535 ],\n",
|
| 714 |
+
" [ 542.5576 , 2103.6006 ],\n",
|
| 715 |
+
" [ 494.96484, 2103.6006 ]], dtype=float32)),\n",
|
| 716 |
+
" ('on',\n",
|
| 717 |
+
" array([[ 558.4219, 2065.5264],\n",
|
| 718 |
+
" [ 609.1875, 2065.5264],\n",
|
| 719 |
+
" [ 609.1875, 2103.6006],\n",
|
| 720 |
+
" [ 558.4219, 2103.6006]], dtype=float32)),\n",
|
| 721 |
+
" ('jth',\n",
|
| 722 |
+
" array([[ 12.691406, 2109.9463 ],\n",
|
| 723 |
+
" [ 82.49414 , 2109.9463 ],\n",
|
| 724 |
+
" [ 82.49414 , 2154.3662 ],\n",
|
| 725 |
+
" [ 12.691406, 2154.3662 ]], dtype=float32)),\n",
|
| 726 |
+
" ('the',\n",
|
| 727 |
+
" array([[ 225.27246, 2109.9463 ],\n",
|
| 728 |
+
" [ 291.90234, 2109.9463 ],\n",
|
| 729 |
+
" [ 291.90234, 2154.3662 ],\n",
|
| 730 |
+
" [ 225.27246, 2154.3662 ]], dtype=float32)),\n",
|
| 731 |
+
" ('co',\n",
|
| 732 |
+
" array([[ 304.59375, 2109.9463 ],\n",
|
| 733 |
+
" [ 355.35938, 2109.9463 ],\n",
|
| 734 |
+
" [ 355.35938, 2154.3662 ],\n",
|
| 735 |
+
" [ 304.59375, 2154.3662 ]], dtype=float32)),\n",
|
| 736 |
+
" ('tower',\n",
|
| 737 |
+
" array([[ 498.1377 , 2109.9463 ],\n",
|
| 738 |
+
" [ 606.01465, 2109.9463 ],\n",
|
| 739 |
+
" [ 606.01465, 2154.3662 ],\n",
|
| 740 |
+
" [ 498.1377 , 2154.3662 ]], dtype=float32)),\n",
|
| 741 |
+
" ('f',\n",
|
| 742 |
+
" array([[ 95.18555, 2113.1191 ],\n",
|
| 743 |
+
" [ 120.56836, 2113.1191 ],\n",
|
| 744 |
+
" [ 120.56836, 2151.1934 ],\n",
|
| 745 |
+
" [ 95.18555, 2151.1934 ]], dtype=float32)),\n",
|
| 746 |
+
" ('t',\n",
|
| 747 |
+
" array([[ 352.18652, 2116.292 ],\n",
|
| 748 |
+
" [ 368.05078, 2116.292 ],\n",
|
| 749 |
+
" [ 368.05078, 2151.1934 ],\n",
|
| 750 |
+
" [ 352.18652, 2151.1934 ]], dtype=float32)),\n",
|
| 751 |
+
" ('iqor',\n",
|
| 752 |
+
" array([[ 120.56836, 2116.292 ],\n",
|
| 753 |
+
" [ 206.23535, 2116.292 ],\n",
|
| 754 |
+
" [ 206.23535, 2154.3662 ],\n",
|
| 755 |
+
" [ 120.56836, 2154.3662 ]], dtype=float32)),\n",
|
| 756 |
+
" ('umb',\n",
|
| 757 |
+
" array([[ 368.05078, 2116.292 ],\n",
|
| 758 |
+
" [ 441.02637, 2116.292 ],\n",
|
| 759 |
+
" [ 441.02637, 2154.3662 ],\n",
|
| 760 |
+
" [ 368.05078, 2154.3662 ]], dtype=float32)),\n",
|
| 761 |
+
" ('id',\n",
|
| 762 |
+
" array([[ 434.68066, 2116.292 ],\n",
|
| 763 |
+
" [ 479.1006 , 2116.292 ],\n",
|
| 764 |
+
" [ 479.1006 , 2154.3662 ],\n",
|
| 765 |
+
" [ 434.68066, 2154.3662 ]], dtype=float32)),\n",
|
| 766 |
+
" ('avenues',\n",
|
| 767 |
+
" array([[ 203.0625 , 2160.712 ],\n",
|
| 768 |
+
" [ 349.01367, 2160.712 ],\n",
|
| 769 |
+
" [ 349.01367, 2208.3047 ],\n",
|
| 770 |
+
" [ 203.0625 , 2208.3047 ]], dtype=float32)),\n",
|
| 771 |
+
" ('ort',\n",
|
| 772 |
+
" array([[ 31.728516, 2163.8848 ],\n",
|
| 773 |
+
" [ 101.53125 , 2163.8848 ],\n",
|
| 774 |
+
" [ 101.53125 , 2205.1318 ],\n",
|
| 775 |
+
" [ 31.728516, 2205.1318 ]], dtype=float32)),\n",
|
| 776 |
+
" ('i',\n",
|
| 777 |
+
" array([[ 101.53125, 2167.0576 ],\n",
|
| 778 |
+
" [ 114.22266, 2167.0576 ],\n",
|
| 779 |
+
" [ 114.22266, 2198.7861 ],\n",
|
| 780 |
+
" [ 101.53125, 2198.7861 ]], dtype=float32)),\n",
|
| 781 |
+
" ('manda',\n",
|
| 782 |
+
" array([[ 368.05078, 2163.8848 ],\n",
|
| 783 |
+
" [ 479.1006 , 2163.8848 ],\n",
|
| 784 |
+
" [ 479.1006 , 2205.1318 ],\n",
|
| 785 |
+
" [ 368.05078, 2205.1318 ]], dtype=float32)),\n",
|
| 786 |
+
" ('gas',\n",
|
| 787 |
+
" array([[ 117.39551, 2167.0576 ],\n",
|
| 788 |
+
" [ 187.19824, 2167.0576 ],\n",
|
| 789 |
+
" [ 187.19824, 2211.4775 ],\n",
|
| 790 |
+
" [ 117.39551, 2211.4775 ]], dtype=float32)),\n",
|
| 791 |
+
" ('l',\n",
|
| 792 |
+
" array([[ 479.1006 , 2170.2305 ],\n",
|
| 793 |
+
" [ 488.61914, 2170.2305 ],\n",
|
| 794 |
+
" [ 488.61914, 2195.6133 ],\n",
|
| 795 |
+
" [ 479.1006 , 2195.6133 ]], dtype=float32)),\n",
|
| 796 |
+
" ('lyonig',\n",
|
| 797 |
+
" array([[ 494.96484, 2170.2305 ],\n",
|
| 798 |
+
" [ 606.01465, 2170.2305 ],\n",
|
| 799 |
+
" [ 606.01465, 2211.4775 ],\n",
|
| 800 |
+
" [ 494.96484, 2211.4775 ]], dtype=float32)),\n",
|
| 801 |
+
" ('ci',\n",
|
| 802 |
+
" array([[ 31.728516, 2214.6504 ],\n",
|
| 803 |
+
" [ 79.32129 , 2214.6504 ],\n",
|
| 804 |
+
" [ 79.32129 , 2259.0703 ],\n",
|
| 805 |
+
" [ 31.728516, 2259.0703 ]], dtype=float32)),\n",
|
| 806 |
+
" ('ty',\n",
|
| 807 |
+
" array([[ 76.14844, 2217.8232 ],\n",
|
| 808 |
+
" [ 123.74121, 2217.8232 ],\n",
|
| 809 |
+
" [ 123.74121, 2259.0703 ],\n",
|
| 810 |
+
" [ 76.14844, 2259.0703 ]], dtype=float32)),\n",
|
| 811 |
+
" ('sgrooo',\n",
|
| 812 |
+
" array([[ 304.59375, 2262.2432 ],\n",
|
| 813 |
+
" [ 441.02637, 2262.2432 ],\n",
|
| 814 |
+
" [ 441.02637, 2309.836 ],\n",
|
| 815 |
+
" [ 304.59375, 2309.836 ]], dtype=float32)),\n",
|
| 816 |
+
" ('tins',\n",
|
| 817 |
+
" array([[ 15.864258, 2265.416 ],\n",
|
| 818 |
+
" [ 98.3584 , 2265.416 ],\n",
|
| 819 |
+
" [ 98.3584 , 2309.836 ],\n",
|
| 820 |
+
" [ 15.864258, 2309.836 ]], dtype=float32)),\n",
|
| 821 |
+
" ('doo',\n",
|
| 822 |
+
" array([[ 117.39551, 2265.416 ],\n",
|
| 823 |
+
" [ 203.0625 , 2265.416 ],\n",
|
| 824 |
+
" [ 203.0625 , 2309.836 ],\n",
|
| 825 |
+
" [ 117.39551, 2309.836 ]], dtype=float32)),\n",
|
| 826 |
+
" ('sioul',\n",
|
| 827 |
+
" array([[ 199.88965, 2265.416 ],\n",
|
| 828 |
+
" [ 310.93945, 2265.416 ],\n",
|
| 829 |
+
" [ 310.93945, 2309.836 ],\n",
|
| 830 |
+
" [ 199.88965, 2309.836 ]], dtype=float32)),\n",
|
| 831 |
+
" ('bir',\n",
|
| 832 |
+
" array([[ 12.691406, 2316.1816 ],\n",
|
| 833 |
+
" [ 82.49414 , 2316.1816 ],\n",
|
| 834 |
+
" [ 82.49414 , 2360.6016 ],\n",
|
| 835 |
+
" [ 12.691406, 2360.6016 ]], dtype=float32)),\n",
|
| 836 |
+
" ('accr',\n",
|
| 837 |
+
" array([[ 95.18555, 2319.3545 ],\n",
|
| 838 |
+
" [ 187.19824, 2319.3545 ],\n",
|
| 839 |
+
" [ 187.19824, 2363.7744 ],\n",
|
| 840 |
+
" [ 95.18555, 2363.7744 ]], dtype=float32)),\n",
|
| 841 |
+
" ('h',\n",
|
| 842 |
+
" array([[ 203.0625 , 2322.5273 ],\n",
|
| 843 |
+
" [ 225.27246, 2322.5273 ],\n",
|
| 844 |
+
" [ 225.27246, 2357.4287 ],\n",
|
| 845 |
+
" [ 203.0625 , 2357.4287 ]], dtype=float32)),\n",
|
| 846 |
+
" ('smooojso1',\n",
|
| 847 |
+
" array([[ 72.975586, 2366.9473 ],\n",
|
| 848 |
+
" [ 263.34668 , 2366.9473 ],\n",
|
| 849 |
+
" [ 263.34668 , 2411.3672 ],\n",
|
| 850 |
+
" [ 72.975586, 2411.3672 ]], dtype=float32)),\n",
|
| 851 |
+
" ('sjuousa',\n",
|
| 852 |
+
" array([[ 263.34668, 2366.9473 ],\n",
|
| 853 |
+
" [ 479.1006 , 2366.9473 ],\n",
|
| 854 |
+
" [ 479.1006 , 2411.3672 ],\n",
|
| 855 |
+
" [ 263.34668, 2411.3672 ]], dtype=float32)),\n",
|
| 856 |
+
" ('96oz',\n",
|
| 857 |
+
" array([[ 494.96484, 2366.9473 ],\n",
|
| 858 |
+
" [ 586.97754, 2366.9473 ],\n",
|
| 859 |
+
" [ 586.97754, 2411.3672 ],\n",
|
| 860 |
+
" [ 494.96484, 2411.3672 ]], dtype=float32)),\n",
|
| 861 |
+
" ('11',\n",
|
| 862 |
+
" array([[ 34.901367, 2370.12 ],\n",
|
| 863 |
+
" [ 79.32129 , 2370.12 ],\n",
|
| 864 |
+
" [ 79.32129 , 2411.3672 ],\n",
|
| 865 |
+
" [ 34.901367, 2411.3672 ]], dtype=float32)),\n",
|
| 866 |
+
" ('accrdater',\n",
|
| 867 |
+
" array([[ 12.691406, 2417.713 ],\n",
|
| 868 |
+
" [ 203.0625 , 2417.713 ],\n",
|
| 869 |
+
" [ 203.0625 , 2465.3057 ],\n",
|
| 870 |
+
" [ 12.691406, 2465.3057 ]], dtype=float32)),\n",
|
| 871 |
+
" ('d8i01',\n",
|
| 872 |
+
" array([[ 222.09961, 2417.713 ],\n",
|
| 873 |
+
" [ 329.97656, 2417.713 ],\n",
|
| 874 |
+
" [ 329.97656, 2462.1328 ],\n",
|
| 875 |
+
" [ 222.09961, 2462.1328 ]], dtype=float32)),\n",
|
| 876 |
+
" ('220',\n",
|
| 877 |
+
" array([[ 329.97656, 2417.713 ],\n",
|
| 878 |
+
" [ 441.02637, 2417.713 ],\n",
|
| 879 |
+
" [ 441.02637, 2462.1328 ],\n",
|
| 880 |
+
" [ 329.97656, 2462.1328 ]], dtype=float32)),\n",
|
| 881 |
+
" ('17',\n",
|
| 882 |
+
" array([[ 31.728516, 2471.6514 ],\n",
|
| 883 |
+
" [ 85.66699 , 2471.6514 ],\n",
|
| 884 |
+
" [ 85.66699 , 2512.8984 ],\n",
|
| 885 |
+
" [ 31.728516, 2512.8984 ]], dtype=float32)),\n",
|
| 886 |
+
" ('151',\n",
|
| 887 |
+
" array([[ 76.14844, 2471.6514 ],\n",
|
| 888 |
+
" [ 139.60547, 2471.6514 ],\n",
|
| 889 |
+
" [ 139.60547, 2516.0713 ],\n",
|
| 890 |
+
" [ 76.14844, 2516.0713 ]], dtype=float32)),\n",
|
| 891 |
+
" ('izoz5',\n",
|
| 892 |
+
" array([[ 139.60547, 2471.6514 ],\n",
|
| 893 |
+
" [ 250.65527, 2471.6514 ],\n",
|
| 894 |
+
" [ 250.65527, 2516.0713 ],\n",
|
| 895 |
+
" [ 139.60547, 2516.0713 ]], dtype=float32)),\n",
|
| 896 |
+
" ('fermi',\n",
|
| 897 |
+
" array([[ 12.691406, 2519.2441 ],\n",
|
| 898 |
+
" [ 120.56836 , 2519.2441 ],\n",
|
| 899 |
+
" [ 120.56836 , 2566.837 ],\n",
|
| 900 |
+
" [ 12.691406, 2566.837 ]], dtype=float32)),\n",
|
| 901 |
+
" ('t',\n",
|
| 902 |
+
" array([[ 117.39551, 2525.5898 ],\n",
|
| 903 |
+
" [ 142.77832, 2525.5898 ],\n",
|
| 904 |
+
" [ 142.77832, 2563.664 ],\n",
|
| 905 |
+
" [ 117.39551, 2563.664 ]], dtype=float32)),\n",
|
| 906 |
+
" ('hs',\n",
|
| 907 |
+
" array([[ 158.64258, 2525.5898 ],\n",
|
| 908 |
+
" [ 199.88965, 2525.5898 ],\n",
|
| 909 |
+
" [ 199.88965, 2563.664 ],\n",
|
| 910 |
+
" [ 158.64258, 2563.664 ]], dtype=float32)),\n",
|
| 911 |
+
" ('fpzoirtias',\n",
|
| 912 |
+
" array([[ 31.728516, 2570.0098 ],\n",
|
| 913 |
+
" [ 479.1006 , 2570.0098 ],\n",
|
| 914 |
+
" [ 479.1006 , 2617.6025 ],\n",
|
| 915 |
+
" [ 31.728516, 2617.6025 ]], dtype=float32)),\n",
|
| 916 |
+
" ('dooniz',\n",
|
| 917 |
+
" array([[ 469.58203, 2573.1826 ],\n",
|
| 918 |
+
" [ 586.97754, 2573.1826 ],\n",
|
| 919 |
+
" [ 586.97754, 2617.6025 ],\n",
|
| 920 |
+
" [ 469.58203, 2617.6025 ]], dtype=float32)),\n",
|
| 921 |
+
" ('get',\n",
|
| 922 |
+
" array([[ 31.728516, 2674.7139 ],\n",
|
| 923 |
+
" [ 101.53125 , 2674.7139 ],\n",
|
| 924 |
+
" [ 101.53125 , 2719.1338 ],\n",
|
| 925 |
+
" [ 31.728516, 2719.1338 ]], dtype=float32)),\n",
|
| 926 |
+
" ('for',\n",
|
| 927 |
+
" array([[ 602.8418, 2674.7139],\n",
|
| 928 |
+
" [ 669.4717, 2674.7139],\n",
|
| 929 |
+
" [ 669.4717, 2719.1338],\n",
|
| 930 |
+
" [ 602.8418, 2719.1338]], dtype=float32)),\n",
|
| 931 |
+
" ('chance',\n",
|
| 932 |
+
" array([[ 158.87543, 2676.548 ],\n",
|
| 933 |
+
" [ 292.87747, 2680.6086 ],\n",
|
| 934 |
+
" [ 291.59088, 2723.0664 ],\n",
|
| 935 |
+
" [ 157.58882, 2719.0059 ]], dtype=float32)),\n",
|
| 936 |
+
" ('to',\n",
|
| 937 |
+
" array([[ 304.59375, 2677.8867 ],\n",
|
| 938 |
+
" [ 355.35938, 2677.8867 ],\n",
|
| 939 |
+
" [ 355.35938, 2719.1338 ],\n",
|
| 940 |
+
" [ 304.59375, 2719.1338 ]], dtype=float32)),\n",
|
| 941 |
+
" ('win',\n",
|
| 942 |
+
" array([[ 368.05078, 2677.8867 ],\n",
|
| 943 |
+
" [ 441.02637, 2677.8867 ],\n",
|
| 944 |
+
" [ 441.02637, 2722.3066 ],\n",
|
| 945 |
+
" [ 368.05078, 2722.3066 ]], dtype=float32)),\n",
|
| 946 |
+
" ('trip',\n",
|
| 947 |
+
" array([[ 494.96484, 2677.8867 ],\n",
|
| 948 |
+
" [ 586.97754, 2677.8867 ],\n",
|
| 949 |
+
" [ 586.97754, 2722.3066 ],\n",
|
| 950 |
+
" [ 494.96484, 2722.3066 ]], dtype=float32)),\n",
|
| 951 |
+
" ('t',\n",
|
| 952 |
+
" array([[ 114.22266, 2681.0596 ],\n",
|
| 953 |
+
" [ 139.60547, 2681.0596 ],\n",
|
| 954 |
+
" [ 139.60547, 2715.961 ],\n",
|
| 955 |
+
" [ 114.22266, 2715.961 ]], dtype=float32)),\n",
|
| 956 |
+
" ('a',\n",
|
| 957 |
+
" array([[ 453.71777, 2687.4053 ],\n",
|
| 958 |
+
" [ 475.92773, 2687.4053 ],\n",
|
| 959 |
+
" [ 475.92773, 2719.1338 ],\n",
|
| 960 |
+
" [ 453.71777, 2719.1338 ]], dtype=float32)),\n",
|
| 961 |
+
" ('f',\n",
|
| 962 |
+
" array([[ 57.11133, 2731.8252 ],\n",
|
| 963 |
+
" [ 79.32129, 2731.8252 ],\n",
|
| 964 |
+
" [ 79.32129, 2769.8994 ],\n",
|
| 965 |
+
" [ 57.11133, 2769.8994 ]], dtype=float32)),\n",
|
| 966 |
+
" ('to',\n",
|
| 967 |
+
" array([[ 95.18555, 2728.6523 ],\n",
|
| 968 |
+
" [ 142.77832, 2728.6523 ],\n",
|
| 969 |
+
" [ 142.77832, 2773.0723 ],\n",
|
| 970 |
+
" [ 95.18555, 2773.0723 ]], dtype=float32)),\n",
|
| 971 |
+
" ('kored',\n",
|
| 972 |
+
" array([[ 158.64258, 2728.6523 ],\n",
|
| 973 |
+
" [ 269.69238, 2728.6523 ],\n",
|
| 974 |
+
" [ 269.69238, 2773.0723 ],\n",
|
| 975 |
+
" [ 158.64258, 2773.0723 ]], dtype=float32)),\n",
|
| 976 |
+
" ('pis0',\n",
|
| 977 |
+
" array([[ 558.4219, 2728.6523],\n",
|
| 978 |
+
" [ 650.4346, 2728.6523],\n",
|
| 979 |
+
" [ 650.4346, 2773.0723],\n",
|
| 980 |
+
" [ 558.4219, 2773.0723]], dtype=float32)),\n",
|
| 981 |
+
" ('when',\n",
|
| 982 |
+
" array([[ 285.55664, 2731.8252 ],\n",
|
| 983 |
+
" [ 377.56934, 2731.8252 ],\n",
|
| 984 |
+
" [ 377.56934, 2773.0723 ],\n",
|
| 985 |
+
" [ 285.55664, 2773.0723 ]], dtype=float32)),\n",
|
| 986 |
+
" ('buy',\n",
|
| 987 |
+
" array([[ 472.75488, 2731.8252 ],\n",
|
| 988 |
+
" [ 542.5576 , 2731.8252 ],\n",
|
| 989 |
+
" [ 542.5576 , 2773.0723 ],\n",
|
| 990 |
+
" [ 472.75488, 2773.0723 ]], dtype=float32)),\n",
|
| 991 |
+
" ('you',\n",
|
| 992 |
+
" array([[ 390.26074, 2734.998 ],\n",
|
| 993 |
+
" [ 460.06348, 2734.998 ],\n",
|
| 994 |
+
" [ 460.06348, 2776.245 ],\n",
|
| 995 |
+
" [ 390.26074, 2776.245 ]], dtype=float32)),\n",
|
| 996 |
+
" ('of',\n",
|
| 997 |
+
" array([[ 158.64258, 2779.418 ],\n",
|
| 998 |
+
" [ 206.23535, 2779.418 ],\n",
|
| 999 |
+
" [ 206.23535, 2823.838 ],\n",
|
| 1000 |
+
" [ 158.64258, 2823.838 ]], dtype=float32)),\n",
|
| 1001 |
+
" ('jel',\n",
|
| 1002 |
+
" array([[ 225.27246, 2779.418 ],\n",
|
| 1003 |
+
" [ 307.7666 , 2779.418 ],\n",
|
| 1004 |
+
" [ 307.7666 , 2823.838 ],\n",
|
| 1005 |
+
" [ 225.27246, 2823.838 ]], dtype=float32)),\n",
|
| 1006 |
+
" ('worth',\n",
|
| 1007 |
+
" array([[ 31.728516, 2782.5908 ],\n",
|
| 1008 |
+
" [ 145.95117 , 2782.5908 ],\n",
|
| 1009 |
+
" [ 145.95117 , 2830.1836 ],\n",
|
| 1010 |
+
" [ 31.728516, 2830.1836 ]], dtype=float32)),\n",
|
| 1011 |
+
" ('tens',\n",
|
| 1012 |
+
" array([[ 434.68066, 2782.5908 ],\n",
|
| 1013 |
+
" [ 533.03906, 2782.5908 ],\n",
|
| 1014 |
+
" [ 533.03906, 2820.665 ],\n",
|
| 1015 |
+
" [ 434.68066, 2820.665 ]], dtype=float32)),\n",
|
| 1016 |
+
" ('ean',\n",
|
| 1017 |
+
" array([[ 558.4219, 2782.5908],\n",
|
| 1018 |
+
" [ 650.4346, 2782.5908],\n",
|
| 1019 |
+
" [ 650.4346, 2823.838 ],\n",
|
| 1020 |
+
" [ 558.4219, 2823.838 ]], dtype=float32)),\n",
|
| 1021 |
+
" ('even',\n",
|
| 1022 |
+
" array([[ 304.59375, 2785.7637 ],\n",
|
| 1023 |
+
" [ 396.60645, 2785.7637 ],\n",
|
| 1024 |
+
" [ 396.60645, 2823.838 ],\n",
|
| 1025 |
+
" [ 304.59375, 2823.838 ]], dtype=float32)),\n",
|
| 1026 |
+
" ('s',\n",
|
| 1027 |
+
" array([[ 31.728516, 2830.1836 ],\n",
|
| 1028 |
+
" [ 57.11133 , 2830.1836 ],\n",
|
| 1029 |
+
" [ 57.11133 , 2871.4307 ],\n",
|
| 1030 |
+
" [ 31.728516, 2871.4307 ]], dtype=float32)),\n",
|
| 1031 |
+
" ('era',\n",
|
| 1032 |
+
" array([[ 72.975586, 2830.1836 ],\n",
|
| 1033 |
+
" [ 142.77832 , 2830.1836 ],\n",
|
| 1034 |
+
" [ 142.77832 , 2877.7764 ],\n",
|
| 1035 |
+
" [ 72.975586, 2877.7764 ]], dtype=float32)),\n",
|
| 1036 |
+
" ('ffle',\n",
|
| 1037 |
+
" array([[ 139.60547, 2830.1836 ],\n",
|
| 1038 |
+
" [ 228.44531, 2830.1836 ],\n",
|
| 1039 |
+
" [ 228.44531, 2877.7764 ],\n",
|
| 1040 |
+
" [ 139.60547, 2877.7764 ]], dtype=float32)),\n",
|
| 1041 |
+
" ('entr',\n",
|
| 1042 |
+
" array([[ 241.13672, 2833.3564 ],\n",
|
| 1043 |
+
" [ 336.32227, 2833.3564 ],\n",
|
| 1044 |
+
" [ 336.32227, 2874.6035 ],\n",
|
| 1045 |
+
" [ 241.13672, 2874.6035 ]], dtype=float32)),\n",
|
| 1046 |
+
" ('ies',\n",
|
| 1047 |
+
" array([[ 329.97656, 2836.5293 ],\n",
|
| 1048 |
+
" [ 393.4336 , 2836.5293 ],\n",
|
| 1049 |
+
" [ 393.4336 , 2871.4307 ],\n",
|
| 1050 |
+
" [ 329.97656, 2871.4307 ]], dtype=float32)),\n",
|
| 1051 |
+
" ('aphen',\n",
|
| 1052 |
+
" array([[ 412.4707 , 2836.5293 ],\n",
|
| 1053 |
+
" [ 501.31055, 2836.5293 ],\n",
|
| 1054 |
+
" [ 501.31055, 2877.7764 ],\n",
|
| 1055 |
+
" [ 412.4707 , 2877.7764 ]], dtype=float32)),\n",
|
| 1056 |
+
" ('duy',\n",
|
| 1057 |
+
" array([[ 596.4961, 2836.5293],\n",
|
| 1058 |
+
" [ 669.4717, 2836.5293],\n",
|
| 1059 |
+
" [ 669.4717, 2877.7764],\n",
|
| 1060 |
+
" [ 596.4961, 2877.7764]], dtype=float32)),\n",
|
| 1061 |
+
" ('you',\n",
|
| 1062 |
+
" array([[ 517.1748 , 2839.7021 ],\n",
|
| 1063 |
+
" [ 586.97754, 2839.7021 ],\n",
|
| 1064 |
+
" [ 586.97754, 2877.7764 ],\n",
|
| 1065 |
+
" [ 517.1748 , 2877.7764 ]], dtype=float32)),\n",
|
| 1066 |
+
" ('dis',\n",
|
| 1067 |
+
" array([[ 31.728516, 2884.122 ],\n",
|
| 1068 |
+
" [ 79.32129 , 2884.122 ],\n",
|
| 1069 |
+
" [ 79.32129 , 2925.3691 ],\n",
|
| 1070 |
+
" [ 31.728516, 2925.3691 ]], dtype=float32)),\n",
|
| 1071 |
+
" ('scdunted',\n",
|
| 1072 |
+
" array([[ 76.14844, 2884.122 ],\n",
|
| 1073 |
+
" [ 250.65527, 2884.122 ],\n",
|
| 1074 |
+
" [ 250.65527, 2928.542 ],\n",
|
| 1075 |
+
" [ 76.14844, 2928.542 ]], dtype=float32)),\n",
|
| 1076 |
+
" ('booster',\n",
|
| 1077 |
+
" array([[ 263.34668, 2884.122 ],\n",
|
| 1078 |
+
" [ 415.64355, 2884.122 ],\n",
|
| 1079 |
+
" [ 415.64355, 2928.542 ],\n",
|
| 1080 |
+
" [ 263.34668, 2928.542 ]], dtype=float32)),\n",
|
| 1081 |
+
" ('tenss',\n",
|
| 1082 |
+
" array([[ 453.71777, 2884.122 ],\n",
|
| 1083 |
+
" [ 548.9033 , 2884.122 ],\n",
|
| 1084 |
+
" [ 548.9033 , 2928.542 ],\n",
|
| 1085 |
+
" [ 453.71777, 2928.542 ]], dtype=float32)),\n",
|
| 1086 |
+
" ('fper',\n",
|
| 1087 |
+
" array([[ 577.459 , 2884.122 ],\n",
|
| 1088 |
+
" [ 647.2617, 2884.122 ],\n",
|
| 1089 |
+
" [ 647.2617, 2928.542 ],\n",
|
| 1090 |
+
" [ 577.459 , 2928.542 ]], dtype=float32)),\n",
|
| 1091 |
+
" ('dii',\n",
|
| 1092 |
+
" array([[ 31.728516, 2934.8877 ],\n",
|
| 1093 |
+
" [ 101.53125 , 2934.8877 ],\n",
|
| 1094 |
+
" [ 101.53125 , 2979.3076 ],\n",
|
| 1095 |
+
" [ 31.728516, 2979.3076 ]], dtype=float32)),\n",
|
| 1096 |
+
" ('fair',\n",
|
| 1097 |
+
" array([[ 117.39551, 2934.8877 ],\n",
|
| 1098 |
+
" [ 209.4082 , 2934.8877 ],\n",
|
| 1099 |
+
" [ 209.4082 , 2979.3076 ],\n",
|
| 1100 |
+
" [ 117.39551, 2979.3076 ]], dtype=float32)),\n",
|
| 1101 |
+
" ('trade',\n",
|
| 1102 |
+
" array([[ 222.09961, 2934.8877 ],\n",
|
| 1103 |
+
" [ 333.1494 , 2934.8877 ],\n",
|
| 1104 |
+
" [ 333.1494 , 2979.3076 ],\n",
|
| 1105 |
+
" [ 222.09961, 2979.3076 ]], dtype=float32)),\n",
|
| 1106 |
+
" ('permt',\n",
|
| 1107 |
+
" array([[ 346.57706, 2933.5906 ],\n",
|
| 1108 |
+
" [ 458.4858 , 2939.4805 ],\n",
|
| 1109 |
+
" [ 456.2683 , 2981.6128 ],\n",
|
| 1110 |
+
" [ 344.35956, 2975.7231 ]], dtype=float32)),\n",
|
| 1111 |
+
" ('nunbers',\n",
|
| 1112 |
+
" array([[ 494.96484, 2934.8877 ],\n",
|
| 1113 |
+
" [ 644.08887, 2934.8877 ],\n",
|
| 1114 |
+
" [ 644.08887, 2979.3076 ],\n",
|
| 1115 |
+
" [ 494.96484, 2979.3076 ]], dtype=float32)),\n",
|
| 1116 |
+
" ('t',\n",
|
| 1117 |
+
" array([[ 453.71777, 2941.2334 ],\n",
|
| 1118 |
+
" [ 475.92773, 2941.2334 ],\n",
|
| 1119 |
+
" [ 475.92773, 2976.1348 ],\n",
|
| 1120 |
+
" [ 453.71777, 2976.1348 ]], dtype=float32)),\n",
|
| 1121 |
+
" ('18015',\n",
|
| 1122 |
+
" array([[ 117.39551, 2985.6533 ],\n",
|
| 1123 |
+
" [ 247.48242, 2985.6533 ],\n",
|
| 1124 |
+
" [ 247.48242, 3030.0732 ],\n",
|
| 1125 |
+
" [ 117.39551, 3030.0732 ]], dtype=float32)),\n",
|
| 1126 |
+
" ('series',\n",
|
| 1127 |
+
" array([[ 263.34668, 2985.6533 ],\n",
|
| 1128 |
+
" [ 396.60645, 2985.6533 ],\n",
|
| 1129 |
+
" [ 396.60645, 3030.0732 ],\n",
|
| 1130 |
+
" [ 263.34668, 3030.0732 ]], dtype=float32)),\n",
|
| 1131 |
+
" ('of',\n",
|
| 1132 |
+
" array([[ 409.29785, 2985.6533 ],\n",
|
| 1133 |
+
" [ 456.89062, 2985.6533 ],\n",
|
| 1134 |
+
" [ 456.89062, 3030.0732 ],\n",
|
| 1135 |
+
" [ 409.29785, 3030.0732 ]], dtype=float32)),\n",
|
| 1136 |
+
" ('edz5',\n",
|
| 1137 |
+
" array([[ 472.75488, 2985.6533 ],\n",
|
| 1138 |
+
" [ 571.1133 , 2985.6533 ],\n",
|
| 1139 |
+
" [ 571.1133 , 3026.9004 ],\n",
|
| 1140 |
+
" [ 472.75488, 3026.9004 ]], dtype=float32)),\n",
|
| 1141 |
+
" ('facebooks',\n",
|
| 1142 |
+
" array([[ 53.938477, 3036.419 ],\n",
|
| 1143 |
+
" [ 234.79102 , 3036.419 ],\n",
|
| 1144 |
+
" [ 234.79102 , 3080.8389 ],\n",
|
| 1145 |
+
" [ 53.938477, 3080.8389 ]], dtype=float32)),\n",
|
| 1146 |
+
" ('71',\n",
|
| 1147 |
+
" array([[ 329.97656, 3036.419 ],\n",
|
| 1148 |
+
" [ 371.22363, 3036.419 ],\n",
|
| 1149 |
+
" [ 371.22363, 3077.666 ],\n",
|
| 1150 |
+
" [ 329.97656, 3077.666 ]], dtype=float32)),\n",
|
| 1151 |
+
" ('iphi',\n",
|
| 1152 |
+
" array([[ 371.22363, 3036.419 ],\n",
|
| 1153 |
+
" [ 456.89062, 3036.419 ],\n",
|
| 1154 |
+
" [ 456.89062, 3080.8389 ],\n",
|
| 1155 |
+
" [ 371.22363, 3080.8389 ]], dtype=float32)),\n",
|
| 1156 |
+
" ('comf',\n",
|
| 1157 |
+
" array([[ 241.13672, 3039.5918 ],\n",
|
| 1158 |
+
" [ 333.1494 , 3039.5918 ],\n",
|
| 1159 |
+
" [ 333.1494 , 3080.8389 ],\n",
|
| 1160 |
+
" [ 241.13672, 3080.8389 ]], dtype=float32)),\n",
|
| 1161 |
+
" ('l',\n",
|
| 1162 |
+
" array([[ 456.89062, 3042.7646 ],\n",
|
| 1163 |
+
" [ 469.58203, 3042.7646 ],\n",
|
| 1164 |
+
" [ 469.58203, 3071.3203 ],\n",
|
| 1165 |
+
" [ 456.89062, 3071.3203 ]], dtype=float32)),\n",
|
| 1166 |
+
" ('pp',\n",
|
| 1167 |
+
" array([[ 491.792 , 3039.5918],\n",
|
| 1168 |
+
" [ 542.5576, 3039.5918],\n",
|
| 1169 |
+
" [ 542.5576, 3080.8389],\n",
|
| 1170 |
+
" [ 491.792 , 3080.8389]], dtype=float32)),\n",
|
| 1171 |
+
" ('fes',\n",
|
| 1172 |
+
" array([[ 552.0762 , 3039.5918 ],\n",
|
| 1173 |
+
" [ 631.39746, 3039.5918 ],\n",
|
| 1174 |
+
" [ 631.39746, 3077.666 ],\n",
|
| 1175 |
+
" [ 552.0762 , 3077.666 ]], dtype=float32)),\n",
|
| 1176 |
+
" ('this',\n",
|
| 1177 |
+
" array([[ 53.938477, 3137.9502 ],\n",
|
| 1178 |
+
" [ 142.77832 , 3137.9502 ],\n",
|
| 1179 |
+
" [ 142.77832 , 3185.543 ],\n",
|
| 1180 |
+
" [ 53.938477, 3185.543 ]], dtype=float32)),\n",
|
| 1181 |
+
" ('is',\n",
|
| 1182 |
+
" array([[ 158.64258, 3137.9502 ],\n",
|
| 1183 |
+
" [ 206.23535, 3137.9502 ],\n",
|
| 1184 |
+
" [ 206.23535, 3185.543 ],\n",
|
| 1185 |
+
" [ 158.64258, 3185.543 ]], dtype=float32)),\n",
|
| 1186 |
+
" ('official',\n",
|
| 1187 |
+
" array([[ 282.3838 , 3137.9502 ],\n",
|
| 1188 |
+
" [ 456.89062, 3137.9502 ],\n",
|
| 1189 |
+
" [ 456.89062, 3185.543 ],\n",
|
| 1190 |
+
" [ 282.3838 , 3185.543 ]], dtype=float32)),\n",
|
| 1191 |
+
" ('receift',\n",
|
| 1192 |
+
" array([[ 472.75488, 3137.9502 ],\n",
|
| 1193 |
+
" [ 628.2246 , 3137.9502 ],\n",
|
| 1194 |
+
" [ 628.2246 , 3185.543 ],\n",
|
| 1195 |
+
" [ 472.75488, 3185.543 ]], dtype=float32)),\n",
|
| 1196 |
+
" ('in',\n",
|
| 1197 |
+
" array([[ 222.09961, 3141.123 ],\n",
|
| 1198 |
+
" [ 269.69238, 3141.123 ],\n",
|
| 1199 |
+
" [ 269.69238, 3182.37 ],\n",
|
| 1200 |
+
" [ 222.09961, 3182.37 ]], dtype=float32))]]"
|
| 1201 |
+
]
|
| 1202 |
+
},
|
| 1203 |
+
"execution_count": 4,
|
| 1204 |
+
"metadata": {},
|
| 1205 |
+
"output_type": "execute_result"
|
| 1206 |
+
}
|
| 1207 |
+
],
|
| 1208 |
+
"source": [
|
| 1209 |
+
"pipeline.recognize([r\"temp\\20230508_122035_preprocessed.png\"])"
|
| 1210 |
+
]
|
| 1211 |
+
},
|
| 1212 |
+
{
|
| 1213 |
+
"cell_type": "code",
|
| 1214 |
+
"execution_count": 5,
|
| 1215 |
+
"metadata": {},
|
| 1216 |
+
"outputs": [
|
| 1217 |
+
{
|
| 1218 |
+
"name": "stdout",
|
| 1219 |
+
"output_type": "stream",
|
| 1220 |
+
"text": [
|
| 1221 |
+
"Requirement already satisfied: requests in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (2.31.0)\n",
|
| 1222 |
+
"Requirement already satisfied: charset-normalizer<4,>=2 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (3.2.0)\n",
|
| 1223 |
+
"Requirement already satisfied: idna<4,>=2.5 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (3.4)\n",
|
| 1224 |
+
"Requirement already satisfied: urllib3<3,>=1.21.1 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (1.26.16)\n",
|
| 1225 |
+
"Requirement already satisfied: certifi>=2017.4.17 in c:\\users\\ayoo\\anaconda3\\envs\\mlenv\\lib\\site-packages (from requests) (2023.7.22)\n"
|
| 1226 |
+
]
|
| 1227 |
+
}
|
| 1228 |
+
],
|
| 1229 |
+
"source": [
|
| 1230 |
+
"!pip install requests"
|
| 1231 |
+
]
|
| 1232 |
+
},
|
| 1233 |
+
{
|
| 1234 |
+
"cell_type": "code",
|
| 1235 |
+
"execution_count": 16,
|
| 1236 |
+
"metadata": {},
|
| 1237 |
+
"outputs": [
|
| 1238 |
+
{
|
| 1239 |
+
"name": "stdout",
|
| 1240 |
+
"output_type": "stream",
|
| 1241 |
+
"text": [
|
| 1242 |
+
"{'ParsedResults': [{'TextOverlay': {'Lines': [{'LineText': '7-ELEVEN.', 'Words': [{'WordText': '7', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}, {'WordText': '-', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}, {'WordText': 'ELEVEN', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}, {'WordText': '.', 'Left': 205.0, 'Top': 38.0, 'Height': 84.0, 'Width': 398.0}], 'MaxHeight': 84.0, 'MinTop': 38.0}, {'LineText': 'NHJ Convenience Store', 'Words': [{'WordText': 'NHJ', 'Left': 117.0, 'Top': 215.0, 'Height': 36.0, 'Width': 76.0}, {'WordText': 'Convenience', 'Left': 198.0, 'Top': 215.0, 'Height': 36.0, 'Width': 247.0}, {'WordText': 'Store', 'Left': 450.0, 'Top': 215.0, 'Height': 36.0, 'Width': 114.0}], 'MaxHeight': 36.0, 'MinTop': 215.0}, {'LineText': 'Owned & Operated by: Nancy A.', 'Words': [{'WordText': 'Owned', 'Left': 33.0, 'Top': 260.0, 'Height': 52.0, 'Width': 117.0}, {'WordText': '&', 'Left': 156.0, 'Top': 261.0, 'Height': 52.0, 'Width': 32.0}, {'WordText': 'Operated', 'Left': 195.0, 'Top': 261.0, 'Height': 52.0, 'Width': 182.0}, {'WordText': 'by', 'Left': 384.0, 'Top': 261.0, 'Height': 52.0, 'Width': 71.0}, {'WordText': ':', 'Left': 384.0, 'Top': 261.0, 'Height': 52.0, 'Width': 71.0}, {'WordText': 'Nancy', 'Left': 462.0, 'Top': 261.0, 'Height': 52.0, 'Width': 130.0}, {'WordText': 'A', 'Left': 598.0, 'Top': 260.0, 'Height': 52.0, 'Width': 47.0}, {'WordText': '.', 'Left': 598.0, 'Top': 260.0, 'Height': 52.0, 'Width': 47.0}], 'MaxHeight': 52.0, 'MinTop': 260.0}, {'LineText': 'Climacosa', 'Words': [{'WordText': 'Climacosa', 'Left': 244.0, 'Top': 315.0, 'Height': 38.0, 'Width': 193.0}], 'MaxHeight': 38.0, 'MinTop': 315.0}, {'LineText': 'VATREGTIN #933-598-685-002', 'Words': [{'WordText': 'VATREGTIN', 'Left': 75.0, 'Top': 361.0, 'Height': 43.0, 'Width': 204.0}, {'WordText': '#', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '933', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '-', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '598', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '-', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '685', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '-', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}, {'WordText': '002', 'Left': 285.0, 'Top': 361.0, 'Height': 43.0, 'Width': 347.0}], 'MaxHeight': 43.0, 'MinTop': 361.0}, {'LineText': 'Poblacion, Leon, Iloilo,', 'Words': [{'WordText': 'Poblacion', 'Left': 94.0, 'Top': 417.0, 'Height': 49.0, 'Width': 220.0}, {'WordText': ',', 'Left': 94.0, 'Top': 417.0, 'Height': 49.0, 'Width': 220.0}, {'WordText': 'Leon', 'Left': 321.0, 'Top': 417.0, 'Height': 49.0, 'Width': 122.0}, {'WordText': ',', 'Left': 321.0, 'Top': 417.0, 'Height': 49.0, 'Width': 122.0}, {'WordText': 'Iloilo', 'Left': 449.0, 'Top': 417.0, 'Height': 49.0, 'Width': 154.0}, {'WordText': ',', 'Left': 449.0, 'Top': 417.0, 'Height': 49.0, 'Width': 154.0}], 'MaxHeight': 49.0, 'MinTop': 417.0}, {'LineText': 'Philippines', 'Words': [{'WordText': 'Philippines', 'Left': 225.0, 'Top': 468.0, 'Height': 44.0, 'Width': 238.0}], 'MaxHeight': 44.0, 'MinTop': 468.0}, {'LineText': 'lel #: NULL', 'Words': [{'WordText': 'lel', 'Left': 221.0, 'Top': 524.0, 'Height': 40.0, 'Width': 78.0}, {'WordText': '#:', 'Left': 304.0, 'Top': 524.0, 'Height': 39.0, 'Width': 59.0}, {'WordText': 'NULL', 'Left': 368.0, 'Top': 523.0, 'Height': 40.0, 'Width': 89.0}], 'MaxHeight': 41.0, 'MinTop': 523.0}, {'LineText': '05/01/2023 (Mon) 23:00:57', 'Words': [{'WordText': '05', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 216.0}, {'WordText': '/', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 215.0}, {'WordText': '01', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 216.0}, {'WordText': '/', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 215.0}, {'WordText': '2023', 'Left': 98.0, 'Top': 622.0, 'Height': 42.0, 'Width': 216.0}, {'WordText': '(', 'Left': 319.0, 'Top': 622.0, 'Height': 42.0, 'Width': 105.0}, {'WordText': 'Mon', 'Left': 319.0, 'Top': 622.0, 'Height': 42.0, 'Width': 105.0}, {'WordText': ')', 'Left': 319.0, 'Top': 622.0, 'Height': 42.0, 'Width': 105.0}, {'WordText': '23', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': ':', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': '00', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': ':', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}, {'WordText': '57', 'Left': 429.0, 'Top': 622.0, 'Height': 42.0, 'Width': 181.0}], 'MaxHeight': 42.0, 'MinTop': 622.0}, {'LineText': 'RCPT #2481347', 'Words': [{'WordText': 'RCPT', 'Left': 13.0, 'Top': 723.0, 'Height': 42.0, 'Width': 94.0}, {'WordText': '#', 'Left': 113.0, 'Top': 723.0, 'Height': 42.0, 'Width': 184.0}, {'WordText': '2481347', 'Left': 113.0, 'Top': 723.0, 'Height': 42.0, 'Width': 184.0}], 'MaxHeight': 42.0, 'MinTop': 723.0}, {'LineText': 'ROPT CNTHO', 'Words': [{'WordText': 'ROPT', 'Left': 472.0, 'Top': 723.0, 'Height': 49.0, 'Width': 96.0}, {'WordText': 'CNTHO', 'Left': 574.0, 'Top': 722.0, 'Height': 49.0, 'Width': 120.0}], 'MaxHeight': 50.0, 'MinTop': 722.0}, {'LineText': 'STORE#3058', 'Words': [{'WordText': 'STORE', 'Left': 13.0, 'Top': 771.0, 'Height': 47.0, 'Width': 219.0}, {'WordText': '#', 'Left': 13.0, 'Top': 771.0, 'Height': 47.0, 'Width': 219.0}, {'WordText': '3058', 'Left': 13.0, 'Top': 771.0, 'Height': 47.0, 'Width': 219.0}], 'MaxHeight': 47.0, 'MinTop': 771.0}, {'LineText': 'SN# :XTI43170', 'Words': [{'WordText': 'SN', 'Left': 433.0, 'Top': 771.0, 'Height': 49.0, 'Width': 66.0}, {'WordText': '#', 'Left': 433.0, 'Top': 771.0, 'Height': 49.0, 'Width': 66.0}, {'WordText': ':', 'Left': 505.0, 'Top': 771.0, 'Height': 50.0, 'Width': 189.0}, {'WordText': 'XTI43170', 'Left': 505.0, 'Top': 771.0, 'Height': 50.0, 'Width': 189.0}], 'MaxHeight': 50.0, 'MinTop': 771.0}, {'LineText': 'MIN #: 18112011091411051', 'Words': [{'WordText': 'MIN', 'Left': 13.0, 'Top': 830.0, 'Height': 39.0, 'Width': 73.0}, {'WordText': '#:', 'Left': 91.0, 'Top': 830.0, 'Height': 39.0, 'Width': 58.0}, {'WordText': '18112011091411051', 'Left': 154.0, 'Top': 830.0, 'Height': 39.0, 'Width': 360.0}], 'MaxHeight': 39.0, 'MinTop': 830.0}, {'LineText': 'STAFF: Angelica Duante', 'Words': [{'WordText': 'STAFF', 'Left': 13.0, 'Top': 879.0, 'Height': 43.0, 'Width': 124.0}, {'WordText': ':', 'Left': 13.0, 'Top': 879.0, 'Height': 43.0, 'Width': 124.0}, {'WordText': 'Angelica', 'Left': 142.0, 'Top': 879.0, 'Height': 43.0, 'Width': 177.0}, {'WordText': 'Duante', 'Left': 325.0, 'Top': 879.0, 'Height': 43.0, 'Width': 138.0}], 'MaxHeight': 43.0, 'MinTop': 879.0}, {'LineText': '7FKoreanßun', 'Words': [{'WordText': '7FKoreanßun', 'Left': 16.0, 'Top': 979.0, 'Height': 45.0, 'Width': 235.0}], 'MaxHeight': 45.0, 'MinTop': 979.0}, {'LineText': 'NissinYaSaBeet77g', 'Words': [{'WordText': 'NissinYaSaBeet77g', 'Left': 13.0, 'Top': 1032.0, 'Height': 42.0, 'Width': 365.0}], 'MaxHeight': 42.0, 'MinTop': 1032.0}, {'LineText': 'BBHOTDOGCREMYCHEES', 'Words': [{'WordText': 'BBHOTDOGCREMYCHEES', 'Left': 13.0, 'Top': 1084.0, 'Height': 39.0, 'Width': 384.0}], 'MaxHeight': 39.0, 'MinTop': 1084.0}, {'LineText': '39.00 Х 6', 'Words': [{'WordText': '39.00', 'Left': 140.0, 'Top': 1136.0, 'Height': 43.0, 'Width': 116.0}, {'WordText': 'Х', 'Left': 261.0, 'Top': 1136.0, 'Height': 43.0, 'Width': 100.0}, {'WordText': '6', 'Left': 366.0, 'Top': 1135.0, 'Height': 42.0, 'Width': 29.0}], 'MaxHeight': 44.0, 'MinTop': 1135.0}, {'LineText': 'chocvron? in1Ch020g', 'Words': [{'WordText': 'chocvron', 'Left': 13.0, 'Top': 1185.0, 'Height': 43.0, 'Width': 193.0}, {'WordText': '?', 'Left': 13.0, 'Top': 1185.0, 'Height': 43.0, 'Width': 193.0}, {'WordText': 'in1Ch020g', 'Left': 212.0, 'Top': 1185.0, 'Height': 43.0, 'Width': 186.0}], 'MaxHeight': 43.0, 'MinTop': 1185.0}, {'LineText': '15.00 X', 'Words': [{'WordText': '15.00', 'Left': 140.0, 'Top': 1240.0, 'Height': 43.0, 'Width': 116.0}, {'WordText': 'X', 'Left': 261.0, 'Top': 1240.0, 'Height': 42.0, 'Width': 42.0}], 'MaxHeight': 43.0, 'MinTop': 1240.0}, {'LineText': '2', 'Words': [{'WordText': '2', 'Left': 355.0, 'Top': 1240.0, 'Height': 39.0, 'Width': 39.0}], 'MaxHeight': 39.0, 'MinTop': 1240.0}, {'LineText': '55.004', 'Words': [{'WordText': '55.004', 'Left': 557.0, 'Top': 979.0, 'Height': 47.0, 'Width': 137.0}], 'MaxHeight': 47.0, 'MinTop': 979.0}, {'LineText': '40.000', 'Words': [{'WordText': '40.000', 'Left': 560.0, 'Top': 1031.0, 'Height': 48.0, 'Width': 134.0}], 'MaxHeight': 48.0, 'MinTop': 1031.0}, {'LineText': '234.000', 'Words': [{'WordText': '234.000', 'Left': 534.0, 'Top': 1135.0, 'Height': 47.0, 'Width': 160.0}], 'MaxHeight': 47.0, 'MinTop': 1135.0}, {'LineText': '30.000', 'Words': [{'WordText': '30.000', 'Left': 557.0, 'Top': 1237.0, 'Height': 46.0, 'Width': 137.0}], 'MaxHeight': 46.0, 'MinTop': 1237.0}, {'LineText': 'Total (10)', 'Words': [{'WordText': 'Total', 'Left': 13.0, 'Top': 1340.0, 'Height': 44.0, 'Width': 121.0}, {'WordText': '(', 'Left': 139.0, 'Top': 1342.0, 'Height': 44.0, 'Width': 86.0}, {'WordText': '10', 'Left': 139.0, 'Top': 1342.0, 'Height': 44.0, 'Width': 86.0}, {'WordText': ')', 'Left': 139.0, 'Top': 1342.0, 'Height': 44.0, 'Width': 86.0}], 'MaxHeight': 46.0, 'MinTop': 1340.0}, {'LineText': 'CASH', 'Words': [{'WordText': 'CASH', 'Left': 55.0, 'Top': 1390.0, 'Height': 43.0, 'Width': 91.0}], 'MaxHeight': 43.0, 'MinTop': 1390.0}, {'LineText': 'CHANGE', 'Words': [{'WordText': 'CHANGE', 'Left': 52.0, 'Top': 1442.0, 'Height': 43.0, 'Width': 137.0}], 'MaxHeight': 43.0, 'MinTop': 1442.0}, {'LineText': '359.00', 'Words': [{'WordText': '359.00', 'Left': 557.0, 'Top': 1341.0, 'Height': 47.0, 'Width': 137.0}], 'MaxHeight': 47.0, 'MinTop': 1341.0}, {'LineText': '1000.00', 'Words': [{'WordText': '1000.00', 'Left': 537.0, 'Top': 1389.0, 'Height': 48.0, 'Width': 154.0}], 'MaxHeight': 48.0, 'MinTop': 1389.0}, {'LineText': '641.00', 'Words': [{'WordText': '641.00', 'Left': 557.0, 'Top': 1442.0, 'Height': 46.0, 'Width': 134.0}], 'MaxHeight': 46.0, 'MinTop': 1442.0}, {'LineText': 'VATable', 'Words': [{'WordText': 'VATable', 'Left': 52.0, 'Top': 1546.0, 'Height': 40.0, 'Width': 157.0}], 'MaxHeight': 40.0, 'MinTop': 1546.0}, {'LineText': 'VAT_Tax', 'Words': [{'WordText': 'VAT_Tax', 'Left': 52.0, 'Top': 1598.0, 'Height': 50.0, 'Width': 157.0}], 'MaxHeight': 50.0, 'MinTop': 1598.0}, {'LineText': 'Zero_Rated', 'Words': [{'WordText': 'Zero_Rated', 'Left': 52.0, 'Top': 1649.0, 'Height': 48.0, 'Width': 219.0}], 'MaxHeight': 48.0, 'MinTop': 1649.0}, {'LineText': 'VAT_Exempted', 'Words': [{'WordText': 'VAT_Exempted', 'Left': 52.0, 'Top': 1699.0, 'Height': 50.0, 'Width': 264.0}], 'MaxHeight': 50.0, 'MinTop': 1699.0}, {'LineText': '320.54', 'Words': [{'WordText': '320.54', 'Left': 557.0, 'Top': 1546.0, 'Height': 46.0, 'Width': 134.0}], 'MaxHeight': 46.0, 'MinTop': 1546.0}, {'LineText': '38.46', 'Words': [{'WordText': '38.46', 'Left': 577.0, 'Top': 1598.0, 'Height': 43.0, 'Width': 114.0}], 'MaxHeight': 43.0, 'MinTop': 1598.0}, {'LineText': '0.00', 'Words': [{'WordText': '0.00', 'Left': 600.0, 'Top': 1651.0, 'Height': 42.0, 'Width': 91.0}], 'MaxHeight': 42.0, 'MinTop': 1651.0}, {'LineText': '0.00', 'Words': [{'WordText': '0.00', 'Left': 599.0, 'Top': 1702.0, 'Height': 43.0, 'Width': 95.0}], 'MaxHeight': 43.0, 'MinTop': 1702.0}, {'LineText': 'Sold To: 9906087698684', 'Words': [{'WordText': 'Sold', 'Left': 13.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 94.0}, {'WordText': 'To', 'Left': 113.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 79.0}, {'WordText': ':', 'Left': 113.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 79.0}, {'WordText': '9906087698684', 'Left': 197.0, 'Top': 1803.0, 'Height': 42.0, 'Width': 285.0}], 'MaxHeight': 42.0, 'MinTop': 1803.0}, {'LineText': 'Name:', 'Words': [{'WordText': 'Name', 'Left': 10.0, 'Top': 1856.0, 'Height': 39.0, 'Width': 111.0}, {'WordText': ':', 'Left': 10.0, 'Top': 1856.0, 'Height': 39.0, 'Width': 111.0}], 'MaxHeight': 39.0, 'MinTop': 1856.0}, {'LineText': 'Address:', 'Words': [{'WordText': 'Address', 'Left': 13.0, 'Top': 1907.0, 'Height': 40.0, 'Width': 170.0}, {'WordText': ':', 'Left': 13.0, 'Top': 1907.0, 'Height': 40.0, 'Width': 170.0}], 'MaxHeight': 40.0, 'MinTop': 1907.0}, {'LineText': 'TIN:', 'Words': [{'WordText': 'TIN', 'Left': 13.0, 'Top': 1957.0, 'Height': 39.0, 'Width': 85.0}, {'WordText': ':', 'Left': 13.0, 'Top': 1957.0, 'Height': 39.0, 'Width': 85.0}], 'MaxHeight': 39.0, 'MinTop': 1957.0}, {'LineText': 'Philippine Seven Corporation', 'Words': [{'WordText': 'Philippine', 'Left': 10.0, 'Top': 2060.0, 'Height': 43.0, 'Width': 226.0}, {'WordText': 'Seven', 'Left': 241.0, 'Top': 2060.0, 'Height': 43.0, 'Width': 118.0}, {'WordText': 'Corporation', 'Left': 365.0, 'Top': 2060.0, 'Height': 43.0, 'Width': 241.0}], 'MaxHeight': 43.0, 'MinTop': 2060.0}, {'LineText': '7th Floor The Columbia Tower', 'Words': [{'WordText': '7th', 'Left': 13.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 72.0}, {'WordText': 'Floor', 'Left': 90.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 126.0}, {'WordText': 'The', 'Left': 220.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 76.0}, {'WordText': 'Columbia', 'Left': 301.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 189.0}, {'WordText': 'Tower', 'Left': 495.0, 'Top': 2116.0, 'Height': 36.0, 'Width': 108.0}], 'MaxHeight': 36.0, 'MinTop': 2116.0}, {'LineText': 'Ortigas Avenue, Mandaluyong', 'Words': [{'WordText': 'Ortigas', 'Left': 33.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 154.0}, {'WordText': 'Avenue', 'Left': 192.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 159.0}, {'WordText': ',', 'Left': 192.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 159.0}, {'WordText': 'Mandaluyong', 'Left': 358.0, 'Top': 2161.0, 'Height': 49.0, 'Width': 248.0}], 'MaxHeight': 49.0, 'MinTop': 2161.0}, {'LineText': 'City', 'Words': [{'WordText': 'City', 'Left': 29.0, 'Top': 2214.0, 'Height': 42.0, 'Width': 94.0}], 'MaxHeight': 42.0, 'MinTop': 2214.0}, {'LineText': 'TIN: 000-390-189-000', 'Words': [{'WordText': 'TIN', 'Left': 13.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 90.0}, {'WordText': ':', 'Left': 13.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 90.0}, {'WordText': '000', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '-', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '390', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '-', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '189', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '-', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}, {'WordText': '000', 'Left': 109.0, 'Top': 2266.0, 'Height': 46.0, 'Width': 331.0}], 'MaxHeight': 46.0, 'MinTop': 2266.0}, {'LineText': 'BIR ACCI #', 'Words': [{'WordText': 'BIR', 'Left': 10.0, 'Top': 2318.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'ACCI', 'Left': 93.0, 'Top': 2318.0, 'Height': 39.0, 'Width': 98.0}, {'WordText': '#', 'Left': 195.0, 'Top': 2318.0, 'Height': 39.0, 'Width': 30.0}], 'MaxHeight': 40.0, 'MinTop': 2318.0}, {'LineText': '116-000390189-000346 19602', 'Words': [{'WordText': '116', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '000390189', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '000346', 'Left': 33.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 430.0}, {'WordText': '19602', 'Left': 468.0, 'Top': 2366.0, 'Height': 43.0, 'Width': 118.0}], 'MaxHeight': 43.0, 'MinTop': 2366.0}, {'LineText': 'AcciDate: 08/01/2020', 'Words': [{'WordText': 'AcciDate', 'Left': 13.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 194.0}, {'WordText': ':', 'Left': 13.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 194.0}, {'WordText': '08', 'Left': 212.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '/', 'Left': 213.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '01', 'Left': 212.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '/', 'Left': 213.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}, {'WordText': '2020', 'Left': 212.0, 'Top': 2419.0, 'Height': 42.0, 'Width': 266.0}], 'MaxHeight': 42.0, 'MinTop': 2419.0}, {'LineText': '07/31/2025', 'Words': [{'WordText': '07', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '/', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '31', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '/', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}, {'WordText': '2025', 'Left': 29.0, 'Top': 2470.0, 'Height': 44.0, 'Width': 219.0}], 'MaxHeight': 44.0, 'MinTop': 2470.0}, {'LineText': 'Permit #:', 'Words': [{'WordText': 'Permit', 'Left': 10.0, 'Top': 2526.0, 'Height': 40.0, 'Width': 142.0}, {'WordText': '#:', 'Left': 156.0, 'Top': 2527.0, 'Height': 39.0, 'Width': 46.0}], 'MaxHeight': 40.0, 'MinTop': 2526.0}, {'LineText': 'FP112018-074-0194656-00002', 'Words': [{'WordText': 'FP112018', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '074', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '0194656', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '-', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}, {'WordText': '00002', 'Left': 33.0, 'Top': 2572.0, 'Height': 39.0, 'Width': 554.0}], 'MaxHeight': 39.0, 'MinTop': 2572.0}, {'LineText': 'Get a chance to win a trip for', 'Words': [{'WordText': 'Get', 'Left': 29.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'a', 'Left': 112.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'chance', 'Left': 151.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 146.0}, {'WordText': 'to', 'Left': 302.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 54.0}, {'WordText': 'win', 'Left': 361.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 83.0}, {'WordText': 'a', 'Left': 448.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'trip', 'Left': 487.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 107.0}, {'WordText': 'for', 'Left': 599.0, 'Top': 2679.0, 'Height': 39.0, 'Width': 69.0}], 'MaxHeight': 39.0, 'MinTop': 2679.0}, {'LineText': '2 to Korea when you buy PISO', 'Words': [{'WordText': '2', 'Left': 52.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'to', 'Left': 91.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 58.0}, {'WordText': 'Korea', 'Left': 154.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 122.0}, {'WordText': 'when', 'Left': 281.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 102.0}, {'WordText': 'you', 'Left': 388.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'buy', 'Left': 471.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'PISO', 'Left': 554.0, 'Top': 2731.0, 'Height': 39.0, 'Width': 91.0}], 'MaxHeight': 39.0, 'MinTop': 2731.0}, {'LineText': 'worth of 7-Eleven items. Earn', 'Words': [{'WordText': 'worth', 'Left': 29.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 116.0}, {'WordText': 'of', 'Left': 152.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 61.0}, {'WordText': '7', 'Left': 219.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 184.0}, {'WordText': '-', 'Left': 219.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 184.0}, {'WordText': 'Eleven', 'Left': 219.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 184.0}, {'WordText': 'items', 'Left': 409.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 135.0}, {'WordText': '.', 'Left': 409.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 135.0}, {'WordText': 'Earn', 'Left': 550.0, 'Top': 2783.0, 'Height': 49.0, 'Width': 99.0}], 'MaxHeight': 49.0, 'MinTop': 2783.0}, {'LineText': '3 eRaffle entries when you buy', 'Words': [{'WordText': '3', 'Left': 29.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 34.0}, {'WordText': 'eRaffle', 'Left': 68.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 166.0}, {'WordText': 'entries', 'Left': 239.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 161.0}, {'WordText': 'when', 'Left': 404.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 102.0}, {'WordText': 'you', 'Left': 512.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 78.0}, {'WordText': 'buy', 'Left': 594.0, 'Top': 2832.0, 'Height': 39.0, 'Width': 70.0}], 'MaxHeight': 39.0, 'MinTop': 2832.0}, {'LineText': 'discounted booster Items. Per', 'Words': [{'WordText': 'discounted', 'Left': 33.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 221.0}, {'WordText': 'booster', 'Left': 259.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 168.0}, {'WordText': 'Items', 'Left': 432.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 137.0}, {'WordText': '.', 'Left': 432.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 137.0}, {'WordText': 'Per', 'Left': 574.0, 'Top': 2888.0, 'Height': 42.0, 'Width': 68.0}], 'MaxHeight': 42.0, 'MinTop': 2888.0}, {'LineText': 'DTI FAIR TRADE Permit Number:', 'Words': [{'WordText': 'DTI', 'Left': 29.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 78.0}, {'WordText': 'FAIR', 'Left': 113.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 100.0}, {'WordText': 'TRADE', 'Left': 218.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 121.0}, {'WordText': 'Permit', 'Left': 344.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 142.0}, {'WordText': 'Number', 'Left': 491.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 151.0}, {'WordText': ':', 'Left': 491.0, 'Top': 2933.0, 'Height': 42.0, 'Width': 151.0}], 'MaxHeight': 42.0, 'MinTop': 2933.0}, {'LineText': '163019 Series of 2023..', 'Words': [{'WordText': '163019', 'Left': 117.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 135.0}, {'WordText': 'Series', 'Left': 257.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 145.0}, {'WordText': 'of', 'Left': 407.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 55.0}, {'WordText': '2023', 'Left': 467.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 165.0}, {'WordText': '..', 'Left': 467.0, 'Top': 2988.0, 'Height': 40.0, 'Width': 165.0}], 'MaxHeight': 40.0, 'MinTop': 2988.0}, {'LineText': 'facebook.com/711philippines.', 'Words': [{'WordText': 'facebook.com', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}, {'WordText': '/', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}, {'WordText': '711philippines', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}, {'WordText': '.', 'Left': 52.0, 'Top': 3037.0, 'Height': 42.0, 'Width': 590.0}], 'MaxHeight': 42.0, 'MinTop': 3037.0}, {'LineText': '- THIS IS AN OFFICIAL RECEIPT -', 'Words': [{'WordText': '-', 'Left': 0.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 46.0}, {'WordText': 'THIS', 'Left': 52.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 98.0}, {'WordText': 'IS', 'Left': 155.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 57.0}, {'WordText': 'AN', 'Left': 219.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 52.0}, {'WordText': 'OFFICIAL', 'Left': 276.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 184.0}, {'WordText': 'RECEIPT', 'Left': 466.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 167.0}, {'WordText': '-', 'Left': 638.0, 'Top': 3138.0, 'Height': 46.0, 'Width': 30.0}], 'MaxHeight': 46.0, 'MinTop': 3138.0}], 'HasOverlay': True}, 'TextOrientation': '0', 'FileParseExitCode': 1, 'ParsedText': '7-ELEVEN.\\nNHJ Convenience Store\\nOwned & Operated by: Nancy A.\\nClimacosa\\nVATREGTIN #933-598-685-002\\nPoblacion, Leon, Iloilo,\\nPhilippines\\nlel #: NULL\\n05/01/2023 (Mon) 23:00:57\\nRCPT #2481347\\nROPT CNTHO\\nSTORE#3058\\nSN# :XTI43170\\nMIN #: 18112011091411051\\nSTAFF: Angelica Duante\\n7FKoreanßun\\nNissinYaSaBeet77g\\nBBHOTDOGCREMYCHEES\\n39.00 Х 6\\nchocvron? in1Ch020g\\n15.00 X\\n2\\n55.004\\n40.000\\n234.000\\n30.000\\nTotal (10)\\nCASH\\nCHANGE\\n359.00\\n1000.00\\n641.00\\nVATable\\nVAT_Tax\\nZero_Rated\\nVAT_Exempted\\n320.54\\n38.46\\n0.00\\n0.00\\nSold To: 9906087698684\\nName:\\nAddress:\\nTIN:\\nPhilippine Seven Corporation\\n7th Floor The Columbia Tower\\nOrtigas Avenue, Mandaluyong\\nCity\\nTIN: 000-390-189-000\\nBIR ACCI #\\n116-000390189-000346 19602\\nAcciDate: 08/01/2020\\n07/31/2025\\nPermit #:\\nFP112018-074-0194656-00002\\nGet a chance to win a trip for\\n2 to Korea when you buy PISO\\nworth of 7-Eleven items. Earn\\n3 eRaffle entries when you buy\\ndiscounted booster Items. Per\\nDTI FAIR TRADE Permit Number:\\n163019 Series of 2023..\\nfacebook.com/711philippines.\\n- THIS IS AN OFFICIAL RECEIPT -', 'ErrorMessage': '', 'ErrorDetails': ''}], 'OCRExitCode': 1, 'IsErroredOnProcessing': False, 'ProcessingTimeInMilliseconds': '2593', 'SearchablePDFURL': 'Searchable PDF not generated as it was not requested.'}\n"
|
| 1243 |
+
]
|
| 1244 |
+
}
|
| 1245 |
+
],
|
| 1246 |
+
"source": [
|
| 1247 |
+
"# Import requests library\n",
|
| 1248 |
+
"import requests\n",
|
| 1249 |
+
"\n",
|
| 1250 |
+
"# Define the OCR API endpoint\n",
|
| 1251 |
+
"url = \"https://api.ocr.space/parse/image\"\n",
|
| 1252 |
+
"\n",
|
| 1253 |
+
"# Define the API key and the language\n",
|
| 1254 |
+
"api_key = \"K88232854988957\"\n",
|
| 1255 |
+
"language = \"eng\"\n",
|
| 1256 |
+
"\n",
|
| 1257 |
+
"# Define the image file path\n",
|
| 1258 |
+
"image_file = r\"C:\\Users\\Ayoo\\Desktop\\webapp\\predictions\\imgs\\20230508_122035.jpg\"\n",
|
| 1259 |
+
"\n",
|
| 1260 |
+
"# Open the image file as binary\n",
|
| 1261 |
+
"with open(image_file, \"rb\") as f:\n",
|
| 1262 |
+
" # Define the payload for the API request\n",
|
| 1263 |
+
" payload = {\n",
|
| 1264 |
+
" \"apikey\": api_key,\n",
|
| 1265 |
+
" \"language\": language,\n",
|
| 1266 |
+
" \"isOverlayRequired\": True, # Optional, set to True if you want the coordinates of the words\n",
|
| 1267 |
+
" \"OCREngine\": 2 # OCR Engine 2 for Layoutlmv3\n",
|
| 1268 |
+
" }\n",
|
| 1269 |
+
" # Define the file parameter for the API request\n",
|
| 1270 |
+
" file = {\n",
|
| 1271 |
+
" \"file\": f\n",
|
| 1272 |
+
" }\n",
|
| 1273 |
+
" # Send the POST request to the OCR API\n",
|
| 1274 |
+
" response = requests.post(url, data=payload, files=file)\n",
|
| 1275 |
+
"\n",
|
| 1276 |
+
"# Check the status code of the response\n",
|
| 1277 |
+
"if response.status_code == 200:\n",
|
| 1278 |
+
" # Parse the JSON response\n",
|
| 1279 |
+
" result = response.json()\n",
|
| 1280 |
+
" # Print the parsed text\n",
|
| 1281 |
+
" print(result)\n",
|
| 1282 |
+
"else:\n",
|
| 1283 |
+
" # Print the error message\n",
|
| 1284 |
+
" print(\"Error: \" + response.text)\n"
|
| 1285 |
+
]
|
| 1286 |
+
},
|
| 1287 |
+
{
|
| 1288 |
+
"cell_type": "code",
|
| 1289 |
+
"execution_count": 13,
|
| 1290 |
+
"metadata": {},
|
| 1291 |
+
"outputs": [
|
| 1292 |
+
{
|
| 1293 |
+
"ename": "TypeError",
|
| 1294 |
+
"evalue": "Object of type Response is not JSON serializable",
|
| 1295 |
+
"output_type": "error",
|
| 1296 |
+
"traceback": [
|
| 1297 |
+
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
|
| 1298 |
+
"\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
|
| 1299 |
+
"Cell \u001b[1;32mIn[13], line 4\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mjson\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;66;03m# Assuming 'response' is the JSON response from the OCR API\u001b[39;00m\n\u001b[1;32m----> 4\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mjson\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdumps\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mindent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m4\u001b[39;49m\u001b[43m)\u001b[49m)\n",
|
| 1300 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\__init__.py:238\u001b[0m, in \u001b[0;36mdumps\u001b[1;34m(obj, skipkeys, ensure_ascii, check_circular, allow_nan, cls, indent, separators, default, sort_keys, **kw)\u001b[0m\n\u001b[0;32m 232\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 233\u001b[0m \u001b[38;5;28mcls\u001b[39m \u001b[38;5;241m=\u001b[39m JSONEncoder\n\u001b[0;32m 234\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mcls\u001b[39;49m\u001b[43m(\u001b[49m\n\u001b[0;32m 235\u001b[0m \u001b[43m \u001b[49m\u001b[43mskipkeys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mskipkeys\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mensure_ascii\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mensure_ascii\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 236\u001b[0m \u001b[43m \u001b[49m\u001b[43mcheck_circular\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcheck_circular\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mallow_nan\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mallow_nan\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mindent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindent\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 237\u001b[0m \u001b[43m \u001b[49m\u001b[43mseparators\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mseparators\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdefault\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdefault\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msort_keys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msort_keys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m--> 238\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkw\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mencode\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n",
|
| 1301 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\encoder.py:202\u001b[0m, in \u001b[0;36mJSONEncoder.encode\u001b[1;34m(self, o)\u001b[0m\n\u001b[0;32m 200\u001b[0m chunks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39miterencode(o, _one_shot\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m 201\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(chunks, (\u001b[38;5;28mlist\u001b[39m, \u001b[38;5;28mtuple\u001b[39m)):\n\u001b[1;32m--> 202\u001b[0m chunks \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(chunks)\n\u001b[0;32m 203\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(chunks)\n",
|
| 1302 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\encoder.py:439\u001b[0m, in \u001b[0;36m_make_iterencode.<locals>._iterencode\u001b[1;34m(o, _current_indent_level)\u001b[0m\n\u001b[0;32m 437\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCircular reference detected\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 438\u001b[0m markers[markerid] \u001b[38;5;241m=\u001b[39m o\n\u001b[1;32m--> 439\u001b[0m o \u001b[38;5;241m=\u001b[39m \u001b[43m_default\u001b[49m\u001b[43m(\u001b[49m\u001b[43mo\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 440\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m _iterencode(o, _current_indent_level)\n\u001b[0;32m 441\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m markers \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
|
| 1303 |
+
"File \u001b[1;32mc:\\Users\\Ayoo\\anaconda3\\envs\\mlenv\\Lib\\json\\encoder.py:180\u001b[0m, in \u001b[0;36mJSONEncoder.default\u001b[1;34m(self, o)\u001b[0m\n\u001b[0;32m 161\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdefault\u001b[39m(\u001b[38;5;28mself\u001b[39m, o):\n\u001b[0;32m 162\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"Implement this method in a subclass such that it returns\u001b[39;00m\n\u001b[0;32m 163\u001b[0m \u001b[38;5;124;03m a serializable object for ``o``, or calls the base implementation\u001b[39;00m\n\u001b[0;32m 164\u001b[0m \u001b[38;5;124;03m (to raise a ``TypeError``).\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 178\u001b[0m \n\u001b[0;32m 179\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 180\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mObject of type \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mo\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__class__\u001b[39m\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m 181\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mis not JSON serializable\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
|
| 1304 |
+
"\u001b[1;31mTypeError\u001b[0m: Object of type Response is not JSON serializable"
|
| 1305 |
+
]
|
| 1306 |
+
}
|
| 1307 |
+
],
|
| 1308 |
+
"source": [
|
| 1309 |
+
"import json\n",
|
| 1310 |
+
"\n",
|
| 1311 |
+
"# Assuming 'response' is the JSON response from the OCR API\n",
|
| 1312 |
+
"print(json.dumps(response, indent=4))\n"
|
| 1313 |
+
]
|
| 1314 |
+
}
|
| 1315 |
+
],
|
| 1316 |
+
"metadata": {
|
| 1317 |
+
"kernelspec": {
|
| 1318 |
+
"display_name": "mlenv",
|
| 1319 |
+
"language": "python",
|
| 1320 |
+
"name": "python3"
|
| 1321 |
+
},
|
| 1322 |
+
"language_info": {
|
| 1323 |
+
"codemirror_mode": {
|
| 1324 |
+
"name": "ipython",
|
| 1325 |
+
"version": 3
|
| 1326 |
+
},
|
| 1327 |
+
"file_extension": ".py",
|
| 1328 |
+
"mimetype": "text/x-python",
|
| 1329 |
+
"name": "python",
|
| 1330 |
+
"nbconvert_exporter": "python",
|
| 1331 |
+
"pygments_lexer": "ipython3",
|
| 1332 |
+
"version": "3.11.5"
|
| 1333 |
+
}
|
| 1334 |
+
},
|
| 1335 |
+
"nbformat": 4,
|
| 1336 |
+
"nbformat_minor": 2
|
| 1337 |
+
}
|
inferenced/csv_files/Output_0.csv
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
RECEIPTNUMBER,MERCHANTNAME,MERCHANTADDRESS,TRANSACTIONDATE,TRANSACTIONTIME,ITEMS,PRICE,TOTAL,VATTAX
|
| 2 |
+
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,NESTEALEMICET500ML,35.000,76.00,8.14
|
| 3 |
+
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,ArlaGStrwbryT200ml,41.000,76.00,8.14
|
inferenced/output.csv
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
RECEIPTNUMBER,MERCHANTNAME,MERCHANTADDRESS,TRANSACTIONDATE,TRANSACTIONTIME,ITEMS,PRICE,TOTAL,VATTAX
|
| 2 |
+
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,NESTEALEMICET500ML,35.000,76.00,8.14
|
| 3 |
+
# 1457229,7 - ELEVEN �,"Poblacion , Leon , Iloilo ,",05 / 01 / 2023 ( Mon ),16 : 54 : 23,ArlaGStrwbryT200ml,41.000,76.00,8.14
|
log/error_output.log
CHANGED
|
@@ -326,3 +326,322 @@ Traceback (most recent call last):
|
|
| 326 |
TypeError: The view function for 'create_csv' did not return a valid response. The function either returned None or ended without a return statement.
|
| 327 |
2024-02-22 17:02:51,766 INFO werkzeug 127.0.0.1 - - [22/Feb/2024 17:02:51] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 328 |
2024-02-22 17:02:52,348 INFO werkzeug 127.0.0.1 - - [22/Feb/2024 17:02:52] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 326 |
TypeError: The view function for 'create_csv' did not return a valid response. The function either returned None or ended without a return statement.
|
| 327 |
2024-02-22 17:02:51,766 INFO werkzeug 127.0.0.1 - - [22/Feb/2024 17:02:51] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 328 |
2024-02-22 17:02:52,348 INFO werkzeug 127.0.0.1 - - [22/Feb/2024 17:02:52] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 329 |
+
2024-05-14 23:17:20,132 ERROR app 'NoneType' object is not iterable
|
| 330 |
+
2024-05-14 23:17:20,132 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:20] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 331 |
+
2024-05-14 23:17:20,211 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:20] "[35m[1mGET /create_csv HTTP/1.1[0m" 500 -
|
| 332 |
+
2024-05-14 23:17:21,304 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:21] "[33mGET /static/temp/img_display/sample_coop.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 333 |
+
2024-05-14 23:17:21,304 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:21] "[33mGET /get_data HTTP/1.1[0m" 404 -
|
| 334 |
+
2024-05-14 23:17:21,320 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:21] "[33mGET /static/temp/img_display/sample_711.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 335 |
+
2024-05-14 23:17:21,320 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:21] "[33mGET /static/temp/img_display/sample_grace.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 336 |
+
2024-05-14 23:17:21,335 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:21] "[33mGET /static/temp/img_display/sample1_711.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 337 |
+
2024-05-14 23:17:21,367 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:17:21] "[33mGET /static/temp/img_display/sample1_grace.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 338 |
+
2024-05-14 23:19:04,201 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:04] "[33mGET /static/temp/img_display/sample1_grace.jpg_inference.jpg HTTP/1.1[0m" 404 -
|
| 339 |
+
2024-05-14 23:19:06,397 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "GET / HTTP/1.1" 200 -
|
| 340 |
+
2024-05-14 23:19:06,524 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 341 |
+
2024-05-14 23:19:06,659 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 342 |
+
2024-05-14 23:19:06,712 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 343 |
+
2024-05-14 23:19:06,719 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 344 |
+
2024-05-14 23:19:06,723 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 345 |
+
2024-05-14 23:19:06,788 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 346 |
+
2024-05-14 23:19:06,825 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 347 |
+
2024-05-14 23:19:06,869 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 348 |
+
2024-05-14 23:19:06,875 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 349 |
+
2024-05-14 23:19:06,900 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 350 |
+
2024-05-14 23:19:06,950 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 351 |
+
2024-05-14 23:19:06,975 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 352 |
+
2024-05-14 23:19:06,987 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:06] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 353 |
+
2024-05-14 23:19:07,025 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:07] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 354 |
+
2024-05-14 23:19:07,033 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:07] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 355 |
+
2024-05-14 23:19:07,074 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:07] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 356 |
+
2024-05-14 23:19:07,097 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:07] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 357 |
+
2024-05-14 23:19:07,107 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:07] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 358 |
+
2024-05-14 23:19:07,139 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:07] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 359 |
+
2024-05-14 23:19:07,946 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:07] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 360 |
+
2024-05-14 23:19:27,049 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:27] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 361 |
+
2024-05-14 23:19:35,432 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "GET /predict/%5B'sample_grace.jpg',%20'sample1_711.jpg',%20'sample1_grace.jpg'%5D HTTP/1.1" 200 -
|
| 362 |
+
2024-05-14 23:19:35,609 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 363 |
+
2024-05-14 23:19:35,623 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 364 |
+
2024-05-14 23:19:35,641 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 365 |
+
2024-05-14 23:19:35,751 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 366 |
+
2024-05-14 23:19:35,765 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "GET /static/temp/img_display/sample1_711.jpg HTTP/1.1" 200 -
|
| 367 |
+
2024-05-14 23:19:35,780 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "GET /static/temp/img_display/sample_grace.jpg HTTP/1.1" 200 -
|
| 368 |
+
2024-05-14 23:19:35,989 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:35] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 369 |
+
2024-05-14 23:19:36,035 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 370 |
+
2024-05-14 23:19:36,089 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 371 |
+
2024-05-14 23:19:36,101 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "GET /static/temp/img_display/sample1_grace.jpg HTTP/1.1" 200 -
|
| 372 |
+
2024-05-14 23:19:36,191 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 373 |
+
2024-05-14 23:19:36,201 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 374 |
+
2024-05-14 23:19:36,230 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 375 |
+
2024-05-14 23:19:36,264 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 376 |
+
2024-05-14 23:19:36,299 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 377 |
+
2024-05-14 23:19:36,340 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 378 |
+
2024-05-14 23:19:36,350 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 379 |
+
2024-05-14 23:19:36,386 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 380 |
+
2024-05-14 23:19:36,398 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 381 |
+
2024-05-14 23:19:36,451 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 382 |
+
2024-05-14 23:19:36,538 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:36] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 383 |
+
2024-05-14 23:19:37,526 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:19:37] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 384 |
+
2024-05-14 23:21:37,313 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:21:37] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 385 |
+
2024-05-14 23:21:37,413 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:21:37] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 386 |
+
2024-05-14 23:21:38,013 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:21:38] "GET /get_data HTTP/1.1" 200 -
|
| 387 |
+
2024-05-14 23:21:38,068 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:21:38] "GET /static/temp/img_display/sample_grace.jpg_inference.jpg HTTP/1.1" 200 -
|
| 388 |
+
2024-05-14 23:21:38,119 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:21:38] "GET /static/temp/img_display/sample1_711.jpg_inference.jpg HTTP/1.1" 200 -
|
| 389 |
+
2024-05-14 23:21:38,197 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:21:38] "GET /static/temp/img_display/sample1_grace.jpg_inference.jpg HTTP/1.1" 200 -
|
| 390 |
+
2024-05-14 23:28:11,969 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:11] "GET / HTTP/1.1" 200 -
|
| 391 |
+
2024-05-14 23:28:12,118 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 392 |
+
2024-05-14 23:28:12,143 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 393 |
+
2024-05-14 23:28:12,211 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 394 |
+
2024-05-14 23:28:12,277 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 395 |
+
2024-05-14 23:28:12,338 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 396 |
+
2024-05-14 23:28:12,341 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 397 |
+
2024-05-14 23:28:12,488 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 398 |
+
2024-05-14 23:28:12,500 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 399 |
+
2024-05-14 23:28:12,526 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 400 |
+
2024-05-14 23:28:12,541 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 401 |
+
2024-05-14 23:28:12,583 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 402 |
+
2024-05-14 23:28:12,589 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 403 |
+
2024-05-14 23:28:12,698 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 404 |
+
2024-05-14 23:28:12,738 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 405 |
+
2024-05-14 23:28:12,741 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 406 |
+
2024-05-14 23:28:12,763 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 407 |
+
2024-05-14 23:28:12,773 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 408 |
+
2024-05-14 23:28:12,786 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 409 |
+
2024-05-14 23:28:12,834 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:12] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 410 |
+
2024-05-14 23:28:14,617 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:28:14] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 411 |
+
2024-05-14 23:29:07,771 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:07] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 412 |
+
2024-05-14 23:29:11,451 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:11] "GET /predict/%5B'Screenshot_22.png'%5D HTTP/1.1" 200 -
|
| 413 |
+
2024-05-14 23:29:11,635 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:11] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 414 |
+
2024-05-14 23:29:11,661 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:11] "GET /static/temp/img_display/Screenshot_22.png HTTP/1.1" 200 -
|
| 415 |
+
2024-05-14 23:29:11,764 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:11] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 416 |
+
2024-05-14 23:29:11,784 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:11] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 417 |
+
2024-05-14 23:29:11,797 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:11] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 418 |
+
2024-05-14 23:29:11,947 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:11] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 419 |
+
2024-05-14 23:29:12,120 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 420 |
+
2024-05-14 23:29:12,175 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 421 |
+
2024-05-14 23:29:12,283 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 422 |
+
2024-05-14 23:29:12,285 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 423 |
+
2024-05-14 23:29:12,307 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 424 |
+
2024-05-14 23:29:12,344 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 425 |
+
2024-05-14 23:29:12,391 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 426 |
+
2024-05-14 23:29:12,459 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 427 |
+
2024-05-14 23:29:12,503 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 428 |
+
2024-05-14 23:29:12,538 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 429 |
+
2024-05-14 23:29:12,547 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 430 |
+
2024-05-14 23:29:12,563 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 431 |
+
2024-05-14 23:29:12,595 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:12] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 432 |
+
2024-05-14 23:29:13,408 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:13] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 433 |
+
2024-05-14 23:29:16,302 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "GET / HTTP/1.1" 200 -
|
| 434 |
+
2024-05-14 23:29:16,446 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 435 |
+
2024-05-14 23:29:16,521 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 436 |
+
2024-05-14 23:29:16,540 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 437 |
+
2024-05-14 23:29:16,636 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 438 |
+
2024-05-14 23:29:16,678 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 439 |
+
2024-05-14 23:29:16,693 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 440 |
+
2024-05-14 23:29:16,727 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 441 |
+
2024-05-14 23:29:16,761 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 442 |
+
2024-05-14 23:29:16,794 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 443 |
+
2024-05-14 23:29:16,844 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 444 |
+
2024-05-14 23:29:16,971 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 445 |
+
2024-05-14 23:29:16,975 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:16] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 446 |
+
2024-05-14 23:29:17,096 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 447 |
+
2024-05-14 23:29:17,146 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 448 |
+
2024-05-14 23:29:17,164 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 449 |
+
2024-05-14 23:29:17,176 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 450 |
+
2024-05-14 23:29:17,238 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 451 |
+
2024-05-14 23:29:17,242 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 452 |
+
2024-05-14 23:29:17,250 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 453 |
+
2024-05-14 23:29:17,920 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:17] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 454 |
+
2024-05-14 23:29:26,116 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:26] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 455 |
+
2024-05-14 23:29:30,688 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:30] "GET /predict/%5B'Screenshot_24.png'%5D HTTP/1.1" 200 -
|
| 456 |
+
2024-05-14 23:29:30,889 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:30] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 457 |
+
2024-05-14 23:29:30,926 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:30] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 458 |
+
2024-05-14 23:29:30,958 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:30] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 459 |
+
2024-05-14 23:29:31,008 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "GET /static/temp/img_display/Screenshot_24.png HTTP/1.1" 200 -
|
| 460 |
+
2024-05-14 23:29:31,106 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 461 |
+
2024-05-14 23:29:31,125 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 462 |
+
2024-05-14 23:29:31,318 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 463 |
+
2024-05-14 23:29:31,332 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 464 |
+
2024-05-14 23:29:31,398 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 465 |
+
2024-05-14 23:29:31,459 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 466 |
+
2024-05-14 23:29:31,487 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 467 |
+
2024-05-14 23:29:31,526 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 468 |
+
2024-05-14 23:29:31,606 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 469 |
+
2024-05-14 23:29:31,643 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 470 |
+
2024-05-14 23:29:31,688 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 471 |
+
2024-05-14 23:29:31,729 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 472 |
+
2024-05-14 23:29:31,760 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 473 |
+
2024-05-14 23:29:31,795 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 474 |
+
2024-05-14 23:29:31,813 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:31] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 475 |
+
2024-05-14 23:29:32,091 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:32] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 476 |
+
2024-05-14 23:29:33,924 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:33] "GET / HTTP/1.1" 200 -
|
| 477 |
+
2024-05-14 23:29:34,375 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:34] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 478 |
+
2024-05-14 23:29:34,551 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:34] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 479 |
+
2024-05-14 23:29:34,606 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:34] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 480 |
+
2024-05-14 23:29:34,641 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:34] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 481 |
+
2024-05-14 23:29:34,873 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:34] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 482 |
+
2024-05-14 23:29:34,994 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:34] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 483 |
+
2024-05-14 23:29:35,156 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 484 |
+
2024-05-14 23:29:35,181 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 485 |
+
2024-05-14 23:29:35,209 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 486 |
+
2024-05-14 23:29:35,243 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 487 |
+
2024-05-14 23:29:35,293 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 488 |
+
2024-05-14 23:29:35,398 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 489 |
+
2024-05-14 23:29:35,424 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 490 |
+
2024-05-14 23:29:35,457 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 491 |
+
2024-05-14 23:29:35,537 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 492 |
+
2024-05-14 23:29:35,546 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 493 |
+
2024-05-14 23:29:35,554 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 494 |
+
2024-05-14 23:29:35,579 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 495 |
+
2024-05-14 23:29:35,610 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:35] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 496 |
+
2024-05-14 23:29:36,187 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:29:36] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 497 |
+
2024-05-14 23:30:51,152 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:51] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 498 |
+
2024-05-14 23:30:58,321 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "GET /predict/%5B'images.png',%20'sample_711.jpg',%20'sample_coop.jpg'%5D HTTP/1.1" 200 -
|
| 499 |
+
2024-05-14 23:30:58,535 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 500 |
+
2024-05-14 23:30:58,535 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 501 |
+
2024-05-14 23:30:58,553 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "GET /static/temp/img_display/images.png HTTP/1.1" 200 -
|
| 502 |
+
2024-05-14 23:30:58,586 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 503 |
+
2024-05-14 23:30:58,628 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 504 |
+
2024-05-14 23:30:58,745 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "GET /static/temp/img_display/sample_711.jpg HTTP/1.1" 200 -
|
| 505 |
+
2024-05-14 23:30:58,887 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "GET /static/temp/img_display/sample_coop.jpg HTTP/1.1" 200 -
|
| 506 |
+
2024-05-14 23:30:58,968 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 507 |
+
2024-05-14 23:30:58,974 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 508 |
+
2024-05-14 23:30:58,987 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 509 |
+
2024-05-14 23:30:58,996 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:58] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 510 |
+
2024-05-14 23:30:59,143 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 511 |
+
2024-05-14 23:30:59,149 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 512 |
+
2024-05-14 23:30:59,150 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 513 |
+
2024-05-14 23:30:59,156 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 514 |
+
2024-05-14 23:30:59,181 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 515 |
+
2024-05-14 23:30:59,295 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 516 |
+
2024-05-14 23:30:59,309 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 517 |
+
2024-05-14 23:30:59,317 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 518 |
+
2024-05-14 23:30:59,393 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 519 |
+
2024-05-14 23:30:59,403 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:30:59] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 520 |
+
2024-05-14 23:31:00,089 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:00] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 521 |
+
2024-05-14 23:31:12,060 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "GET / HTTP/1.1" 200 -
|
| 522 |
+
2024-05-14 23:31:12,238 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 523 |
+
2024-05-14 23:31:12,310 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 524 |
+
2024-05-14 23:31:12,324 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 525 |
+
2024-05-14 23:31:12,342 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 526 |
+
2024-05-14 23:31:12,397 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 527 |
+
2024-05-14 23:31:12,408 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 528 |
+
2024-05-14 23:31:12,469 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 529 |
+
2024-05-14 23:31:12,514 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 530 |
+
2024-05-14 23:31:12,529 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 531 |
+
2024-05-14 23:31:12,558 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 532 |
+
2024-05-14 23:31:12,629 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 533 |
+
2024-05-14 23:31:12,631 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 534 |
+
2024-05-14 23:31:12,641 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 535 |
+
2024-05-14 23:31:12,669 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 536 |
+
2024-05-14 23:31:12,721 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 537 |
+
2024-05-14 23:31:12,748 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 538 |
+
2024-05-14 23:31:12,795 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 539 |
+
2024-05-14 23:31:12,803 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 540 |
+
2024-05-14 23:31:12,810 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:12] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 541 |
+
2024-05-14 23:31:13,327 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:13] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 542 |
+
2024-05-14 23:31:53,017 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:53] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 543 |
+
2024-05-14 23:31:53,356 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:53] "[35m[1mGET /predict/%5B%5D HTTP/1.1[0m" 500 -
|
| 544 |
+
2024-05-14 23:31:55,576 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:55] "GET /predict/%5B%5D?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 -
|
| 545 |
+
2024-05-14 23:31:55,580 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:55] "GET /predict/%5B%5D?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 -
|
| 546 |
+
2024-05-14 23:31:55,844 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:55] "GET /predict/%5B%5D?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 -
|
| 547 |
+
2024-05-14 23:31:56,026 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:31:56] "[36mGET /predict/%5B%5D?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1[0m" 304 -
|
| 548 |
+
2024-05-14 23:32:36,479 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:36] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 549 |
+
2024-05-14 23:32:39,383 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:39] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 550 |
+
2024-05-14 23:32:52,950 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:52] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 551 |
+
2024-05-14 23:32:55,357 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "GET /predict/%5B'images.png'%5D HTTP/1.1" 200 -
|
| 552 |
+
2024-05-14 23:32:55,513 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 553 |
+
2024-05-14 23:32:55,585 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 554 |
+
2024-05-14 23:32:55,654 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 555 |
+
2024-05-14 23:32:55,711 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 556 |
+
2024-05-14 23:32:55,712 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 557 |
+
2024-05-14 23:32:55,772 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "GET /static/temp/img_display/images.png HTTP/1.1" 200 -
|
| 558 |
+
2024-05-14 23:32:55,991 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:55] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 559 |
+
2024-05-14 23:32:56,106 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 560 |
+
2024-05-14 23:32:56,129 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 561 |
+
2024-05-14 23:32:56,177 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 562 |
+
2024-05-14 23:32:56,178 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 563 |
+
2024-05-14 23:32:56,218 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 564 |
+
2024-05-14 23:32:56,274 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 565 |
+
2024-05-14 23:32:56,327 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 566 |
+
2024-05-14 23:32:56,340 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 567 |
+
2024-05-14 23:32:56,371 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 568 |
+
2024-05-14 23:32:56,397 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 569 |
+
2024-05-14 23:32:56,419 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 570 |
+
2024-05-14 23:32:56,443 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:56] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 571 |
+
2024-05-14 23:32:57,068 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:32:57] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 572 |
+
2024-05-14 23:33:00,355 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:00] "GET / HTTP/1.1" 200 -
|
| 573 |
+
2024-05-14 23:33:00,945 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:00] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 574 |
+
2024-05-14 23:33:00,994 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:00] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 575 |
+
2024-05-14 23:33:01,048 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 576 |
+
2024-05-14 23:33:01,115 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 577 |
+
2024-05-14 23:33:01,165 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 578 |
+
2024-05-14 23:33:01,257 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 579 |
+
2024-05-14 23:33:01,290 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 580 |
+
2024-05-14 23:33:01,391 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 581 |
+
2024-05-14 23:33:01,429 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 582 |
+
2024-05-14 23:33:01,487 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 583 |
+
2024-05-14 23:33:01,540 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 584 |
+
2024-05-14 23:33:01,603 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 585 |
+
2024-05-14 23:33:01,654 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 586 |
+
2024-05-14 23:33:01,691 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 587 |
+
2024-05-14 23:33:01,726 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 588 |
+
2024-05-14 23:33:01,763 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 589 |
+
2024-05-14 23:33:01,804 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 590 |
+
2024-05-14 23:33:01,840 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 591 |
+
2024-05-14 23:33:01,873 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:01] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 592 |
+
2024-05-14 23:33:02,194 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:02] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 593 |
+
2024-05-14 23:33:13,871 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:13] "[32mPOST /upload HTTP/1.1[0m" 302 -
|
| 594 |
+
2024-05-14 23:33:23,234 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "GET /predict/%5B'images.png',%20'sample_711.jpg',%20'sample_coop.jpg'%5D HTTP/1.1" 200 -
|
| 595 |
+
2024-05-14 23:33:23,428 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "[33mGET /predict/css/animate.css HTTP/1.1[0m" 404 -
|
| 596 |
+
2024-05-14 23:33:23,441 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 597 |
+
2024-05-14 23:33:23,452 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 598 |
+
2024-05-14 23:33:23,558 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 599 |
+
2024-05-14 23:33:23,708 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "GET /static/temp/img_display/images.png HTTP/1.1" 200 -
|
| 600 |
+
2024-05-14 23:33:23,717 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "GET /static/temp/img_display/sample_711.jpg HTTP/1.1" 200 -
|
| 601 |
+
2024-05-14 23:33:23,933 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 602 |
+
2024-05-14 23:33:23,958 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 603 |
+
2024-05-14 23:33:23,998 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:23] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 604 |
+
2024-05-14 23:33:24,057 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/images/avatar.gif HTTP/1.1[0m" 304 -
|
| 605 |
+
2024-05-14 23:33:24,116 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "GET /static/temp/img_display/sample_coop.jpg HTTP/1.1" 200 -
|
| 606 |
+
2024-05-14 23:33:24,139 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 607 |
+
2024-05-14 23:33:24,213 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 608 |
+
2024-05-14 23:33:24,244 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 609 |
+
2024-05-14 23:33:24,362 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 610 |
+
2024-05-14 23:33:24,422 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 611 |
+
2024-05-14 23:33:24,459 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 304 -
|
| 612 |
+
2024-05-14 23:33:24,521 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 613 |
+
2024-05-14 23:33:24,537 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 614 |
+
2024-05-14 23:33:24,557 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 615 |
+
2024-05-14 23:33:24,580 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:24] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 616 |
+
2024-05-14 23:33:25,667 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:33:25] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 617 |
+
2024-05-14 23:34:47,610 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:34:47] "[32mGET /run_inference HTTP/1.1[0m" 302 -
|
| 618 |
+
2024-05-14 23:34:47,749 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:34:47] "[35m[1mGET /create_csv HTTP/1.1[0m" 204 -
|
| 619 |
+
2024-05-14 23:34:48,414 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:34:48] "GET /get_data HTTP/1.1" 200 -
|
| 620 |
+
2024-05-14 23:34:48,429 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:34:48] "[33mGET /static/temp/img_display/images.png_inference.jpg HTTP/1.1[0m" 404 -
|
| 621 |
+
2024-05-14 23:34:48,432 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:34:48] "GET /static/temp/img_display/sample_711.jpg_inference.jpg HTTP/1.1" 200 -
|
| 622 |
+
2024-05-14 23:34:48,437 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:34:48] "GET /static/temp/img_display/sample_coop.jpg_inference.jpg HTTP/1.1" 200 -
|
| 623 |
+
2024-05-14 23:35:56,707 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:35:56] "[33mGET /static/temp/img_display/images.png_inference.jpg HTTP/1.1[0m" 404 -
|
| 624 |
+
2024-05-14 23:35:57,943 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:35:57] "[33mGET /static/temp/img_display/images.png_inference.jpg HTTP/1.1[0m" 404 -
|
| 625 |
+
2024-05-14 23:36:03,801 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:03] "[33mGET /static/temp/img_display/images.png_inference.jpg HTTP/1.1[0m" 404 -
|
| 626 |
+
2024-05-14 23:36:05,354 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "GET / HTTP/1.1" 200 -
|
| 627 |
+
2024-05-14 23:36:05,498 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[36mGET /static/css/style.css HTTP/1.1[0m" 304 -
|
| 628 |
+
2024-05-14 23:36:05,644 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[33mGET /styles.css HTTP/1.1[0m" 404 -
|
| 629 |
+
2024-05-14 23:36:05,712 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[36mGET /static/css/color.css HTTP/1.1[0m" 304 -
|
| 630 |
+
2024-05-14 23:36:05,761 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[36mGET /static/css/font-awesome.min.css HTTP/1.1[0m" 304 -
|
| 631 |
+
2024-05-14 23:36:05,797 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[36mGET /static/css/animate.css HTTP/1.1[0m" 304 -
|
| 632 |
+
2024-05-14 23:36:05,907 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[36mGET /static/images/logo.png HTTP/1.1[0m" 304 -
|
| 633 |
+
2024-05-14 23:36:05,952 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[36mGET /static/images/uplogo.gif HTTP/1.1[0m" 304 -
|
| 634 |
+
2024-05-14 23:36:05,975 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:05] "[36mGET /static/js/jquery.1.8.3.min.js HTTP/1.1[0m" 304 -
|
| 635 |
+
2024-05-14 23:36:06,002 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/wow.min.js HTTP/1.1[0m" 304 -
|
| 636 |
+
2024-05-14 23:36:06,138 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/featherlight.min.js HTTP/1.1[0m" 304 -
|
| 637 |
+
2024-05-14 23:36:06,196 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/featherlight.gallery.min.js HTTP/1.1[0m" 304 -
|
| 638 |
+
2024-05-14 23:36:06,242 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/jquery.easing.min.js HTTP/1.1[0m" 304 -
|
| 639 |
+
2024-05-14 23:36:06,249 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[33mGET /static/static/js/jquery.stickyNavbar.min.js HTTP/1.1[0m" 404 -
|
| 640 |
+
2024-05-14 23:36:06,285 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/jquery.enllax.min.js HTTP/1.1[0m" 304 -
|
| 641 |
+
2024-05-14 23:36:06,302 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/jquery.scrollUp.min.js HTTP/1.1[0m" 304 -
|
| 642 |
+
2024-05-14 23:36:06,356 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/images-loaded.min.js HTTP/1.1[0m" 304 -
|
| 643 |
+
2024-05-14 23:36:06,358 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/jquery.waypoints.min.js HTTP/1.1[0m" 304 -
|
| 644 |
+
2024-05-14 23:36:06,430 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/lightbox.min.js HTTP/1.1[0m" 304 -
|
| 645 |
+
2024-05-14 23:36:06,565 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:06] "[36mGET /static/js/site.js HTTP/1.1[0m" 304 -
|
| 646 |
+
2024-05-14 23:36:08,126 INFO werkzeug 127.0.0.1 - - [14/May/2024 23:36:08] "[36mGET /static/images/favicon.ico HTTP/1.1[0m" 304 -
|
| 647 |
+
2024-05-14 23:36:39,815 INFO werkzeug * Detected change in 'C:\\Users\\Ayoo\\Desktop\\bewwebapp\\app.py', reloading
|
sample_711.jpg
ADDED
|
templates/extractor.html
CHANGED
|
@@ -24,19 +24,20 @@
|
|
| 24 |
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800' rel='stylesheet' type='text/css'>
|
| 25 |
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 26 |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 27 |
-
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600&display=swap"
|
|
|
|
| 28 |
<title>ExCeipt | Extractor</title>
|
| 29 |
<style>
|
| 30 |
body {
|
| 31 |
background-color: #ddd;
|
| 32 |
}
|
| 33 |
-
|
| 34 |
.containerz {
|
| 35 |
display: flex;
|
| 36 |
width: 100vw;
|
| 37 |
height: 100vh;
|
| 38 |
}
|
| 39 |
-
|
| 40 |
.left-column {
|
| 41 |
padding-top: 100px;
|
| 42 |
flex: 2;
|
|
@@ -48,28 +49,39 @@
|
|
| 48 |
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 49 |
overflow-y: auto;
|
| 50 |
}
|
|
|
|
| 51 |
#canvas-container {
|
| 52 |
display: flex;
|
| 53 |
-
flex-wrap: wrap;
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
margin-top: 70px;
|
| 58 |
}
|
| 59 |
-
|
| 60 |
.image-container {
|
| 61 |
-
width: 200px;
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 66 |
-
border-radius:10px;
|
| 67 |
}
|
| 68 |
-
|
|
|
|
| 69 |
transition: all 0.3s;
|
| 70 |
transform: translateY(1.5px);
|
| 71 |
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.4);
|
| 72 |
}
|
|
|
|
| 73 |
.image-container img {
|
| 74 |
width: 100%;
|
| 75 |
height: 100%;
|
|
@@ -77,16 +89,17 @@
|
|
| 77 |
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.1);
|
| 78 |
transition: all 0.3s;
|
| 79 |
}
|
|
|
|
| 80 |
p.images-name {
|
| 81 |
text-overflow: ellipsis;
|
| 82 |
white-space: nowrap;
|
| 83 |
overflow: hidden;
|
| 84 |
font-size: 10px;
|
| 85 |
-
margin: 5px 0 0 0
|
| 86 |
text-align: center;
|
| 87 |
padding: 0;
|
| 88 |
}
|
| 89 |
-
|
| 90 |
.right-column {
|
| 91 |
flex: 2;
|
| 92 |
background-color: #ffffff;
|
|
@@ -94,7 +107,7 @@
|
|
| 94 |
overflow-y: auto;
|
| 95 |
max-height: 100vh;
|
| 96 |
}
|
| 97 |
-
|
| 98 |
.backbutton {
|
| 99 |
box-sizing: border-box;
|
| 100 |
border-radius: 10px;
|
|
@@ -112,7 +125,7 @@
|
|
| 112 |
position: fixed;
|
| 113 |
z-index: 999;
|
| 114 |
}
|
| 115 |
-
|
| 116 |
.backbutton span {
|
| 117 |
text-decoration: none;
|
| 118 |
color: black;
|
|
@@ -120,78 +133,78 @@
|
|
| 120 |
font-size: 14px;
|
| 121 |
font-weight: 300;
|
| 122 |
}
|
| 123 |
-
|
| 124 |
.backbutton:hover {
|
| 125 |
background: linear-gradient(45deg, #FF6347, #FFA07A);
|
| 126 |
transition: all .3s ease-in-out;
|
| 127 |
}
|
| 128 |
-
|
| 129 |
.backbutton:hover span {
|
| 130 |
color: white;
|
| 131 |
transition: all .3s ease-in-out;
|
| 132 |
}
|
| 133 |
-
|
| 134 |
.backbutton:hover i {
|
| 135 |
color: white;
|
| 136 |
transition: all .3s ease-in-out;
|
| 137 |
}
|
| 138 |
-
|
| 139 |
.left-column h1 {
|
| 140 |
padding-top: 45px;
|
| 141 |
}
|
| 142 |
-
|
| 143 |
#canvas-container {
|
| 144 |
position: relative;
|
| 145 |
width: 100%;
|
| 146 |
height: 100%;
|
| 147 |
}
|
| 148 |
-
|
| 149 |
#canvas {
|
| 150 |
cursor: grab;
|
| 151 |
user-select: none;
|
| 152 |
}
|
| 153 |
-
|
| 154 |
#upload-input {
|
| 155 |
margin-top: 10px;
|
| 156 |
object-position: center;
|
| 157 |
}
|
| 158 |
-
|
| 159 |
.bordered-table {
|
| 160 |
justify-content: center;
|
| 161 |
display: flex;
|
| 162 |
padding: 0px 30px;
|
| 163 |
}
|
| 164 |
-
|
| 165 |
.bordered-table tbody td.full-width {
|
| 166 |
display: flex;
|
| 167 |
flex-wrap: wrap;
|
| 168 |
align-items: center;
|
| 169 |
}
|
| 170 |
-
|
| 171 |
.bordered-table tbody td.full-width .label {
|
| 172 |
width: 100px;
|
| 173 |
text-align: right;
|
| 174 |
margin-right: 5px;
|
| 175 |
}
|
| 176 |
-
|
| 177 |
.bordered-table tbody td .full-width input {
|
| 178 |
flex-grow: 1;
|
| 179 |
}
|
| 180 |
-
|
| 181 |
.bordered-table tbody td.full-width {
|
| 182 |
display: grid;
|
| 183 |
grid-template-columns: 100px 1fr;
|
| 184 |
}
|
| 185 |
-
|
| 186 |
.bordered-table tbody td.full-width .label {
|
| 187 |
justify-self: end;
|
| 188 |
}
|
| 189 |
-
|
| 190 |
#logox {
|
| 191 |
display: flex;
|
| 192 |
justify-content: center;
|
| 193 |
}
|
| 194 |
-
|
| 195 |
#logox img {
|
| 196 |
position: relative;
|
| 197 |
object-position: center;
|
|
@@ -199,60 +212,63 @@
|
|
| 199 |
height: 25%;
|
| 200 |
padding: 10px 10px 10px 10px;
|
| 201 |
}
|
| 202 |
-
|
| 203 |
.receipt {
|
| 204 |
margin: 20px 20px;
|
| 205 |
}
|
| 206 |
-
|
| 207 |
.receipt1 {
|
| 208 |
margin: 20px 20px;
|
| 209 |
font: 14px;
|
| 210 |
}
|
| 211 |
-
|
| 212 |
.receipt1 table {
|
| 213 |
border-radius: 10px;
|
| 214 |
}
|
| 215 |
-
|
| 216 |
.receipt h1 {
|
| 217 |
text-align: center;
|
| 218 |
}
|
| 219 |
-
|
| 220 |
.receipt .details {
|
| 221 |
margin: 0px 0px 0px 15px;
|
| 222 |
}
|
| 223 |
-
|
| 224 |
.receipt table {
|
| 225 |
width: 100%;
|
| 226 |
border-collapse: collapse;
|
| 227 |
margin-bottom: 20px;
|
| 228 |
}
|
|
|
|
| 229 |
.receipt table {
|
| 230 |
border-radius: 10px;
|
| 231 |
}
|
|
|
|
| 232 |
.receipt table th,
|
| 233 |
.receipt table td {
|
| 234 |
border: 1px solid #ccc;
|
| 235 |
padding: 5px;
|
| 236 |
}
|
| 237 |
-
|
| 238 |
.receipt table th {
|
| 239 |
background-color: #f0f0f0;
|
| 240 |
text-align: left;
|
| 241 |
-
font-size:16px;
|
| 242 |
-
font-weight:500;
|
| 243 |
-
text-align:center;
|
| 244 |
}
|
| 245 |
-
|
| 246 |
.receipt table td {
|
| 247 |
-
text-align:center;
|
| 248 |
font-size: 14px;
|
| 249 |
-
max-width: 150px;
|
|
|
|
| 250 |
overflow: hidden;
|
| 251 |
text-overflow: ellipsis;
|
| 252 |
white-space: nowrap;
|
| 253 |
-
padding: 0 20px
|
| 254 |
}
|
| 255 |
-
|
| 256 |
#dataTable {
|
| 257 |
border-radius: 10px;
|
| 258 |
border-collapse: collapse;
|
|
@@ -262,22 +278,22 @@
|
|
| 262 |
table-layout: fixed;
|
| 263 |
overflow-x: auto;
|
| 264 |
}
|
| 265 |
-
|
| 266 |
#receiptdiv {
|
| 267 |
display: none;
|
| 268 |
}
|
| 269 |
-
|
| 270 |
#dataTable th,
|
| 271 |
#dataTable td {
|
| 272 |
font-size: 12px;
|
| 273 |
text-align: center;
|
| 274 |
padding: 3px;
|
| 275 |
}
|
| 276 |
-
|
| 277 |
#downloadbutton {
|
| 278 |
display: none;
|
| 279 |
}
|
| 280 |
-
|
| 281 |
#loadingSpinner {
|
| 282 |
position: relative;
|
| 283 |
top: 20%;
|
|
@@ -292,26 +308,27 @@
|
|
| 292 |
display: none;
|
| 293 |
/* Hide initially */
|
| 294 |
}
|
| 295 |
-
|
| 296 |
@keyframes spin {
|
| 297 |
0% {
|
| 298 |
transform: rotate(0deg);
|
| 299 |
}
|
|
|
|
| 300 |
100% {
|
| 301 |
transform: rotate(360deg);
|
| 302 |
}
|
| 303 |
}
|
| 304 |
-
|
| 305 |
#uploadbutton:disabled {
|
| 306 |
cursor: not-allowed;
|
| 307 |
background-color: #dddddd;
|
| 308 |
}
|
| 309 |
-
|
| 310 |
.labels {
|
| 311 |
margin: 0 0 0 20px;
|
| 312 |
font-weight: 500;
|
| 313 |
}
|
| 314 |
-
|
| 315 |
.labels p {
|
| 316 |
font-size: 14px;
|
| 317 |
padding-top: 8px;
|
|
@@ -320,25 +337,25 @@
|
|
| 320 |
padding: 8px 0 0 0;
|
| 321 |
text-align: left;
|
| 322 |
}
|
| 323 |
-
|
| 324 |
#filenm {
|
| 325 |
position: relative;
|
| 326 |
z-index: 999;
|
| 327 |
}
|
| 328 |
-
|
| 329 |
.valid {
|
| 330 |
padding-left: 8px;
|
| 331 |
font-weight: 300;
|
| 332 |
font-size: 14px;
|
| 333 |
}
|
| 334 |
-
|
| 335 |
.details1 {
|
| 336 |
border-radius: 10px;
|
| 337 |
z-index: -1;
|
| 338 |
}
|
| 339 |
-
.details{
|
| 340 |
|
| 341 |
-
}
|
|
|
|
| 342 |
.exportbutton {
|
| 343 |
margin-right: 17px;
|
| 344 |
box-sizing: border-box;
|
|
@@ -355,14 +372,14 @@
|
|
| 355 |
color: white;
|
| 356 |
cursor: pointer;
|
| 357 |
}
|
| 358 |
-
|
| 359 |
.exportbutton:hover {
|
| 360 |
border: 2px solid #FF8B4A;
|
| 361 |
background: #f5f5f5;
|
| 362 |
color: #000;
|
| 363 |
transition: all .3s ease-in-out;
|
| 364 |
}
|
| 365 |
-
|
| 366 |
@media (max-width: 1024px) {
|
| 367 |
.filenm {
|
| 368 |
border-radius: 10px;
|
|
@@ -371,40 +388,49 @@
|
|
| 371 |
padding: 9px 11px;
|
| 372 |
margin: 0;
|
| 373 |
}
|
|
|
|
| 374 |
.filenm span {
|
| 375 |
text-overflow: ellipsis;
|
| 376 |
white-space: nowrap;
|
| 377 |
overflow: hidden;
|
| 378 |
}
|
|
|
|
| 379 |
.backbutton span {
|
| 380 |
font-size: 9px;
|
| 381 |
}
|
|
|
|
| 382 |
.backbutton {
|
| 383 |
padding: 12px 14px;
|
| 384 |
border-radius: 10px;
|
| 385 |
}
|
|
|
|
| 386 |
.receipt {
|
| 387 |
margin: 15px 15px;
|
| 388 |
}
|
|
|
|
| 389 |
p {
|
| 390 |
padding: 10px;
|
| 391 |
font-size: 13px;
|
| 392 |
}
|
|
|
|
| 393 |
p.desc {
|
| 394 |
font-size: 8px;
|
| 395 |
text-align: left;
|
| 396 |
}
|
|
|
|
| 397 |
.labels {
|
| 398 |
text-align: left;
|
| 399 |
}
|
|
|
|
| 400 |
.labels p {
|
| 401 |
padding: 8px 0 8px 0;
|
| 402 |
}
|
|
|
|
| 403 |
.avatargif img {
|
| 404 |
margin-top: 1.5em;
|
| 405 |
}
|
| 406 |
}
|
| 407 |
-
|
| 408 |
@media (max-width: 768px) {
|
| 409 |
#logox img {
|
| 410 |
position: relative;
|
|
@@ -413,6 +439,7 @@
|
|
| 413 |
height: 30%;
|
| 414 |
padding: 10px 10px 10px 10px;
|
| 415 |
}
|
|
|
|
| 416 |
.filenm {
|
| 417 |
border-radius: 6px;
|
| 418 |
gap: 0.3em;
|
|
@@ -420,48 +447,59 @@
|
|
| 420 |
padding: 10px 12px;
|
| 421 |
margin: 0;
|
| 422 |
}
|
|
|
|
| 423 |
.filenm span {
|
| 424 |
text-overflow: ellipsis;
|
| 425 |
white-space: nowrap;
|
| 426 |
overflow: hidden;
|
| 427 |
}
|
|
|
|
| 428 |
.backbutton span {
|
| 429 |
font-size: 10px;
|
| 430 |
}
|
|
|
|
| 431 |
.backbutton {
|
| 432 |
padding: 12px 14px;
|
| 433 |
border-radius: 6px;
|
| 434 |
}
|
|
|
|
| 435 |
.labels {
|
| 436 |
padding: 0 0 5px 0;
|
| 437 |
margin: 0;
|
| 438 |
}
|
|
|
|
| 439 |
p {
|
| 440 |
padding: 8px;
|
| 441 |
font-size: 12px;
|
| 442 |
}
|
|
|
|
| 443 |
.uploadbutton {
|
| 444 |
padding: 8px 24px;
|
| 445 |
font-size: 14px;
|
| 446 |
font-weight: 300;
|
| 447 |
}
|
|
|
|
| 448 |
p.desc {
|
| 449 |
font-size: 6px;
|
| 450 |
line-height: 12px;
|
| 451 |
}
|
|
|
|
| 452 |
.valid {
|
| 453 |
padding-left: 5px;
|
| 454 |
font-size: 12px;
|
| 455 |
}
|
|
|
|
| 456 |
.labels p {
|
| 457 |
padding: 8px 0 8px 0;
|
| 458 |
}
|
|
|
|
| 459 |
#dataTable th,
|
| 460 |
#dataTable td {
|
| 461 |
font-size: 6px;
|
| 462 |
text-align: left;
|
| 463 |
padding: 1px;
|
| 464 |
}
|
|
|
|
| 465 |
.exportbutton {
|
| 466 |
margin-left: 17px;
|
| 467 |
border-radius: 5px;
|
|
@@ -469,29 +507,35 @@
|
|
| 469 |
font-weight: 300;
|
| 470 |
font-size: 12px;
|
| 471 |
}
|
|
|
|
| 472 |
.avatargif img {
|
| 473 |
margin-top: 1.25em;
|
| 474 |
}
|
| 475 |
}
|
| 476 |
-
|
| 477 |
@media screen and (max-width: 576px) {
|
|
|
|
| 478 |
/* Styles for screens up to 576px wide */
|
| 479 |
.containerz {
|
| 480 |
flex-direction: column;
|
| 481 |
}
|
|
|
|
| 482 |
.left-column,
|
| 483 |
.right-column {
|
| 484 |
flex: 1;
|
| 485 |
width: 100%;
|
| 486 |
}
|
|
|
|
| 487 |
.left-column {
|
| 488 |
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 489 |
padding: 10px;
|
| 490 |
}
|
|
|
|
| 491 |
.right-column {
|
| 492 |
border-radius: 20px;
|
| 493 |
flex: 1.2;
|
| 494 |
}
|
|
|
|
| 495 |
.filenm {
|
| 496 |
border-radius: 7px;
|
| 497 |
gap: 0.3em;
|
|
@@ -502,40 +546,49 @@
|
|
| 502 |
padding: 8px 10px;
|
| 503 |
margin: 0;
|
| 504 |
}
|
|
|
|
| 505 |
.backbutton span {
|
| 506 |
font-size: 12px;
|
| 507 |
}
|
|
|
|
| 508 |
.backbutton {
|
| 509 |
padding: 8px 10px;
|
| 510 |
border-radius: 7px;
|
| 511 |
}
|
|
|
|
| 512 |
.labels {
|
| 513 |
padding: 0 0 5px 0;
|
| 514 |
margin: 0;
|
| 515 |
}
|
|
|
|
| 516 |
.uploadbutton {
|
| 517 |
padding: 6px 22px;
|
| 518 |
font-size: 12px;
|
| 519 |
font-weight: 300;
|
| 520 |
}
|
|
|
|
| 521 |
p.desc {
|
| 522 |
font-size: 4px;
|
| 523 |
text-align: left;
|
| 524 |
line-height: 10px;
|
| 525 |
}
|
|
|
|
| 526 |
.valid {
|
| 527 |
padding-left: 5px;
|
| 528 |
font-size: 10px;
|
| 529 |
}
|
|
|
|
| 530 |
.labels p {
|
| 531 |
padding: 8px 0 8px 0;
|
| 532 |
}
|
|
|
|
| 533 |
#dataTable th,
|
| 534 |
#dataTable td {
|
| 535 |
font-size: 6px;
|
| 536 |
text-align: left;
|
| 537 |
padding: 1px;
|
| 538 |
}
|
|
|
|
| 539 |
.exportbutton {
|
| 540 |
margin-left: 17px;
|
| 541 |
border-radius: 5px;
|
|
@@ -543,11 +596,12 @@
|
|
| 543 |
font-weight: 300;
|
| 544 |
font-size: 10px;
|
| 545 |
}
|
|
|
|
| 546 |
.avatargif img {
|
| 547 |
margin-top: 1em;
|
| 548 |
}
|
| 549 |
}
|
| 550 |
-
|
| 551 |
p.desc {
|
| 552 |
font-size: 10px;
|
| 553 |
font-family: 'Poppins';
|
|
@@ -557,26 +611,27 @@
|
|
| 557 |
line-height: 12px;
|
| 558 |
font-style: italic;
|
| 559 |
}
|
| 560 |
-
|
| 561 |
.fa-spinner {
|
| 562 |
font-size: 16px;
|
| 563 |
}
|
| 564 |
-
|
| 565 |
.avatargif {
|
| 566 |
display: flex;
|
| 567 |
justify-content: center;
|
| 568 |
align-items: center;
|
| 569 |
}
|
| 570 |
-
|
| 571 |
.avatargif img {
|
| 572 |
margin-top: 3.5em;
|
| 573 |
width: 40%;
|
| 574 |
height: 40%;
|
| 575 |
}
|
|
|
|
| 576 |
.red-border {
|
| 577 |
border: 2px solid red;
|
| 578 |
}
|
| 579 |
-
|
| 580 |
.green-border {
|
| 581 |
border: 2px solid green;
|
| 582 |
}
|
|
@@ -607,7 +662,7 @@
|
|
| 607 |
opacity: 0;
|
| 608 |
transition: opacity 0.3s;
|
| 609 |
}
|
| 610 |
-
|
| 611 |
.tooltiptext::after {
|
| 612 |
content: "";
|
| 613 |
position: absolute;
|
|
@@ -618,6 +673,7 @@
|
|
| 618 |
border-style: solid;
|
| 619 |
border-color: #333 transparent transparent transparent;
|
| 620 |
}
|
|
|
|
| 621 |
.zoomed-image-container {
|
| 622 |
position: fixed;
|
| 623 |
top: 0;
|
|
@@ -630,12 +686,13 @@
|
|
| 630 |
align-items: center;
|
| 631 |
z-index: 999;
|
| 632 |
}
|
| 633 |
-
|
| 634 |
.zoomed-image-container img {
|
| 635 |
max-width: 90%;
|
| 636 |
max-height: 90%;
|
| 637 |
object-fit: contain;
|
| 638 |
}
|
|
|
|
| 639 |
@media (max-width: 576px) {
|
| 640 |
.zoomed-image-container {
|
| 641 |
position: fixed;
|
|
@@ -648,10 +705,10 @@
|
|
| 648 |
justify-content: center;
|
| 649 |
align-items: center;
|
| 650 |
z-index: 999;
|
|
|
|
|
|
|
| 651 |
}
|
| 652 |
}
|
| 653 |
-
/* Optional: If you want to hide the scrollbar in Firefox */
|
| 654 |
-
scrollbar-width: none;
|
| 655 |
</style>
|
| 656 |
<script src="https://cdn.lordicon.com/lordicon.js"></script>
|
| 657 |
</head>
|
|
@@ -662,23 +719,26 @@
|
|
| 662 |
</div>
|
| 663 |
<div class="containerz">
|
| 664 |
<div class="left-column">
|
| 665 |
-
<button class="backbutton" id="submitButton" onclick="window.location.href='{{
|
| 666 |
<i class="fa-solid fa-arrow-left"></i>
|
| 667 |
<span>Back</span>
|
| 668 |
</button>
|
| 669 |
<div id="canvas-container">
|
| 670 |
{% if image_paths %}
|
| 671 |
-
|
| 672 |
-
|
| 673 |
-
|
| 674 |
-
|
| 675 |
-
|
| 676 |
-
|
| 677 |
-
|
| 678 |
-
|
| 679 |
-
|
|
|
|
|
|
|
|
|
|
| 680 |
{% else %}
|
| 681 |
-
|
| 682 |
{% endif %}
|
| 683 |
</div>
|
| 684 |
</div>
|
|
@@ -692,44 +752,50 @@
|
|
| 692 |
<hr style="color: #ccc; width:95%; opacity:0.35;">
|
| 693 |
<div class="labels" style="margin: 0 0 0 20px;">
|
| 694 |
<p>Receipt Verification</p>
|
| 695 |
-
<p class="desc">Verify receipt details attentively, acknowledging occasional misclassification, which
|
|
|
|
| 696 |
</div>
|
| 697 |
<div class="receipt">
|
| 698 |
-
|
| 699 |
-
|
| 700 |
-
|
| 701 |
-
|
| 702 |
-
|
| 703 |
-
|
| 704 |
-
|
| 705 |
-
|
| 706 |
-
|
| 707 |
-
|
| 708 |
-
|
| 709 |
-
|
| 710 |
-
|
| 711 |
-
|
| 712 |
-
|
| 713 |
-
|
| 714 |
-
|
| 715 |
-
|
| 716 |
-
|
| 717 |
-
|
| 718 |
-
|
| 719 |
-
|
| 720 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 721 |
</div>
|
| 722 |
-
</
|
| 723 |
-
</
|
| 724 |
-
|
| 725 |
-
|
| 726 |
-
</
|
| 727 |
-
</table>
|
| 728 |
</div>
|
| 729 |
<hr style="color: #ccc; width:95%; opacity:0.35;">
|
| 730 |
<div class="labels" style="margin: 0 0 0 20px;">
|
| 731 |
<p>Text Extraction</p>
|
| 732 |
-
<p class="desc">Ensure optimal text extraction accuracy from receipts by making sure that the receipt
|
|
|
|
| 733 |
</div>
|
| 734 |
<div style="text-align: center; margin-top: 25px;">
|
| 735 |
<button id="uploadbutton" class="uploadbutton" type="submit">
|
|
@@ -766,7 +832,7 @@
|
|
| 766 |
<a href="{{ url_for('download_csv') }}">
|
| 767 |
<button class="exportbutton" type="submit"><i class="fa-solid fa-download"></i>Download CSV</button>
|
| 768 |
</a>
|
| 769 |
-
<button class="exportbutton" onclick="window.location.href='{{
|
| 770 |
<span id="uploadIcon"><i class="fas fa-upload"></i></span>
|
| 771 |
<span>Upload again</span>
|
| 772 |
</button>
|
|
@@ -777,14 +843,14 @@
|
|
| 777 |
</div>
|
| 778 |
<a href="https://lordicon.com/" hidden>Icons by Lordicon.com</a>
|
| 779 |
<script>
|
| 780 |
-
document.addEventListener('DOMContentLoaded', function() {
|
| 781 |
const dataTable = document.getElementById('receiptdiv');
|
| 782 |
const loadingSpinner = document.getElementById('loadingIcon');
|
| 783 |
const extractingText = document.getElementById('extractingText');
|
| 784 |
const runInferenceButton = document.getElementById('uploadbutton');
|
| 785 |
const exportCSVButton = document.getElementById('downloadbutton');
|
| 786 |
|
| 787 |
-
document.getElementById('uploadbutton').addEventListener('click', function() {
|
| 788 |
loadingSpinner.style.display = 'inline-block'; // Show loading spinner
|
| 789 |
extractingText.textContent = 'Extracting...'; // Change text to "Extracting..."
|
| 790 |
runInferenceButton.disabled = true;
|
|
@@ -802,24 +868,42 @@
|
|
| 802 |
// Show the table when data is updated
|
| 803 |
dataTable.style.display = 'table';
|
| 804 |
}
|
|
|
|
|
|
|
| 805 |
|
| 806 |
async function runInference() {
|
| 807 |
await fetch('/run_inference');
|
| 808 |
|
| 809 |
-
setTimeout(function() {
|
| 810 |
loadingSpinner.style.display = 'none';
|
| 811 |
runInferenceButton.style.display = 'none';
|
| 812 |
exportCSVButton.style.display = 'flex';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 813 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 814 |
getData();
|
| 815 |
}, 500);
|
| 816 |
}
|
| 817 |
|
|
|
|
| 818 |
function updateTable(data) {
|
| 819 |
Papa.parse(data, {
|
| 820 |
header: true,
|
| 821 |
skipEmptyLines: true,
|
| 822 |
-
complete: function(results) {
|
| 823 |
const tbody = document.querySelector('#dataTable tbody');
|
| 824 |
tbody.innerHTML = ''; // Clear existing rows
|
| 825 |
|
|
|
|
| 24 |
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800' rel='stylesheet' type='text/css'>
|
| 25 |
<link rel="preconnect" href="https://fonts.googleapis.com">
|
| 26 |
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| 27 |
+
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600&display=swap"
|
| 28 |
+
rel="stylesheet">
|
| 29 |
<title>ExCeipt | Extractor</title>
|
| 30 |
<style>
|
| 31 |
body {
|
| 32 |
background-color: #ddd;
|
| 33 |
}
|
| 34 |
+
|
| 35 |
.containerz {
|
| 36 |
display: flex;
|
| 37 |
width: 100vw;
|
| 38 |
height: 100vh;
|
| 39 |
}
|
| 40 |
+
|
| 41 |
.left-column {
|
| 42 |
padding-top: 100px;
|
| 43 |
flex: 2;
|
|
|
|
| 49 |
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 50 |
overflow-y: auto;
|
| 51 |
}
|
| 52 |
+
|
| 53 |
#canvas-container {
|
| 54 |
display: flex;
|
| 55 |
+
flex-wrap: wrap;
|
| 56 |
+
/* Wrap items to next line when they exceed the container width */
|
| 57 |
+
justify-content: center;
|
| 58 |
+
/* Center items horizontally */
|
| 59 |
+
gap: 10px;
|
| 60 |
+
/* Add some space between images */
|
| 61 |
+
max-width: 100%;
|
| 62 |
+
/* Ensure images don't exceed the container width */
|
| 63 |
margin-top: 70px;
|
| 64 |
}
|
| 65 |
+
|
| 66 |
.image-container {
|
| 67 |
+
width: 200px;
|
| 68 |
+
/* Set your desired width */
|
| 69 |
+
height: 300px;
|
| 70 |
+
/* Set your desired height */
|
| 71 |
+
background-color: white;
|
| 72 |
+
/* White background */
|
| 73 |
+
padding: 30px 30px 40px 30px;
|
| 74 |
+
/* Add padding */
|
| 75 |
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
| 76 |
+
border-radius: 10px;
|
| 77 |
}
|
| 78 |
+
|
| 79 |
+
.image-container:hover {
|
| 80 |
transition: all 0.3s;
|
| 81 |
transform: translateY(1.5px);
|
| 82 |
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.4);
|
| 83 |
}
|
| 84 |
+
|
| 85 |
.image-container img {
|
| 86 |
width: 100%;
|
| 87 |
height: 100%;
|
|
|
|
| 89 |
box-shadow: 0 6px 8px rgba(0, 0, 0, 0.1);
|
| 90 |
transition: all 0.3s;
|
| 91 |
}
|
| 92 |
+
|
| 93 |
p.images-name {
|
| 94 |
text-overflow: ellipsis;
|
| 95 |
white-space: nowrap;
|
| 96 |
overflow: hidden;
|
| 97 |
font-size: 10px;
|
| 98 |
+
margin: 5px 0 0 0;
|
| 99 |
text-align: center;
|
| 100 |
padding: 0;
|
| 101 |
}
|
| 102 |
+
|
| 103 |
.right-column {
|
| 104 |
flex: 2;
|
| 105 |
background-color: #ffffff;
|
|
|
|
| 107 |
overflow-y: auto;
|
| 108 |
max-height: 100vh;
|
| 109 |
}
|
| 110 |
+
|
| 111 |
.backbutton {
|
| 112 |
box-sizing: border-box;
|
| 113 |
border-radius: 10px;
|
|
|
|
| 125 |
position: fixed;
|
| 126 |
z-index: 999;
|
| 127 |
}
|
| 128 |
+
|
| 129 |
.backbutton span {
|
| 130 |
text-decoration: none;
|
| 131 |
color: black;
|
|
|
|
| 133 |
font-size: 14px;
|
| 134 |
font-weight: 300;
|
| 135 |
}
|
| 136 |
+
|
| 137 |
.backbutton:hover {
|
| 138 |
background: linear-gradient(45deg, #FF6347, #FFA07A);
|
| 139 |
transition: all .3s ease-in-out;
|
| 140 |
}
|
| 141 |
+
|
| 142 |
.backbutton:hover span {
|
| 143 |
color: white;
|
| 144 |
transition: all .3s ease-in-out;
|
| 145 |
}
|
| 146 |
+
|
| 147 |
.backbutton:hover i {
|
| 148 |
color: white;
|
| 149 |
transition: all .3s ease-in-out;
|
| 150 |
}
|
| 151 |
+
|
| 152 |
.left-column h1 {
|
| 153 |
padding-top: 45px;
|
| 154 |
}
|
| 155 |
+
|
| 156 |
#canvas-container {
|
| 157 |
position: relative;
|
| 158 |
width: 100%;
|
| 159 |
height: 100%;
|
| 160 |
}
|
| 161 |
+
|
| 162 |
#canvas {
|
| 163 |
cursor: grab;
|
| 164 |
user-select: none;
|
| 165 |
}
|
| 166 |
+
|
| 167 |
#upload-input {
|
| 168 |
margin-top: 10px;
|
| 169 |
object-position: center;
|
| 170 |
}
|
| 171 |
+
|
| 172 |
.bordered-table {
|
| 173 |
justify-content: center;
|
| 174 |
display: flex;
|
| 175 |
padding: 0px 30px;
|
| 176 |
}
|
| 177 |
+
|
| 178 |
.bordered-table tbody td.full-width {
|
| 179 |
display: flex;
|
| 180 |
flex-wrap: wrap;
|
| 181 |
align-items: center;
|
| 182 |
}
|
| 183 |
+
|
| 184 |
.bordered-table tbody td.full-width .label {
|
| 185 |
width: 100px;
|
| 186 |
text-align: right;
|
| 187 |
margin-right: 5px;
|
| 188 |
}
|
| 189 |
+
|
| 190 |
.bordered-table tbody td .full-width input {
|
| 191 |
flex-grow: 1;
|
| 192 |
}
|
| 193 |
+
|
| 194 |
.bordered-table tbody td.full-width {
|
| 195 |
display: grid;
|
| 196 |
grid-template-columns: 100px 1fr;
|
| 197 |
}
|
| 198 |
+
|
| 199 |
.bordered-table tbody td.full-width .label {
|
| 200 |
justify-self: end;
|
| 201 |
}
|
| 202 |
+
|
| 203 |
#logox {
|
| 204 |
display: flex;
|
| 205 |
justify-content: center;
|
| 206 |
}
|
| 207 |
+
|
| 208 |
#logox img {
|
| 209 |
position: relative;
|
| 210 |
object-position: center;
|
|
|
|
| 212 |
height: 25%;
|
| 213 |
padding: 10px 10px 10px 10px;
|
| 214 |
}
|
| 215 |
+
|
| 216 |
.receipt {
|
| 217 |
margin: 20px 20px;
|
| 218 |
}
|
| 219 |
+
|
| 220 |
.receipt1 {
|
| 221 |
margin: 20px 20px;
|
| 222 |
font: 14px;
|
| 223 |
}
|
| 224 |
+
|
| 225 |
.receipt1 table {
|
| 226 |
border-radius: 10px;
|
| 227 |
}
|
| 228 |
+
|
| 229 |
.receipt h1 {
|
| 230 |
text-align: center;
|
| 231 |
}
|
| 232 |
+
|
| 233 |
.receipt .details {
|
| 234 |
margin: 0px 0px 0px 15px;
|
| 235 |
}
|
| 236 |
+
|
| 237 |
.receipt table {
|
| 238 |
width: 100%;
|
| 239 |
border-collapse: collapse;
|
| 240 |
margin-bottom: 20px;
|
| 241 |
}
|
| 242 |
+
|
| 243 |
.receipt table {
|
| 244 |
border-radius: 10px;
|
| 245 |
}
|
| 246 |
+
|
| 247 |
.receipt table th,
|
| 248 |
.receipt table td {
|
| 249 |
border: 1px solid #ccc;
|
| 250 |
padding: 5px;
|
| 251 |
}
|
| 252 |
+
|
| 253 |
.receipt table th {
|
| 254 |
background-color: #f0f0f0;
|
| 255 |
text-align: left;
|
| 256 |
+
font-size: 16px;
|
| 257 |
+
font-weight: 500;
|
| 258 |
+
text-align: center;
|
| 259 |
}
|
| 260 |
+
|
| 261 |
.receipt table td {
|
| 262 |
+
text-align: center;
|
| 263 |
font-size: 14px;
|
| 264 |
+
max-width: 150px;
|
| 265 |
+
/* Set the maximum width */
|
| 266 |
overflow: hidden;
|
| 267 |
text-overflow: ellipsis;
|
| 268 |
white-space: nowrap;
|
| 269 |
+
padding: 0 20px;
|
| 270 |
}
|
| 271 |
+
|
| 272 |
#dataTable {
|
| 273 |
border-radius: 10px;
|
| 274 |
border-collapse: collapse;
|
|
|
|
| 278 |
table-layout: fixed;
|
| 279 |
overflow-x: auto;
|
| 280 |
}
|
| 281 |
+
|
| 282 |
#receiptdiv {
|
| 283 |
display: none;
|
| 284 |
}
|
| 285 |
+
|
| 286 |
#dataTable th,
|
| 287 |
#dataTable td {
|
| 288 |
font-size: 12px;
|
| 289 |
text-align: center;
|
| 290 |
padding: 3px;
|
| 291 |
}
|
| 292 |
+
|
| 293 |
#downloadbutton {
|
| 294 |
display: none;
|
| 295 |
}
|
| 296 |
+
|
| 297 |
#loadingSpinner {
|
| 298 |
position: relative;
|
| 299 |
top: 20%;
|
|
|
|
| 308 |
display: none;
|
| 309 |
/* Hide initially */
|
| 310 |
}
|
| 311 |
+
|
| 312 |
@keyframes spin {
|
| 313 |
0% {
|
| 314 |
transform: rotate(0deg);
|
| 315 |
}
|
| 316 |
+
|
| 317 |
100% {
|
| 318 |
transform: rotate(360deg);
|
| 319 |
}
|
| 320 |
}
|
| 321 |
+
|
| 322 |
#uploadbutton:disabled {
|
| 323 |
cursor: not-allowed;
|
| 324 |
background-color: #dddddd;
|
| 325 |
}
|
| 326 |
+
|
| 327 |
.labels {
|
| 328 |
margin: 0 0 0 20px;
|
| 329 |
font-weight: 500;
|
| 330 |
}
|
| 331 |
+
|
| 332 |
.labels p {
|
| 333 |
font-size: 14px;
|
| 334 |
padding-top: 8px;
|
|
|
|
| 337 |
padding: 8px 0 0 0;
|
| 338 |
text-align: left;
|
| 339 |
}
|
| 340 |
+
|
| 341 |
#filenm {
|
| 342 |
position: relative;
|
| 343 |
z-index: 999;
|
| 344 |
}
|
| 345 |
+
|
| 346 |
.valid {
|
| 347 |
padding-left: 8px;
|
| 348 |
font-weight: 300;
|
| 349 |
font-size: 14px;
|
| 350 |
}
|
| 351 |
+
|
| 352 |
.details1 {
|
| 353 |
border-radius: 10px;
|
| 354 |
z-index: -1;
|
| 355 |
}
|
|
|
|
| 356 |
|
| 357 |
+
.details {}
|
| 358 |
+
|
| 359 |
.exportbutton {
|
| 360 |
margin-right: 17px;
|
| 361 |
box-sizing: border-box;
|
|
|
|
| 372 |
color: white;
|
| 373 |
cursor: pointer;
|
| 374 |
}
|
| 375 |
+
|
| 376 |
.exportbutton:hover {
|
| 377 |
border: 2px solid #FF8B4A;
|
| 378 |
background: #f5f5f5;
|
| 379 |
color: #000;
|
| 380 |
transition: all .3s ease-in-out;
|
| 381 |
}
|
| 382 |
+
|
| 383 |
@media (max-width: 1024px) {
|
| 384 |
.filenm {
|
| 385 |
border-radius: 10px;
|
|
|
|
| 388 |
padding: 9px 11px;
|
| 389 |
margin: 0;
|
| 390 |
}
|
| 391 |
+
|
| 392 |
.filenm span {
|
| 393 |
text-overflow: ellipsis;
|
| 394 |
white-space: nowrap;
|
| 395 |
overflow: hidden;
|
| 396 |
}
|
| 397 |
+
|
| 398 |
.backbutton span {
|
| 399 |
font-size: 9px;
|
| 400 |
}
|
| 401 |
+
|
| 402 |
.backbutton {
|
| 403 |
padding: 12px 14px;
|
| 404 |
border-radius: 10px;
|
| 405 |
}
|
| 406 |
+
|
| 407 |
.receipt {
|
| 408 |
margin: 15px 15px;
|
| 409 |
}
|
| 410 |
+
|
| 411 |
p {
|
| 412 |
padding: 10px;
|
| 413 |
font-size: 13px;
|
| 414 |
}
|
| 415 |
+
|
| 416 |
p.desc {
|
| 417 |
font-size: 8px;
|
| 418 |
text-align: left;
|
| 419 |
}
|
| 420 |
+
|
| 421 |
.labels {
|
| 422 |
text-align: left;
|
| 423 |
}
|
| 424 |
+
|
| 425 |
.labels p {
|
| 426 |
padding: 8px 0 8px 0;
|
| 427 |
}
|
| 428 |
+
|
| 429 |
.avatargif img {
|
| 430 |
margin-top: 1.5em;
|
| 431 |
}
|
| 432 |
}
|
| 433 |
+
|
| 434 |
@media (max-width: 768px) {
|
| 435 |
#logox img {
|
| 436 |
position: relative;
|
|
|
|
| 439 |
height: 30%;
|
| 440 |
padding: 10px 10px 10px 10px;
|
| 441 |
}
|
| 442 |
+
|
| 443 |
.filenm {
|
| 444 |
border-radius: 6px;
|
| 445 |
gap: 0.3em;
|
|
|
|
| 447 |
padding: 10px 12px;
|
| 448 |
margin: 0;
|
| 449 |
}
|
| 450 |
+
|
| 451 |
.filenm span {
|
| 452 |
text-overflow: ellipsis;
|
| 453 |
white-space: nowrap;
|
| 454 |
overflow: hidden;
|
| 455 |
}
|
| 456 |
+
|
| 457 |
.backbutton span {
|
| 458 |
font-size: 10px;
|
| 459 |
}
|
| 460 |
+
|
| 461 |
.backbutton {
|
| 462 |
padding: 12px 14px;
|
| 463 |
border-radius: 6px;
|
| 464 |
}
|
| 465 |
+
|
| 466 |
.labels {
|
| 467 |
padding: 0 0 5px 0;
|
| 468 |
margin: 0;
|
| 469 |
}
|
| 470 |
+
|
| 471 |
p {
|
| 472 |
padding: 8px;
|
| 473 |
font-size: 12px;
|
| 474 |
}
|
| 475 |
+
|
| 476 |
.uploadbutton {
|
| 477 |
padding: 8px 24px;
|
| 478 |
font-size: 14px;
|
| 479 |
font-weight: 300;
|
| 480 |
}
|
| 481 |
+
|
| 482 |
p.desc {
|
| 483 |
font-size: 6px;
|
| 484 |
line-height: 12px;
|
| 485 |
}
|
| 486 |
+
|
| 487 |
.valid {
|
| 488 |
padding-left: 5px;
|
| 489 |
font-size: 12px;
|
| 490 |
}
|
| 491 |
+
|
| 492 |
.labels p {
|
| 493 |
padding: 8px 0 8px 0;
|
| 494 |
}
|
| 495 |
+
|
| 496 |
#dataTable th,
|
| 497 |
#dataTable td {
|
| 498 |
font-size: 6px;
|
| 499 |
text-align: left;
|
| 500 |
padding: 1px;
|
| 501 |
}
|
| 502 |
+
|
| 503 |
.exportbutton {
|
| 504 |
margin-left: 17px;
|
| 505 |
border-radius: 5px;
|
|
|
|
| 507 |
font-weight: 300;
|
| 508 |
font-size: 12px;
|
| 509 |
}
|
| 510 |
+
|
| 511 |
.avatargif img {
|
| 512 |
margin-top: 1.25em;
|
| 513 |
}
|
| 514 |
}
|
| 515 |
+
|
| 516 |
@media screen and (max-width: 576px) {
|
| 517 |
+
|
| 518 |
/* Styles for screens up to 576px wide */
|
| 519 |
.containerz {
|
| 520 |
flex-direction: column;
|
| 521 |
}
|
| 522 |
+
|
| 523 |
.left-column,
|
| 524 |
.right-column {
|
| 525 |
flex: 1;
|
| 526 |
width: 100%;
|
| 527 |
}
|
| 528 |
+
|
| 529 |
.left-column {
|
| 530 |
box-shadow: inset 0 15px 30px rgba(0, 0, 0, 0.1);
|
| 531 |
padding: 10px;
|
| 532 |
}
|
| 533 |
+
|
| 534 |
.right-column {
|
| 535 |
border-radius: 20px;
|
| 536 |
flex: 1.2;
|
| 537 |
}
|
| 538 |
+
|
| 539 |
.filenm {
|
| 540 |
border-radius: 7px;
|
| 541 |
gap: 0.3em;
|
|
|
|
| 546 |
padding: 8px 10px;
|
| 547 |
margin: 0;
|
| 548 |
}
|
| 549 |
+
|
| 550 |
.backbutton span {
|
| 551 |
font-size: 12px;
|
| 552 |
}
|
| 553 |
+
|
| 554 |
.backbutton {
|
| 555 |
padding: 8px 10px;
|
| 556 |
border-radius: 7px;
|
| 557 |
}
|
| 558 |
+
|
| 559 |
.labels {
|
| 560 |
padding: 0 0 5px 0;
|
| 561 |
margin: 0;
|
| 562 |
}
|
| 563 |
+
|
| 564 |
.uploadbutton {
|
| 565 |
padding: 6px 22px;
|
| 566 |
font-size: 12px;
|
| 567 |
font-weight: 300;
|
| 568 |
}
|
| 569 |
+
|
| 570 |
p.desc {
|
| 571 |
font-size: 4px;
|
| 572 |
text-align: left;
|
| 573 |
line-height: 10px;
|
| 574 |
}
|
| 575 |
+
|
| 576 |
.valid {
|
| 577 |
padding-left: 5px;
|
| 578 |
font-size: 10px;
|
| 579 |
}
|
| 580 |
+
|
| 581 |
.labels p {
|
| 582 |
padding: 8px 0 8px 0;
|
| 583 |
}
|
| 584 |
+
|
| 585 |
#dataTable th,
|
| 586 |
#dataTable td {
|
| 587 |
font-size: 6px;
|
| 588 |
text-align: left;
|
| 589 |
padding: 1px;
|
| 590 |
}
|
| 591 |
+
|
| 592 |
.exportbutton {
|
| 593 |
margin-left: 17px;
|
| 594 |
border-radius: 5px;
|
|
|
|
| 596 |
font-weight: 300;
|
| 597 |
font-size: 10px;
|
| 598 |
}
|
| 599 |
+
|
| 600 |
.avatargif img {
|
| 601 |
margin-top: 1em;
|
| 602 |
}
|
| 603 |
}
|
| 604 |
+
|
| 605 |
p.desc {
|
| 606 |
font-size: 10px;
|
| 607 |
font-family: 'Poppins';
|
|
|
|
| 611 |
line-height: 12px;
|
| 612 |
font-style: italic;
|
| 613 |
}
|
| 614 |
+
|
| 615 |
.fa-spinner {
|
| 616 |
font-size: 16px;
|
| 617 |
}
|
| 618 |
+
|
| 619 |
.avatargif {
|
| 620 |
display: flex;
|
| 621 |
justify-content: center;
|
| 622 |
align-items: center;
|
| 623 |
}
|
| 624 |
+
|
| 625 |
.avatargif img {
|
| 626 |
margin-top: 3.5em;
|
| 627 |
width: 40%;
|
| 628 |
height: 40%;
|
| 629 |
}
|
| 630 |
+
|
| 631 |
.red-border {
|
| 632 |
border: 2px solid red;
|
| 633 |
}
|
| 634 |
+
|
| 635 |
.green-border {
|
| 636 |
border: 2px solid green;
|
| 637 |
}
|
|
|
|
| 662 |
opacity: 0;
|
| 663 |
transition: opacity 0.3s;
|
| 664 |
}
|
| 665 |
+
|
| 666 |
.tooltiptext::after {
|
| 667 |
content: "";
|
| 668 |
position: absolute;
|
|
|
|
| 673 |
border-style: solid;
|
| 674 |
border-color: #333 transparent transparent transparent;
|
| 675 |
}
|
| 676 |
+
|
| 677 |
.zoomed-image-container {
|
| 678 |
position: fixed;
|
| 679 |
top: 0;
|
|
|
|
| 686 |
align-items: center;
|
| 687 |
z-index: 999;
|
| 688 |
}
|
| 689 |
+
|
| 690 |
.zoomed-image-container img {
|
| 691 |
max-width: 90%;
|
| 692 |
max-height: 90%;
|
| 693 |
object-fit: contain;
|
| 694 |
}
|
| 695 |
+
|
| 696 |
@media (max-width: 576px) {
|
| 697 |
.zoomed-image-container {
|
| 698 |
position: fixed;
|
|
|
|
| 705 |
justify-content: center;
|
| 706 |
align-items: center;
|
| 707 |
z-index: 999;
|
| 708 |
+
/* Optional: If you want to hide the scrollbar in Firefox */
|
| 709 |
+
scrollbar-width: none;
|
| 710 |
}
|
| 711 |
}
|
|
|
|
|
|
|
| 712 |
</style>
|
| 713 |
<script src="https://cdn.lordicon.com/lordicon.js"></script>
|
| 714 |
</head>
|
|
|
|
| 719 |
</div>
|
| 720 |
<div class="containerz">
|
| 721 |
<div class="left-column">
|
| 722 |
+
<button class="backbutton" id="submitButton" onclick="window.location.href='{{ index_url }}'">
|
| 723 |
<i class="fa-solid fa-arrow-left"></i>
|
| 724 |
<span>Back</span>
|
| 725 |
</button>
|
| 726 |
<div id="canvas-container">
|
| 727 |
{% if image_paths %}
|
| 728 |
+
{% for image_path, prediction_results_copy in predictions.items() %}
|
| 729 |
+
<div
|
| 730 |
+
class="image-container {% if prediction_results_copy == 'non-receipt' %}red-border{% elif prediction_results_copy == 'receipt' %}green-border{% endif %}">
|
| 731 |
+
<div class="tooltiptext">Click to view fullscreen</div>
|
| 732 |
+
<img src="{{ url_for('static', filename='temp/img_display/' + image_path) }}" id="my-image"
|
| 733 |
+
alt="uploads"
|
| 734 |
+
data-img-path="{{ url_for('static', filename='temp/img_display/' + image_path) }}" />
|
| 735 |
+
<div class="image-name">
|
| 736 |
+
<p class="images-name">{{image_path}}</p>
|
| 737 |
+
</div>
|
| 738 |
+
</div>
|
| 739 |
+
{% endfor %}
|
| 740 |
{% else %}
|
| 741 |
+
<p>No files uploaded.</p>
|
| 742 |
{% endif %}
|
| 743 |
</div>
|
| 744 |
</div>
|
|
|
|
| 752 |
<hr style="color: #ccc; width:95%; opacity:0.35;">
|
| 753 |
<div class="labels" style="margin: 0 0 0 20px;">
|
| 754 |
<p>Receipt Verification</p>
|
| 755 |
+
<p class="desc">Verify receipt details attentively, acknowledging occasional misclassification, which
|
| 756 |
+
may arise from variations in image quality or format.</p>
|
| 757 |
</div>
|
| 758 |
<div class="receipt">
|
| 759 |
+
<table>
|
| 760 |
+
<thead>
|
| 761 |
+
<tr>
|
| 762 |
+
<th>File Name</th>
|
| 763 |
+
<th>Prediction Result</th>
|
| 764 |
+
</tr>
|
| 765 |
+
</thead>
|
| 766 |
+
<tbody>
|
| 767 |
+
{% for image_path, prediction_results_copy in predictions.items() %}
|
| 768 |
+
<tr>
|
| 769 |
+
<td>{{ image_path }}</td>
|
| 770 |
+
<td>
|
| 771 |
+
<div class="details">
|
| 772 |
+
<div style="display: flex; align-items: center; justify-content: center;">
|
| 773 |
+
{% if prediction_results_copy.lower() == 'receipt' %}
|
| 774 |
+
<lord-icon src="https://cdn.lordicon.com/lomfljuq.json" trigger="in"
|
| 775 |
+
delay="1500" colors="primary:#16c72e" state="morph-check-in-1"
|
| 776 |
+
style="width:25px;height:25px">
|
| 777 |
+
</lord-icon>
|
| 778 |
+
<p class="valid">Valid Receipt</p>
|
| 779 |
+
{% else %}
|
| 780 |
+
<lord-icon src="https://cdn.lordicon.com/zxvuvcnc.json" trigger="in"
|
| 781 |
+
delay="1500" state="morph-cross-in" colors="primary:#e83a30"
|
| 782 |
+
style="width:25px;height:25px">
|
| 783 |
+
</lord-icon>
|
| 784 |
+
<p class="valid">Not a Receipt</p>
|
| 785 |
+
{% endif %}
|
| 786 |
+
</div>
|
| 787 |
</div>
|
| 788 |
+
</td>
|
| 789 |
+
</tr>
|
| 790 |
+
{% endfor %}
|
| 791 |
+
</tbody>
|
| 792 |
+
</table>
|
|
|
|
| 793 |
</div>
|
| 794 |
<hr style="color: #ccc; width:95%; opacity:0.35;">
|
| 795 |
<div class="labels" style="margin: 0 0 0 20px;">
|
| 796 |
<p>Text Extraction</p>
|
| 797 |
+
<p class="desc">Ensure optimal text extraction accuracy from receipts by making sure that the receipt
|
| 798 |
+
image is clear, well-lit, and after extraction review the extracted text and edit.</p>
|
| 799 |
</div>
|
| 800 |
<div style="text-align: center; margin-top: 25px;">
|
| 801 |
<button id="uploadbutton" class="uploadbutton" type="submit">
|
|
|
|
| 832 |
<a href="{{ url_for('download_csv') }}">
|
| 833 |
<button class="exportbutton" type="submit"><i class="fa-solid fa-download"></i>Download CSV</button>
|
| 834 |
</a>
|
| 835 |
+
<button class="exportbutton" onclick="window.location.href='{{ index_url }}'">
|
| 836 |
<span id="uploadIcon"><i class="fas fa-upload"></i></span>
|
| 837 |
<span>Upload again</span>
|
| 838 |
</button>
|
|
|
|
| 843 |
</div>
|
| 844 |
<a href="https://lordicon.com/" hidden>Icons by Lordicon.com</a>
|
| 845 |
<script>
|
| 846 |
+
document.addEventListener('DOMContentLoaded', function () {
|
| 847 |
const dataTable = document.getElementById('receiptdiv');
|
| 848 |
const loadingSpinner = document.getElementById('loadingIcon');
|
| 849 |
const extractingText = document.getElementById('extractingText');
|
| 850 |
const runInferenceButton = document.getElementById('uploadbutton');
|
| 851 |
const exportCSVButton = document.getElementById('downloadbutton');
|
| 852 |
|
| 853 |
+
document.getElementById('uploadbutton').addEventListener('click', function () {
|
| 854 |
loadingSpinner.style.display = 'inline-block'; // Show loading spinner
|
| 855 |
extractingText.textContent = 'Extracting...'; // Change text to "Extracting..."
|
| 856 |
runInferenceButton.disabled = true;
|
|
|
|
| 868 |
// Show the table when data is updated
|
| 869 |
dataTable.style.display = 'table';
|
| 870 |
}
|
| 871 |
+
const imageElement = document.getElementById('my-image'); // replace 'my-image' with the id of your image element
|
| 872 |
+
|
| 873 |
|
| 874 |
async function runInference() {
|
| 875 |
await fetch('/run_inference');
|
| 876 |
|
| 877 |
+
setTimeout(function () {
|
| 878 |
loadingSpinner.style.display = 'none';
|
| 879 |
runInferenceButton.style.display = 'none';
|
| 880 |
exportCSVButton.style.display = 'flex';
|
| 881 |
+
var imageElements = document.querySelectorAll('[data-img-path]');
|
| 882 |
+
|
| 883 |
+
// Iterate over each image
|
| 884 |
+
imageElements.forEach(function (imageElement) {
|
| 885 |
+
var imagePath = imageElement.dataset.imgPath;
|
| 886 |
+
// Remove the 'temp/img_display/' part from the imagePath
|
| 887 |
+
// var newImagePath = imagePath.replace('temp/img_display/', '');
|
| 888 |
+
// Update the image source
|
| 889 |
+
imageElement.src = imagePath + "_inference.jpg";
|
| 890 |
|
| 891 |
+
// Add an error handler
|
| 892 |
+
imageElement.onerror = function () {
|
| 893 |
+
// Hide the image's container if the image fails to load
|
| 894 |
+
this.parentElement.style.display = 'none';
|
| 895 |
+
};
|
| 896 |
+
});
|
| 897 |
getData();
|
| 898 |
}, 500);
|
| 899 |
}
|
| 900 |
|
| 901 |
+
|
| 902 |
function updateTable(data) {
|
| 903 |
Papa.parse(data, {
|
| 904 |
header: true,
|
| 905 |
skipEmptyLines: true,
|
| 906 |
+
complete: function (results) {
|
| 907 |
const tbody = document.querySelector('#dataTable tbody');
|
| 908 |
tbody.innerHTML = ''; // Clear existing rows
|
| 909 |
|