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: 均衡化后的图像。

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

相关推荐
qq_199886871 小时前
第8板块·第2节:统一内存的高级特性与性能调优
c++·人工智能·gpu算力·cuda
ting94520001 小时前
深度拆解Enter Pro AI原生开发平台:从底层架构到企业级落地技术实践
人工智能·架构·ai-native
lisw051 小时前
人工智能辅助科学的快与慢!
人工智能
9呀1 小时前
vscode如何打开多个codex标签页
人工智能
todoitbo1 小时前
本地图库语义搜索实战:接上蓝耘元生代,让“傍晚的海边“能搜到图
人工智能·ai·api·工具实战
羊羊小栈1 小时前
基于「YOLO目标检测 + 多模态AI分析」的水稻病害智能检测分析预警系统(LangChain框架)
人工智能·yolo·目标检测·毕业设计·创业创新·大作业
IT_陈寒1 小时前
Vue的响应式让我熬到凌晨三点,原来漏了这个小细节
前端·人工智能·后端
lisw052 小时前
提升社会科学领域的计算可重复性
人工智能·数字时代
PascalXie2 小时前
服务机器人避障用的深度相机,主流选型有哪些?
计算机视觉·机器人
HyperAI超神经2 小时前
HyperAI 入选 36氪「East Forward 2026 出海全球化拓新企业」
人工智能·深度学习·全球化企业