У меня есть случай использования, когда мне нужно найти последовательное количество цветов пикселей rgb для каждого кадра живого видео после поиска.Я нашел фрагмент кода, который делает то же самое, но с точки зрения производительности требуется около 3 секунд, чтобы дать мне результат, но в В моем случае я должен сделать этот расчет как можно быстрее, может быть 25 кадров за 1 секунду. Может ли кто-нибудь помочь мне понять, как это сделать, рефакторинг приведенного ниже кода
from PIL import Image
import timeit
starttime = timeit.default_timer()
with Image.open("netflix.png") as image:
color_count = {}
width, height = image.size
print(width,height)
rgb_image = image.convert('RGB')
for x in range(width):
for y in range(height):
rgb = rgb_image.getpixel((x, y))
if rgb in color_count:
color_count[rgb] += 1
else:
color_count[rgb] = 1
print('Pixel Count per Unique Color:')
print('-' * 30)
print(len(color_count.items()))
print("The time difference is :", timeit.default_timer() - starttime)
выход:
Количество пикселей на уникальный цвет: 130869
Разница во времени: 3.9660612