почему путь к фотографиям не сохраняется в массиве?

Я вроде как всё сделал правильно, проверил несколько раз, но оно никак не работает. Прога должна проверить фотографии на схожесть на 100% друг с другом, потом добавить повтолряющиеся фото в bad_image и не повторяющиеся в good_image, pic_image и pic_image1 времмено хранят в себе цвета пикселей с фото

from PIL import Image, ImageChops
import glob

filename_list = glob.glob('C:/Users/administrator/Desktop/1/image/*.jpeg')
filename_list1 = glob.glob('C:/Users/administrator/Desktop/1/image/*.jpg')
filename_list2 = glob.glob('C:/Users/administrator/Desktop/1/image/*.png')

images = filename_list + filename_list1 + filename_list2
used_images = []
bad_image = []
good_image = []
pic_image = []
pic_image1 = []

for i in range(len(images)):
    for j in range(len(images)):
        if i != j:
            image1 = Image.open(images[j])
            image = Image.open(images[i])
            width1 = image1.size[0]
            width = image.size[0]
            height1 = image1.size[1]
            height = image.size[1]
            pix1 = image1.load()
            pix = image.load()
            if width == width1 and height == height1:
                for k in range(width):
                    for l in range(height):
                        pic_image.append(pix[k, l])
                for k1 in range(width1):
                    for l1 in range(height1):
                        pic_image1.append(pix1[k1, l1])

                if pic_image == pic_image1:
                    if len(bad_image) != 0:
                        for m in range(len(bad_image)):
                            if bad_image[m] != images[i] and m == len(bad_image):
                                bad_image.append(images[i])
                    else:
                        bad_image.append(images[i])
                        if len(good_image) != 0:
                            for m in range(len(good_image)):
                                if good_image[m] != images[i] and m == len(good_image):
                                    good_image.append(images[i])
                                    print(i)
                        else:
                            good_image.append(images[i])
                            print(i)
                else:
                    if len(good_image) != 0:
                        for m in range(len(good_image)):
                            if good_image[m] != images[i] and m == len(good_image):
                                good_image.append(images[i])
                                print(i)
                    else:
                        good_image.append(images[i])
                        print(i)

                pic_image.clear()
                pic_image1.clear()
            else:
                if len(good_image) != 0:
                    for m in range(len(good_image)):
                        if good_image[m] != images[i] and m == len(good_image):
                            good_image.append(images[i])
                            print(i)
                else:
                    good_image.append(images[i])
                    print(i)

print(f'-------\n{len(good_image)}\n-------\n{len(bad_image)}')

Ответы (1 шт):

Автор решения: Александр
from io import BytesIO
import requests
from PIL import Image
from PIL import ImageChops


images_data = list()
good_images = list()
bad_images = list()

urls = [
        "https://javasea.ru/uploads/posts/2018-07/1530723114_morda-lva-lyudoeda.jpg", 
        "https://javasea.ru/uploads/posts/2018-07/1530723114_morda-lva-lyudoeda.jpg",
        "https://javasea.ru/uploads/posts/2021-09/1632834531_art_-morda-lva-vo-mrake.jpeg"]
        

for url in urls:
    data = Image.open(BytesIO(requests.get(url).content))
    images_data.append(data)

for image_one, image_two in zip(images_data, images_data[1::]):
    result = ImageChops.difference(image_one, image_two)
    if result.getbbox() is None:
        good_images.append(image_one)
    else:
        bad_images.append(image_one)


print(len(good_images)) # 1
print(len(bad_images)) # 1
→ Ссылка