Я новичок в компьютерном зрении и обработке изображений, во всяком случае, я пытаюсь вычислить гистограмму изображения y_channel, которая ранее была размыта cv2.GaussianBlur и преобразована из BGR в YCr-cb цветовое пространство. Однако конечный результат не совсем то, что я ожидал, он, похоже, не имеет типичного вида распределения Гаусса. Ниже приведен мой образ и сюжет.Гистограмма изображения Gaussian blur Y канала
И это фрагмент кода.
cv2.imwrite("/home/carlo/face.png", roi2)
img = cv2.imread('/home/carlo/face.png')
yuma = cv2.split(img)[0]
Hist = yuma.flatten().tolist()
grayscales = np.unique(Hist)
frequencies = [Hist.count(x) for x in grayscales]
plt.figure()
plt.bar(grayscales,frequencies,color='g',edgecolor='k')
plt.show()
Может ли кто-нибудь сказать, что я делаю неправильно? Спасибо
Почему вы ожидаете, что гистограмма будет гауссовой? Это будет несколько размазанная версия исходного дистрибутива, но не обязательно гауссовская. Сравните то, что вы получили с исходным распределением изображения. –
@WarrenWeckesser Я отредактировал вопрос, я думаю, что яркость лица должна выглядеть как гистограмма Гаусса. – wind85
@WarrenWeckesser, возможно, было бы полезно знать, что я следую этой статье http://www2.tku.edu.tw/~tkjse/15-2/10-IE9920.pdf, раздел 3.2 – wind85