【计算机视觉】人脸算法之图像处理基础知识(六)

图像直方图

图像直方图是描述图像中像素强度分布的一种统计图表,它是图像处理和计算机视觉领域中一个非常基础且重要的概念。图像直方图通常用于分析图像的亮度、对比度特性,以及在图像增强、阈值分割、特征提取等多种图像处理任务。

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

#计算灰度图像的直方图
gray_image = cv2.imread(r'images\img1.jpg', cv2.IMREAD_GRAYSCALE)
hist = cv2.calcHist([gray_image], [0], None, [256], [0, 256])

plt.figure()
plt.title("Grayscale Histogram")
plt.xlabel("Bins")
plt.ylabel("of Pixels")
plt.plot(hist)
plt.xlim([0, 256]) 
plt.show()

计算彩色图像的直方图,需要将rgb通道进行分离,单个计算每个通道的直方图,然后再绘制在一起。

相关推荐
Swift社区7 小时前
LeetCode 450 - 删除二叉搜索树中的节点
算法·leetcode·职场和发展
长安er7 小时前
LeetCode 46/51 排列型回溯题笔记-全排列 / N 皇后
笔记·算法·leetcode·回溯·递归·n皇后
天赐学c语言7 小时前
12.16 - 全排列 && C语言中声明和定义的区别
c++·算法·leecode
LYFlied7 小时前
【每日算法】LeetCode 146. LRU 缓存机制
前端·数据结构·算法·leetcode·缓存
a努力。7 小时前
小红书Java面试被问:ThreadLocal 内存泄漏问题及解决方案
java·jvm·后端·算法·面试·架构
LYFlied7 小时前
【每日算法】LeetCode142. 环形链表 II
数据结构·算法·leetcode·链表
超级大只老咪7 小时前
“和”与“或”逻辑判断与条件取反(Java)
java·算法
LYFlied7 小时前
【每日算法】LeetCode 23. 合并 K 个升序链表
前端·数据结构·算法·leetcode·链表
xiaoxue..7 小时前
LeetCode 第 15 题:三数之和
前端·javascript·算法·leetcode·面试
yaoh.wang7 小时前
力扣(LeetCode) 28: 找出字符串中第一个匹配项的下标 - 解法思
python·程序人生·算法·leetcode·面试·职场和发展·跳槽