将图像灰度直方图均衡化后并读取新的灰度直方图并显示的python代码
以下是将图像灰度直方图均衡化后并读取新的灰度直方图并显示的Python代码:
import cv2
import numpy as np
from matplotlib import pyplot as plt
# 读取图像
img = cv2.imread('image.jpg', 0)
# 进行灰度直方图均衡化
equ = cv2.equalizeHist(img)
# 计算新的灰度直方图
hist_equ = cv2.calcHist([equ], [0], None, [256], [0, 256])
# 显示原图像和均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)
# 显示原始灰度直方图和均衡化后的灰度直方图
plt.subplot(2, 1, 1), plt.plot(cv2.calcHist([img], [0], None, [256], [0, 256]))
plt.title('Original Histogram'), plt.xlim([0, 256]), plt.ylim([0, 5000])
plt.subplot(2, 1, 2), plt.plot(hist_equ)
plt.title('Equalized Histogram'), plt.xlim([0, 256]), plt.ylim([0, 5000])
plt.show()
# 等待按下任意按键退出
cv2.waitKey(0)
cv2.destroyAllWindows()
其中,cv2.equalizeHist()函数用于进行灰度直方图均衡化,cv2.calcHist()函数用于计算灰度直方图,plt.plot()函数用于绘制灰度直方图,plt.subplot()函数用于将多个图像显示在同一个窗口中。
原文地址: https://www.cveoy.top/t/topic/bJnh 著作权归作者所有。请勿转载和采集!