这篇教程Python+OpenCV图像处理之直方图统计写得很实用,希望能帮到您。
1. 直方图概述
(1)基本概念直方图就是对图像的另外一种解释,它描述了整幅图像的灰度分布。直方图的 x 轴代表灰度值(0~255),y 轴代表图片中同一种灰度值的像素点的数目,所以通过直方图我们可以对图像的亮度、灰度分布、对比度等有了一个直观的认识
(2)直方图中的术语BINS 前面说到,直方图中的 x 轴表示的是灰度值,一幅灰度图的灰度等级有 256 级,所以我们是否需要将每一个等级标注在一条轴上呢?或者如果我们需要的不是每一个灰度值的分布,而是一个范围内的灰度分布呢?所以我们将每一个需要的灰度值范围称为一个 BIN,即所有的灰度等级被分为几个小组,每一个小组是一个 BIN DIMS 代表的是我们收集的图像的参数的数目,直方图我们如果只收集灰度值一个参数,那么该参数的值就是1 RANGE 代表统计的灰度值的范围,一般的范围是[0-255]
2. 直方图绘制
(1)读取图像信息在计算机视觉系列的文章中第一件事就是读取图像信息: """Author:XiaoMadate:2021/10/24"""#调用需要的包import cv2import matplotlib.pyplot as plt img0 = cv2.imread('E:/From Zhihu/For the desk/cvseven.jpeg')img1 = cv2.cvtColor(img0, cv2.COLOR_BGR2GRAY) #转化为灰度图h, w = img1.shape[:2]print(h, w)cv2.namedWindow("W0")cv2.imshow("W0", img1)cv2.waitKey(delay = 0) 图像信息如下: 419 636 Python学习之字符串函数使用详解 python解析.pyd文件的详细代码
|