mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Merge pull request #810 from bherbruck/patch-1
Update cascade_convert.py
This commit is contained in:
commit
197e087543
@ -33,7 +33,7 @@ def cascade_info(path):
|
||||
stages_elements = xmldoc.getElementsByTagName('stages')
|
||||
stages = []
|
||||
for node in stages_elements[0].childNodes:
|
||||
if node.nodeType is 1:
|
||||
if node.nodeType == 1:
|
||||
stages.append(int(node.getElementsByTagName('maxWeakCount')[0].childNodes[0].nodeValue))
|
||||
stage_threshold = xmldoc.getElementsByTagName('stageThreshold')[0:n_stages]
|
||||
|
||||
@ -65,7 +65,7 @@ def cascade_info_old(path):
|
||||
n_stages = len(trees)
|
||||
|
||||
# read stages
|
||||
stages = [len(t.childNodes)/2 for t in trees][0:n_stages]
|
||||
stages = [len(t.childNodes)//2 for t in trees][0:n_stages]
|
||||
stage_threshold = xmldoc.getElementsByTagName('stage_threshold')[0:n_stages]
|
||||
|
||||
# total number of features
|
||||
@ -80,7 +80,7 @@ def cascade_info_old(path):
|
||||
feature = xmldoc.getElementsByTagName('rects')[0:n_features]
|
||||
|
||||
#read cascade size
|
||||
size = (map(int, xmldoc.getElementsByTagName('size')[0].childNodes[0].nodeValue.split()))
|
||||
size = list(map(int, xmldoc.getElementsByTagName('size')[0].childNodes[0].nodeValue.split()))
|
||||
|
||||
n_rectangles = 0
|
||||
for f in feature:
|
||||
@ -118,12 +118,12 @@ def cascade_binary(path, n_stages, name):
|
||||
stages_elements = xmldoc.getElementsByTagName('stages')
|
||||
stages = []
|
||||
for node in stages_elements[0].childNodes:
|
||||
if node.nodeType is 1:
|
||||
if node.nodeType == 1:
|
||||
stages.append(int(node.getElementsByTagName('maxWeakCount')[0].childNodes[0].nodeValue))
|
||||
stage_threshold = xmldoc.getElementsByTagName('stageThreshold')[0:n_stages]
|
||||
|
||||
# total number of features
|
||||
n_features = sum(stages)
|
||||
n_features = int(sum(stages))
|
||||
|
||||
# read features threshold
|
||||
internal_nodes = xmldoc.getElementsByTagName('internalNodes')[0:n_features]
|
||||
@ -191,7 +191,7 @@ def cascade_binary(path, n_stages, name):
|
||||
idx = int(f.childNodes[0].nodeValue.split()[2])
|
||||
rects = feature[idx].getElementsByTagName('_')
|
||||
for r in rects:
|
||||
l = map(int, r.childNodes[0].nodeValue[:-1].split())
|
||||
l = list(map(int, r.childNodes[0].nodeValue[:-1].split()))
|
||||
fout.write(struct.pack('b', l[4])) #int8_t NOTE: multiply by 4096
|
||||
|
||||
# write rects
|
||||
@ -199,8 +199,8 @@ def cascade_binary(path, n_stages, name):
|
||||
idx = int(f.childNodes[0].nodeValue.split()[2])
|
||||
rects = feature[idx].getElementsByTagName('_')
|
||||
for r in rects:
|
||||
l = map(int, r.childNodes[0].nodeValue[:-1].split())
|
||||
fout.write(struct.pack('BBBB',l[0], l[1], l[2], l[3])) #uint8_t
|
||||
l = list(map(int, r.childNodes[0].nodeValue[:-1].split()))
|
||||
fout.write(struct.pack('BBBB', l[0], l[1], l[2], l[3])) #uint8_t
|
||||
|
||||
# print cascade info
|
||||
print("size:%dx%d"%(size[0], size[1]))
|
||||
@ -240,7 +240,8 @@ def cascade_binary_old(path, n_stages, name):
|
||||
feature = xmldoc.getElementsByTagName('rects')[0:n_features]
|
||||
|
||||
# read cascade size
|
||||
size = (map(int, xmldoc.getElementsByTagName('size')[0].childNodes[0].nodeValue.split()))
|
||||
size = list(map(int, xmldoc.getElementsByTagName('size')[0].childNodes[0].nodeValue.split()))
|
||||
|
||||
|
||||
# open output file with the specified name or xml file name
|
||||
if not name:
|
||||
@ -288,14 +289,14 @@ def cascade_binary_old(path, n_stages, name):
|
||||
for f in feature:
|
||||
rects = f.getElementsByTagName('_')
|
||||
for r in rects:
|
||||
l = map(int, r.childNodes[0].nodeValue[:-1].split())
|
||||
l = list(map(int, r.childNodes[0].nodeValue[:-1].split()))
|
||||
fout.write(struct.pack('b', l[4])) #int8_t NOTE: multiply by 4096
|
||||
|
||||
# write rects
|
||||
for f in feature:
|
||||
rects = f.getElementsByTagName('_')
|
||||
for r in rects:
|
||||
l = map(int, r.childNodes[0].nodeValue[:-1].split())
|
||||
l = list(map(int, r.childNodes[0].nodeValue[:-1].split()))
|
||||
fout.write(struct.pack('BBBB',l[0], l[1], l[2], l[3])) #uint8_t
|
||||
|
||||
# print cascade info
|
||||
@ -335,7 +336,7 @@ def cascade_header(path, n_stages, name):
|
||||
feature = xmldoc.getElementsByTagName('rects')[0:n_features]
|
||||
|
||||
# read cascade size
|
||||
size = (map(int, xmldoc.getElementsByTagName('size')[0].childNodes[0].nodeValue.split()))
|
||||
size = list(map(int, xmldoc.getElementsByTagName('size')[0].childNodes[0].nodeValue.split()))
|
||||
|
||||
# open output file with the specified name or xml file name
|
||||
if not name:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user