bounds = reader.readtext(np.array(images[0]), min_size=0,slope_ths=0.2, ycenter_ths=0.7, height_ths=0.6,width_ths=0.8,decoder='beamsearch',beamWidth=10)
print(bounds)
上面代碼的輸出是
我確實有一個字串格式
[([[1004, 128], [1209, 128], [1209, 200], [1004, 200]],
'EC~L',
0.18826377391815186),
([[177, 179], [349, 179], [349, 241], [177, 241]], 'OKI', 0.9966741294455473),
([[180, 236], [422, 236], [422, 268], [180, 268]],
'Oki Eleclric Industry Co',
0.8091106257361781),
([[435, 243], [469, 243], [469, 263], [435, 263]], 'Ltd', 0.9978489622393302),
([[180, 265], [668, 265], [668, 293], [180, 293]],
'4-11-22 , Shibaura, Minalo-ku, Tokyo 108-855| Japan',
0.6109240973537998),
([[180, 291], [380, 291], [380, 318], [180, 318]],
'Tel 81-3-5440-4884',
0.9406430290171053)]
如何撰寫一個列印上述格式的 python 代碼,類似于下面的格式:
[1004, 128, 1209, 128, 1209, 200, 1004, 200],
'EC~L'
##################
[177, 179, 349, 179, 349, 241, 177, 241],
'OKI'
##################
[180, 236, 422, 236, 422, 268, 180, 268],
'Oki Eleclric Industry Co'
##################
[435, 243, 469, 243, 469, 263, 435, 263],
'Ltd'
##################
[180, 265, 668, 265, 668, 293, 180, 293],
'4-11-22 , Shibaura, Minalo-ku, Tokyo 108-855| Japan'
##################
[180, 291, 380, 291, 380, 318, 180, 318],
'Tel 81-3-5440-4884'
誰能幫我這個?
uj5u.com熱心網友回復:
我想我會為這個單行解決方案做出貢獻。
print("\n##################\n".join(("{},\n'{}'".format([x for item in items[0] for x in item], items[1])) for items in bounds))
這產生與提問者的愿望完全相同的格式:
[1004, 128, 1209, 128, 1209, 200, 1004, 200],
'EC~L'
##################
[177, 179, 349, 179, 349, 241, 177, 241],
'OKI'
##################
[180, 236, 422, 236, 422, 268, 180, 268],
'Oki Eleclric Industry Co'
##################
[435, 243, 469, 243, 469, 263, 435, 263],
'Ltd'
##################
[180, 265, 668, 265, 668, 293, 180, 293],
'4-11-22 , Shibaura, Minalo-ku, Tokyo 108-855| Japan'
##################
[180, 291, 380, 291, 380, 318, 180, 318],
'Tel 81-3-5440-4884'
uj5u.com熱心網友回復:
如果我理解正確:
for l, s, _ in bounds:
print([lll for ll in l for lll in ll])
print(s)
print('##################')
輸出:
[1004, 128, 1209, 128, 1209, 200, 1004, 200]
EC~L
##################
[177, 179, 349, 179, 349, 241, 177, 241]
OKI
##################
[180, 236, 422, 236, 422, 268, 180, 268]
Oki Eleclric Industry Co
##################
[435, 243, 469, 243, 469, 263, 435, 263]
Ltd
##################
[180, 265, 668, 265, 668, 293, 180, 293]
4-11-22 , Shibaura, Minalo-ku, Tokyo 108-855| Japan
##################
[180, 291, 380, 291, 380, 318, 180, 318]
Tel 81-3-5440-4884
##################
uj5u.com熱心網友回復:
另一種解決方案
from itertools import chain
for numbers, description, _ in bounds:
numbers = list(chain(*numbers))
print(f"{numbers},\n"
f"'{description}'\n"
"##################")
輸出:
[1004, 128, 1209, 128, 1209, 200, 1004, 200],
'EC~L'
##################
[177, 179, 349, 179, 349, 241, 177, 241],
'OKI'
##################
[180, 236, 422, 236, 422, 268, 180, 268],
'Oki Eleclric Industry Co'
##################
[435, 243, 469, 243, 469, 263, 435, 263],
'Ltd'
##################
[180, 265, 668, 265, 668, 293, 180, 293],
'4-11-22 , Shibaura, Minalo-ku, Tokyo 108-855| Japan'
##################
[180, 291, 380, 291, 380, 318, 180, 318],
'Tel 81-3-5440-4884'
##################
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/372044.html
