OpenCV Haar Cascade Creation



我想尝试使用此参考为我的毕业项目创建自己的.xml文件。

但是我有一个问题,第 6 阶段不起作用。它给出的错误如下:

Traceback (most recent call last):
File "./tools/mergevec.py", line 170, in <module>
merge_vec_files(vec_directory, output_filename)
File "./tools/mergevec.py", line 120, in merge_vec_files
val = struct.unpack('<iihh', content[:12])
TypeError: a bytes-like object is required, not 'str'

我找到了一个解决方案,它说找到 0 大小的矢量文件并删除它们。 但是,我不知道哪些矢量文件的大小为 0 以及如何检测它们。 你能帮忙吗?

当我改变它时,我能够解决我的问题:

for f in files:
with open(f, 'rb') as vecfile:
content = ''.join(str(line) for line in vecfile.readlines())
data = content[12:]
outputfile.write(data)
except Exception as e:
exception_response(e)

对于它:

for f in files:
with open(f, 'rb') as vecfile:
content = b''.join((line) for line in vecfile.readlines())
outputfile.write(bytearray(content[12:]))
except Exception as e:
exception_response(e)

就像我更改它之前一样:

content = ''.join(str(line) for line in vecfile.readlines())

对于它:

content = b''.join((line) for line in vecfile.readlines())

因为它正在等待一些 STR,现在它能够接收我们需要的二进制档案。

:)

尝试遵循本指南。这是最近的。

最新更新