import xml.etree.elementtree as et
import pickle
import os
from os import listdir, getcwd
from os.path import join
sets=
['train'
,'trainval'
]classes =
["mono"
]def
convert
(size, box)
: dw =1.
/size[0]
dh =1.
/size[1]
x =(box[0]
+ box[1]
)/2.0 y =
(box[2]
+ box[3]
)/2.0 w = box[1]
- box[0]
h = box[3]
- box[2]
x = x*dw
w = w*dw
y = y*dh
h = h*dh
return
(x,y,w,h)
defconvert_annotation
(image_id)
:# 轉換這一張的座標表示方式(格式),即讀取xml檔案的內容,計算後存放在txt檔案中。
in_file =
open
('annotation/%s'
% image_id)
image_id=image_id.split(
'.')[0
] out_file =
open
('labels/%s.txt'
%image_id,
'w')
tree=et.parse(in_file)
root = tree.getroot(
) size = root.find(
'size'
) w =
int(size.find(
'width'
).text)
h =int(size.find(
'height'
).text)
for obj in root.
iter
('object'):
difficult = obj.find(
'difficult'
).text
cls = obj.find(
'name'
).text
if cls not
in classes or
int(difficult)==1
:continue
cls_id = classes.index(cls)
xmlbox = obj.find(
'bndbox'
) b =
(float
(xmlbox.find(
'xmin'
).text)
,float
(xmlbox.find(
'xmax'
).text)
,float
(xmlbox.find(
'ymin'
).text)
,float
(xmlbox.find(
'ymax'
).text)
) bb = convert(
(w,h)
, b)
out_file.write(
str(cls_id)
+" "
+" "
.join(
[str
(a)for a in bb])+
'\n'
)for image_set in sets:
ifnot os.path.exists(
'labels/'):
os.makedirs(
'labels/'
)# 新建乙個 label 資料夾,用於存放yolo格式的標籤檔案:000001.txt
image_ids =
open
('%s.txt'
% image_set)
.read(
).strip(
).split(
)for image_id in image_ids:
image_id=image_id.split(
'/')[-
1]image_id=image_id.split(
'.')[0
] image_id=image_id+
".xml"
convert_annotation(image_id)
# 轉換這一張的座標表示方式(格式)
SqlServer將查詢結果轉換為XML和JSON
1.查詢結果轉xml declare parametersql nvarchar max select from table declare sql nvarchar max declare xmlstring varchar max declare xml xml declare paramlis...
Eprime的txt資料轉換為excel
總結完整 如下 示例 import os import pandas as pd 如下 示例 path c users chengsi desktop sj encoding exp program 第二次後測 eprime儲存資料的資料夾 txt ls 提取.txt字尾的檔案 for root,d...
將A B轉換為指定進製數
進製轉換是典型的棧的應用,特別是用陣列實現的順序棧就更簡單了,隨便ac了乙個九度的題目,記錄一下吧 輸入兩個不超過整型定義的非負10進製整數a和b 231 1 輸出a b的m 1 m 10 進製數。輸入格式 測試輸入包含若干測試用例。每個測試用例佔一行,給出m和a,b的值。當m為0時輸入結束。輸出格...