Я пытаюсь получить доступ к соседним пикселям указанной координаты c при зацикливании фотографии, чтобы получить цвет RGB, но в некоторых случаях я получаю IndexError: image index out of range
. Я пытался избежать этого, используя некоторые условные выражения, но не сработало. Я хотел бы знать, как предотвратить эту ошибку.
img = Image.open('Images/test.jpg')
width, height = img.size
pixel_distance = 1
for x in range(width):
for y in range(height):
if y - pixel_distance < 0:
continue
if y + pixel_distance < height:
continue
if x - pixel_distance < 0:
continue
if x + pixel_distance > width:
continue
r, g, b = img.getpixel((x, y)) # Center pixel
r1, g1, b1 = img.getpixel((x, y + pixel_distance)) # Bottom pixel
r2, g2, b2 = img.getpixel((x, y - pixel_distance)) # Top pixel
r3, g3, b3 = img.getpixel((x + pixel_distance, y)) # Right pixel
r4, g4, b4 = img.getpixel((x - pixel_distance, y)) # Left pixel
r5, g5, b5 = img.getpixel((x + pixel_distance, y + pixel_distance)) # Bottom right pixel
r6, g6, b6 = img.getpixel((x + pixel_distance, y - pixel_distance)) # Top right pixel
r7, g7, b7 = img.getpixel((x - pixel_distance, y - pixel_distance)) # Top left pixel
r8, g8, b8 = img.getpixel((x - pixel_distance, y + pixel_distance)) # Bottom left pixel