如何使用Python对图片进行直方图均衡化
如何使用Python对图片进行直方图均衡化
导言:直方图均衡化是一种常见的图像增强方法,通过对图像的像素值进行调整,使得图像的灰度分布更加均匀,从而增强图像的对比度。在本文中,我们将学习如何使用Python中的OpenCV库来实现图像的直方图均衡化。
一、导入必要的库首先,我们需要导入Python中的一些必要的库:numpy用于处理数组,matplotlib用于显示图像,cv2用于图像处理。
import numpy as np import cv2 from matplotlib import pyplot as plt登录后复制
# 加载图像 img = cv2.imread('image.jpg', 0)登录后复制
# 计算直方图 hist = cv2.calcHist([img],[0],None,[256],[0,256])登录后复制
# 绘制原始图像和直方图 plt.subplot(121), plt.imshow(img, 'gray') plt.subplot(122), plt.plot(hist)登录后复制
# 进行直方图均衡化 equ = cv2.equalizeHist(img)登录后复制
# 绘制均衡化后的图像和直方图 plt.subplot(121), plt.imshow(equ, 'gray') plt.subplot(122), plt.plot(hist)登录后复制
# 显示图像 plt.show()登录后复制
import numpy as np import cv2 from matplotlib import pyplot as plt 1. 加载图像 img = cv2.imread('image.jpg', 0) 1. 计算直方图 hist = cv2.calcHist([img],[0],None,[256],[0,256]) 1. 绘制原始图像和直方图 plt.subplot(121), plt.imshow(img, 'gray') plt.subplot(122), plt.plot(hist) 1. 进行直方图均衡化 equ = cv2.equalizeHist(img) 1. 绘制均衡化后的图像和直方图 plt.subplot(121), plt.imshow(equ, 'gray') plt.subplot(122), plt.plot(hist) 1. 显示图像 plt.show()登录后复制
以上就是如何使用Python对图片进行直方图均衡化的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!