图像直方图

图像直方图

笔记及代码

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

"""
图像直方图:数字图像中亮度分布的直方图,标绘了图像中每个亮度的像素值
横坐标:图像中各个像素点的灰度级(表示黑白图像或彩色图像转换为灰度图像后的明暗程度)
纵坐标:具有该灰度级的像素个数
用于修图

归一化直方图:
纵坐标:灰度级的概率
"""
img = cv2.imread('./img/cat.jpeg')

"""
绘制直方图
"""
# 注意[]是列表,说明可以有多个,通道([0], [1], [2]):[0],mask(掩码图像,如果要统计整幅图像为None,要统计图像的某一部分,在下面介绍):None
# histSize(直方图柱子的数量):[256], ranges(像素范围):[0, 255]
hist = cv2.calcHist([img], [0], None, [256], [0, 255])

# 绘制掩码图像 zeros全黑图像
img1 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
mask = np.zeros(img1.shape, np.uint8)

# 设置要显示统计直方图的区域 255是白色
mask[200:400, 200:400] = 255
hist2 = cv2.calcHist([img1], [0], mask, [256], [0, 255])

# img和img先做与运算,得到的结果再和mask运算
cv2.imshow("mask", cv2.bitwise_and(img1, img1, mask))


"""
直方图均衡化
"""
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 变黑
gray_dark = gray - 40

# 变量
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, label='gray')
plt.plot(hist_dark, label='dark')
plt.plot(hist_bright, label='bright')
# plt.show()

# 均衡化
dark_e = cv2.equalizeHist(gray_dark)
bright_e = cv2.equalizeHist(gray_bright)

# 画出处理后的直方图
# 画图各自的直方图
plt.plot(dark_e, label='dark_e')
plt.plot(bright_e, label='bright_e')
plt.show()


cv2.imshow('gray_dark', np.hstack((gray_dark, dark_e)))
cv2.imshow('gray_bright', np.hstack((gray_bright, bright_e)))
cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
Setsuna_F_Seiei2 小时前
前端的 AI 学习之路 02 之 Provider 与 Structured Output - 规范化模型输入输出
人工智能·agent·ai编程
JavaPub-rodert3 小时前
王仕宇RAG 实战教程(二):从 0 搭建一个可运行的 RAG 知识库——Embedding、Qdrant 与问答实战
人工智能·embedding
Setsuna_F_Seiei3 小时前
前端的 AI 学习之路 01 之 Agent API 调用 - 和 Agent 的基础对话
前端·人工智能·ai编程
咔咔学姐kk4 小时前
小白程序员必收藏:轻松入门AI Agent开发,大厂校招新风口!
人工智能·深度学习·ai·程序员·大模型·就业·大模型学习
2601_967097224 小时前
园区巡检机器人推荐:4项评估维度与主流产品横评
大数据·人工智能·信息可视化
stuartevil4 小时前
零基础怎么用AI文生漫剧做出一条完整视频
人工智能·音视频
极客猴子5 小时前
能提取抖音视频文案的APP推荐:短视频文案工具合集
人工智能·智能手机·音视频·语音识别
sel_95 小时前
【强化学习】Hands-on Modern RL项目实践|OPD 算法完整解析
人工智能·深度学习·算法·机器学习·语言模型
xushichang123_5 小时前
Agentic AI 应用 Token 开销居高不下,可借助哪些云平台与架构实现成本管控?
人工智能
世岩清上5 小时前
新能源宣传片怎么拍?如何用画面讲好你的绿色能源故事
大数据·人工智能·能源·宣传片·宣传片拍摄