电脑做服务器建网站并让外网访问,百度网站建立,wordpress 结构化数据插件,大学网站建设宣传方案基于Python的OpenCV基础入门——图像直方图 直方图图像直方图 图像直方图代码以及实现效果 直方图
直方图是一种用于描述图像亮度分布的统计工具。它将图像的像素亮度值按照不同的亮度等级进行计数#xff0c;并以直方图的形式呈现出来。图像直方图可以显示图像中每个亮度级别… 基于Python的OpenCV基础入门——图像直方图 直方图图像直方图 图像直方图代码以及实现效果 直方图
直方图是一种用于描述图像亮度分布的统计工具。它将图像的像素亮度值按照不同的亮度等级进行计数并以直方图的形式呈现出来。图像直方图可以显示图像中每个亮度级别的像素数量从而用于分析图像的亮度分布情况。
图像直方图
hist cv2.calcHist([img], [channels], Mask, [histSize], ranges) 参数 [img]: 必须用方括号括起来表示被计算的图像可以是多幅。 [channels]: 用于计算直方图的通道这里使用灰度图计算直方图所以就直接使用第一个通道多幅图像相当于多通道 Mask: 与原图维度相同被计算的区域1 计算0 不计算不使用该参数用 None。 [histSize]: 表示这个直方图分成多少份即多少个直方柱的数量。 ranges: 表示直方图中各个像素的值[0.0, 256.0]表示直方图能表示像素值从 0.0 到 256 的像素。
图像直方图代码以及实现效果
import cv2
import matplotlib.pyplot as pltimg cv2.imread(img/cat.jpg) img cv2.cvtColor(img,cv2.COLOR_BGR2RGB) #将BGR 格式转换为RGB 格式 # 绘制图像直方图
plt.subplot(2,1,1) # 2 * 1布局的 上面
hist1plt.hist(img.ravel(), 256, [0, 256]) #numpy 的ravel 函数功能是将多维数组降为一维数组 # 画三通道图像的折线图
plt.subplot(2,1,2)
color (b, g, r) #这里画笔颜色的值可以为大写或小写或只写首字母或大小写混合
for i , color in enumerate(color): hist cv2.calcHist([img], [i], None, [256], [0, 256]) #计算直方图 plt.plot(hist, color) plt.xlim([0, 256]) plt.show()图像直方图的实现效果如下: