Ошибка при выполнении определения текста API Google Vision из файла - PullRequest
0 голосов
/ 01 апреля 2020

Привет, я изучаю API Google vision и реализовал обнаружение текста из файла, где мне нужно нарисовать ограничивающие рамки для визуализации слов, абзацев и блоков. Но во время выполнения я получаю ошибку в библиотеке подушек. Кто-нибудь может мне помочь? Я упомянул об ошибке ниже и часть кода здесь:

КОД:

def draw_boxes(image, bounds, color, width=5):
    draw = ImageDraw.Draw(image)
    for bound in bounds:
        draw.line([
            bound.vertices[0].x, bound.vertices[0].y,
            bound.vertices[1].x, bound.vertices[1].y,
            bound.vertices[2].x, bound.vertices[2].y,
            bound.vertices[3].x, bound.vertices[3].y,
            bound.vertices[0].x, bound.vertices[0].y], fill=color, width=width)
    return image```

#CODE ENDS


#Error
```Traceback (most recent call last):
  File "/home/sridhar/PycharmProjects/documentOCR/venv/lib/python3.6/site-packages/PIL/ImagePalette.py", line 99, in getcolor
    return self.colors[color]
KeyError: (255, 255, 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "myOCR.py", line 60, in <module>
    draw_boxes(image, bounds, 'yellow')
  File "myOCR.py", line 37, in draw_boxes
    bound.vertices[0].x, bound.vertices[0].y], fill=color, width=width)
  File "/home/sridhar/PycharmProjects/documentOCR/venv/lib/python3.6/site-packages/PIL/ImageDraw.py", line 155, in line
    ink = self._getink(fill)[0]
  File "/home/sridhar/PycharmProjects/documentOCR/venv/lib/python3.6/site-packages/PIL/ImageDraw.py", line 112, in _getink
    ink = self.palette.getcolor(ink)
  File "/home/sridhar/PycharmProjects/documentOCR/venv/lib/python3.6/site-packages/PIL/ImagePalette.py", line 109, in getcolor
    self.palette[index + 256] = color[1]
IndexError: bytearray index out of range```


EDIT:
This error happens only to specific images, when I tried with a new image it works perfectly fine.
...