Arda Ünal
Arda Ünal

Reputation: 3

OpenCV Haar Cascade Creation

I want to try create my own .xml file for my graduation project with this reference.

But I have a problem which stage 6 doesn't work.It gives error such as:

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'

I have found a solution which says find 0 size vector files and delete them. But, I don't know which vector files are 0 size and how I can detect them. Can you help about this please?

Upvotes: 0

Views: 133

Answers (2)

Andrey Torres de Lima
Andrey Torres de Lima

Reputation: 59

I was able to solve my problem when i changed it:

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 it:

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)

and like before i changed it:

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

for it:

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

because it was waiting for some str, and now it is able to receive the binary archives that we're in need.

:)

Upvotes: 1

Piotr Rarus
Piotr Rarus

Reputation: 952

Try following this guide. It's more recent.

Upvotes: 0

Related Questions