Opencv | 直方图均衡化

python 复制代码
import cv2 #opencv 读取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt #Matplotlib是RGB
%matplotlib inline
python 复制代码
def cv_show(img,name):
    cv2.imshow(name,img)
    cv2.waitKey()
    cv2.destroyAllWindows()

cv2.calcHist(images,channels,mask,histSize,ranges)

  • images: 原图像图像格式为uint8 或 float32。当传入函数时应用中括号\[\]括来例如img

  • channels: 如果灰度图它的值就是0,如果是彩色图像的传入的参数可以是012,它们分别对应着BGR。

  • mask: 掩模图像。统整幅图像的直方图就把它为None。但是如果你想统图像某一分的直方图的你就制作一个掩模图像并使用它。

  • histSize: BIN 的数目。也应用中括号括来

  • ranges: 像素值范围常为0256

cat.jpg

python 复制代码
img = cv2.imread('cat.jpg',0)#0表示灰度图
hist = cv2.calcHist([img],[0],None,[256],[0,256])
hist.shape
python 复制代码
plt.hist(img.ravel(),256);
plt.show()

可视化运行结果:

直方图均衡化:

python 复制代码
equ = cv2.equalizeHist(img)
plt.hist(equ.ravel(),256)
plt.show()
python 复制代码
res = np.hstack((img,equ))
cv_show(res,'res')

运行结果:

自适应直方图均衡化:

python 复制代码
clahe = cv2.createCLAHE(clipLimit=2.0,tileGridSize=(8,8))
python 复制代码
res_clahe = clahe.apply(img)
res = np.hstack((img,equ, res_clahe))
cv_show(res,'res')

运行结果:

相关推荐
睿拓时创6 小时前
数字图像相关(DIC)领域:VIC-3D 11.4上线多款全新功能
人工智能
zzq77977 小时前
别把大模型 API Key 写进 APK:移动 AI 应用接口防盗刷实践
android·人工智能·安全·app加固·御盾安全·安卓加固
机器之心7 小时前
Kimi K3竟是GPT-2的22580倍,博主「肝」48小时发现:七年进化大模型不只是参数暴涨
人工智能·openai
Larcher7 小时前
从状态快照到惰性初始化:读懂 React useState 的三个关键场景
javascript·人工智能·后端
菜鸟‍7 小时前
【论文学习】MICCAI 2024 || SGSeg:通过自引导机制实现胸部X光片语言引导分割的无文本推理
人工智能·深度学习·学习
ddshub_cc7 小时前
2026 AI API 定价对比:GPT-5.6 vs Claude Fable 5 vs Opus 5,哪款模型最划算?
人工智能·gpt·ai·chatgpt
菜鸟‍7 小时前
【论文学习】arxiv 2024 || RoSIS:基于鲁棒框架重新审视文本提示式手术器械分割
人工智能·学习·计算机视觉
带娃的IT创业者7 小时前
中国开源大模型策略:正在赢得全球AI竞赛
人工智能·开源·qwen·开源大模型·deepseek·ai竞赛·开源策略
lichenyang4537 小时前
从 Vite 空项目到 AIGC 图片工作台:我如何打通生图、任务轮询、生成库与 Canvas 动态特效
前端·人工智能
黄啊码7 小时前
【黄啊码】省下美工钱,抢到搜索位,这个电商作图工具真香
人工智能