-
Notifications
You must be signed in to change notification settings - Fork 0
/
imageProcessingDemo.py
75 lines (55 loc) · 2.59 KB
/
imageProcessingDemo.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import binarizer as bin
import os
import json
import cv2 as cv
bible = 'Muenchen'
binar = bin.Binarizer(bible)
"""#with open('JsonUtils/groundTruthDictionary.json') as groundTruth:
dictionary = json.load(groundTruth)
with open('JsonUtils/angles.json') as aj:
angles = json.load(aj)
# Variabile a True significa che e` possibile vedere le pagine singolarmente, altrimenti provvede a salvare le frequent
# words nella apposita cartella (richiede qualche minuto)
inspector = False
if inspector:
for numPage in range(24, 34):
binar.linesCropping('GenesisPages/old/Muenchen/Gut-0{x}.jpg'.format(x=numPage),
numPage,
'_P{x}_C0'.format(x=(numPage - 14)),
'_P{x}_C1'.format(x=(numPage - 14)),
dictionary,
angles,
None,
None,
None
)
else:
with open('JsonUtils/20mostFrequentWords.json') as fq:
frequentWords = json.load(fq)
# inPagePositions: Dizionario delle posizioni assolute rispetto alla pagina di ciascuna parola, per creare
# successivamente le annotazioni. La chiave piu` esterna rappresenta il numero di pagina che ha come valore un altro
# dizionario.
# Quest`ultimo ha come chiavi le parole frequenti e come valore una lista di tuple. Ciascuna di esse rappresenta
# la posizione all`interno della pagina. Es: "et": [(xTopLeft, yTopLeft, width, height), ...]
inPagePositions = dict()
for frequentWord in frequentWords:
with open('JsonUtils/{frequentWord}Positions.json'.format(frequentWord=frequentWord)) as dfw:
wordPositions = json.load(dfw)
print()
print(frequentWord)
for numPage in range(14, 34):
print("Page: " + str(numPage))
if numPage not in inPagePositions.keys():
inPagePositions[numPage] = dict()
binar.linesCropping('GenesisPages/old/Muenchen/Gut-0{x}.jpg'.format(x=numPage),
numPage,
'_P{x}_C0'.format(x=(numPage - 14)),
'_P{x}_C1'.format(x=(numPage - 14)),
dictionary,
angles,
wordPositions,
frequentWord,
inPagePositions
)
with open('inPagePositions.json', 'w') as pp:
json.dump(inPagePositions, pp)"""