以下是将图像灰度直方图均衡化后并读取新的灰度直方图并显示的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()函数用于将多个图像显示在同一个窗口中。

将图像灰度直方图均衡化后并读取新的灰度直方图并显示的python代码

原文地址: https://www.cveoy.top/t/topic/bJnh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录