Привет, я изучаю 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.