-
Notifications
You must be signed in to change notification settings - Fork 1
/
htr.py
37 lines (28 loc) · 1.04 KB
/
htr.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import tensorflow as tf
import argparse
from keras_htr.char_table import CharTable
from keras_htr.models.base import HTRModel
from keras_htr import codes_to_string
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('model', type=str)
parser.add_argument('char_table', type=str)
parser.add_argument('image', type=str)
parser.add_argument('--raw', type=bool, default=False)
args = parser.parse_args()
model_path = args.model
image_path = args.image
char_table_path = args.char_table
raw = args.raw
char_table = CharTable(char_table_path)
model = HTRModel.create(model_path)
adapter = model.get_adapter()
if raw:
preprocessor = model.get_preprocessor()
image = preprocessor.process(image_path)
else:
image = tf.keras.preprocessing.image.load_img(image_path, color_mode="grayscale")
inputs = adapter.adapt_x(image)
labels = model.predict(inputs)[0]
res = codes_to_string(labels, char_table)
print('Recognized text: "{}"'.format(res))