opencv-直方图均衡化

直方图均衡化是一种用于增强图像对比度的图像处理技术。它通过调整图像的灰度级别分布,使得图像中各个灰度级别的像素分布更均匀,从而提高图像的对比度。

在OpenCV中,你可以使用cv2.equalizeHist()函数来进行直方图均衡化。

以下是一个简单的示例:

python 复制代码
 
import cv2
import matplotlib.pyplot as plt

# 读取灰度图像
img = cv2.imread(r"C:\Users\mzd\Desktop\opencv\2.jpg", cv2.IMREAD_GRAYSCALE)

# 进行直方图均衡化
equ = cv2.equalizeHist(img)

# 绘制原始图像和均衡化后的图像
plt.figure(figsize=(8, 4))

plt.subplot(1, 2, 1)
plt.imshow(img, cmap='gray')
plt.title('Original Image')

plt.subplot(1, 2, 2)
plt.imshow(equ, cmap='gray')
plt.title('Equalized Image')

plt.show()

# 显示原始图像和均衡化后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)

# 等待用户按下任意键
cv2.waitKey(0)
cv2.destroyAllWindows()

在这个示例中,我们首先读取了一幅灰度图像,然后使用 cv2.equalizeHist() 函数进行直方图均衡化。最后,我们使用 Matplotlib 绘制了原始图像和均衡化后的图像。

cv2.equalizeHist() 是 OpenCV 中用于进行直方图均衡化的函数。该函数的基本语法如下:

python 复制代码
dst = cv2.equalizeHist(src)

参数说明:

  • src: 输入图像,通常为灰度图像。

返回值:

  • dst: 均衡化后的图像。

直方图均衡化可以在很大程度上提高图像的对比度,特别是当图像的灰度级别分布不均匀时。这在图像处理中经常用于改善图像的视觉效果。

相关推荐
AI科技5 分钟前
原创音乐人搭配AI编曲软件,编曲音源下载哪个软件
人工智能
JQLvopkk5 分钟前
C# 实践AI :Visual Studio + VSCode 组合方案
人工智能·c#·visual studio
饭饭大王6667 分钟前
CANN 生态深度整合:使用 `pipeline-runner` 构建高吞吐视频分析流水线
人工智能·音视频
初恋叫萱萱7 分钟前
CANN 生态中的异构调度中枢:深入 `runtime` 项目实现高效任务编排
人工智能
简佐义的博客9 分钟前
生信入门进阶指南:学习顶级实验室多组学整合方案,构建肾脏细胞空间分子图谱
人工智能·学习
无名修道院9 分钟前
自学AI制作小游戏
人工智能·lora·ai大模型应用开发·小游戏制作
晚霞的不甘18 分钟前
CANN × ROS 2:为智能机器人打造实时 AI 推理底座
人工智能·神经网络·架构·机器人·开源
互联网Ai好者22 分钟前
MiyoAI数参首发体验——不止于监控,更是你的智能决策参谋
人工智能
island131422 分钟前
CANN HIXL 通信库深度解析:单边点对点数据传输、异步模型与异构设备间显存直接访问
人工智能·深度学习·神经网络
初恋叫萱萱27 分钟前
CANN 生态中的图优化引擎:深入 `ge` 项目实现模型自动调优
人工智能