Total Text標籤轉IC15格式

2021-10-05 10:53:49 字數 2863 閱讀 2021

批量處理total-text資料集格式

的基礎上改了幾行**,修改了少量標籤中有換行符導致的錯誤結果。

import re

import cv2

import os

import numpy as np

from tqdm import tqdm

# total-text to ic15

# f:\zzxs\experiments\dl-data\totaltext\groundtruth\text\legacy

# f:\zzxs\experiments\dl-data\totaltext\groundtruth\text\legacy\\txt_format\test

root_path =

'f:\zzxs\experiments\dl-data\totaltext\groundtruth\text\legacy\\txt_format\train'

_indexes = os.listdir(root_path)

withtranscription =

true

defcvt_total_text()

: invalid_count =

0 all_count =

0for index in tqdm(_indexes, desc=

'convert labels'):

if os.path.splitext(index)[1

]!='.txt'

:continue

anno_file = os.path.join(root_path, index)

with

open

(anno_file,

'r+'

)as f:

# lines是每個檔案中包含的內容

lines =

[line for line in f.readlines(

)if line.strip()]

single_list =

all_list =

try:

i =0while i <

len(lines)

: line = lines[i]

.strip(

)while

not line.endswith(

']')

:print

('concat in '

, index)

i = i +

1 line = line +

' '+ lines[i]

.strip(

) i +=

1if line[-3

]=='#':

invalid_count +=

1 all_count +=

1 parts = line.split(

',')

xy_list =

for a, part in

enumerate

(parts)

:if a >1:

break

piece = part.strip(

).split(

',')

numberlist = re.findall(r'\d+'

, piece[0]

) xy_list.extend(numberlist)

length =

len(xy_list)

n =int(length /2)

x_list = xy_list[

:n] y_list = xy_list[n:

] single_list =

[none]*

(len

(x_list)

+len

(y_list)

) single_list[::

2]= x_list

single_list[1:

:2]= y_list

if withtranscription:

parts = line.split(

'\''

) transcription = parts[-2

]except exception as e:

print

('error: '

, index)

with

open

(anno_file,

'w')

as w:

for all_list_piece in all_list:

w.write(

','.join(all_list_piece)

) w.write(

'\n'

)print

('### count: '

, invalid_count)

print

('all count: '

, all_count)

print

('rate: '

,float

(invalid_count)

/all_count)

if __name__ ==

'__main__'

: cvt_total_text(

)

xml樣本標籤轉txt

我使用的資料標註工具生成的文件如下所示 以下部分用於讀取xml檔案,返回檢測框左上角和右下角的座標 def read xml in path tree etree.parse in path return tree def find nodes tree,path return tree.finda...

兩個span標籤 或i標籤 之間有間隙的問題

有三個i標籤,中間乙個放文字,前後兩個放的是iconfont 效果圖如下 會發現三個i標籤渲染出來之後中間會有挺大的空隙 嘗試設定邊距為0無果 解決方法 去掉三個i標籤前後的空格 換行也不行 讓它們連著寫 的確有效果,但是這樣 太亂,看著難受 方法二 將父元素font size設定為0 在子元素 i...

日常積累 轉 maven中scope標籤詳解

scope的分類 1.compile 預設值,表示被依賴專案需要參與當前專案編譯,和後續測試,執行週期也參與其中,是乙個比較強的依賴。打包的時候通常需要包含進去。2.test 依賴專案僅僅參與測試相關的工作,包括測試 的編譯和執行,不會被打包,例如 junit 3.runtime 被依賴專案無需參與...