Python: оценка контрастности изображения (видео)

Для моего проекта мне нужен график, показывающий, как качество контраста в видео меняется со временем. В данный момент я вычисляю CDF гистограммы изображения для каждого кадра - теперь мне нужно перевести это в какой-то процент / показатель качества. Я думаю о сравнении CDF с идеальным CDF (может быть, использовать выравнивание гистограммы, чтобы найти идеальный CDF для каждого отдельного кадра?) Или каким-то другим значением или функцией, например, предполагая, что идеально плоская гистограмма будет идеальной?

Это часть моего маленького сценария - я также довольно плохо знаком с анализом Python и изображений / видео - я был бы признателен за подсказку в правильном направлении и / или, возможно, некоторый пример кода о том, как сравнивать CDF или другие функции в Python, используя Numpy или функции OpenCV. Заранее спасибо!

img = cv2.imread('picture.png')
hist,bins = np.histogram(img.ravel(),256,[0,256])
plt.hist(img.ravel(),256,[0,256])
cdf = hist.cumsum()
cdf_normalized = cdf * hist.max()/ cdf.max()
plt.plot(cdf_normalized, color = 'r')

0 ответов

Другие вопросы по тегам