Итак, это мой код. Переменная img - это исходное изображение. Переменная eq является уравненным изображением.Как построить выровненную гистограмму изображения с помощью Python?
from matplotlib.pyplot import imread, imshow, show, subplot, title, get_cmap, hist
from skimage.exposure import equalize_hist
img = imread('images/city.tif')
eq = equalize_hist(img)
subplot(221); imshow(img, cmap=get_cmap('gray')); title('Original')
subplot(222); hist(img.flatten(), 256, range=(0,256)); title('Histogram of origianl')
subplot(223); imshow(eq, cmap=get_cmap('gray')); title('Histogram Equalized')
subplot(224); hist(eq.flatten(), 256, range=(0,256));
show()
Теперь, когда я запускаю, код, я получаю гистограмму оригинала просто отлично. Но гистограмма уравнивания неверна. Это все из моего выхода
Что я делаю не так?!?!
EDIT: встроенные команды MATLAB из the answer прекрасно работает для конкретного изображения
О, вы забыли '=' во втором вызове 'hist()'. Существует 'range (0, 256)' вместо 'range = (0, 256)' –
Я исправил его, спасибо. Это просто выводит «слишком много значений для распаковки». Это не влияет на проблему с гистограммой – Mustafa
Возможно, значения находятся только между 0 и 1. – User