computer_vision icon indicating copy to clipboard operation
computer_vision copied to clipboard

Error in Decoding

Open ebnuakoh opened this issue 5 years ago • 3 comments

Hi, I run into this error while trying your code in Jupyter. Here is the error. Kindly help. Thanks!

UnicodeDecodeError Traceback (most recent call last) in () ----> 1 run()

in run() 12 batch_extractor(images_path) 13 ---> 14 ma = Matcher('features.pck') 15 16 for s in sample:

in init(self, pickled_db_path) 3 def init(self, pickled_db_path="features.pck"): 4 with open(pickled_db_path) as fp: ----> 5 self.data = pickle.load(fp) 6 self.names = [] 7 self.matrix = []

~/anaconda3/lib/python3.6/codecs.py in decode(self, input, final) 319 # decode input (taking the buffer into account) 320 data = self.buffer + input --> 321 (result, consumed) = self._buffer_decode(data, self.errors, final) 322 # keep undecoded input until the next call 323 self.buffer = data[consumed:]

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte

ebnuakoh avatar Sep 28 '18 14:09 ebnuakoh

  1. dont use UTF8 filenames, and many problems go away
  2. here is fix https://stackoverflow.com/questions/17303266/how-to-pickle-unicodes-and-save-them-in-utf-8-databases

creotiv avatar Sep 28 '18 14:09 creotiv

1. dont use UTF8 filenames, and many problems go away

2. here is fix https://stackoverflow.com/questions/17303266/how-to-pickle-unicodes-and-save-them-in-utf-8-databases

Thanks for your quick response. I'm using python 3.6 in Anaconda 1.8.7 I fixed it by:

  1. modifying init method in Matcher class: with open(pickled_db_path**, 'rb'**) as fp:
  2. And replaced iteritems with items in same method: for k, v in self.data.items():

ebnuakoh avatar Sep 28 '18 20:09 ebnuakoh

Even i am having the same problem but after doing this i have one more error

names, match = ma.match(s, topn=3)

AttributeError: 'Matcher' object has no attribute 'match' please help me through this.

barhaiya11 avatar Apr 12 '19 05:04 barhaiya11