直方图均衡化

简介: 直方图均衡化
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread('./image/dog.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

#Lena变黑
gray_dark = gray - 40
#Lena变亮
gray_bright = gray + 40

hist_gray = cv2.calcHist([gray],[0],None,[256], [0,255])
hist_dark = cv2.calcHist([gray_dark],[0],None,[256], [0,255])
hist_bright = cv2.calcHist([gray_bright],[0],None,[256], [0,255])

plt.plot(hist_gray)
plt.plot(hist_dark)
plt.plot(hist_bright)
plt.show()

#进行均衡化处理
dark_equ = cv2.equalizeHist(gray_dark)
bright_equ = cv2.equalizeHist(gray_bright)
cv2.imshow('gray_dark',np.hstack((gray_dark,dark_equ)))
cv2.imshow('gray_bright',np.hstack((gray_bright, bright_equ)))

cv2.waitKey(0)
cv2.destroyAllWindows()
目录
相关文章
|
6月前
|
计算机视觉
直方图均衡化
直方图均衡化是一种图像处理技术,通过改变图像灰度级分布,增强图像对比度。手动实现包括计算灰度直方图、像素总数、灰度分布频率、累积分布频率,然后归一化映射到新灰度级,最终得到增强对比度的图像。该方法适用于改善灰度集中或明暗对比不明显的图像,但全局处理可能导致背景干扰增强,丢失细节,且某些图像可能过度增强。局部直方图均衡化可作为改进方案。
106 1
|
计算机视觉 Python
直方图与直方图均衡化
直方图与直方图均衡化
|
4月前
|
计算机视觉 Python
将图像处理为灰度图和二值化图
【7月更文挑战第28天】将图像处理为灰度图和二值化图。
70 3
|
6月前
|
计算机视觉
普通直方图均衡化
普通直方图均衡化。
27 2
|
6月前
|
机器学习/深度学习 计算机视觉
均值滤波
【5月更文挑战第15天】均值滤波。
40 1
|
6月前
|
资源调度 API 计算机视觉
【OpenCV】—非线性滤波:中值滤波、双边滤波
【OpenCV】—非线性滤波:中值滤波、双边滤波
|
6月前
|
存储 编解码 资源调度
【OpenCV】—线性滤波:方框滤波、均值滤波、高斯滤波
【OpenCV】—线性滤波:方框滤波、均值滤波、高斯滤波
303 2
|
6月前
|
计算机视觉
图像直方图
以下是内容摘要: 本文介绍了直方图在图像处理中的应用,包括图像增强和图像分割。直方图均衡化用于改善图像的亮度分布,而根据直方图可获取分割阈值以实现图像分割。此外,直方图对比有助于图像分类。直方图是表示图像亮度分布的图表,通过分析直方图的峰值可判断图像属于低调、中间调还是高调。直方图均衡化则能将图像转换为灰度分布更均匀的新图像。
59 0
C++-灰度图上色GrayToColor
C++-灰度图上色GrayToColor
|
计算机视觉
灰度直方图及直方图均衡化
灰度直方图及直方图均衡化
92 0