微信网站特点,wordpress ssl 设置,湖南3合1网站建设公司,wordpress创建自定义页面模板『youcans 的 OpenCV 例程200篇 - 总目录』 【OpenCV 例程200篇】45. 图像的灰度直方图 图像直方图是反映图像像素分布的统计表#xff0c;横坐标代表像素值的取值区间#xff0c;纵坐标代表每一像素值在图像中的像素总数或者所占的百分比。 灰度直方图是图像灰度级的函数横坐标代表像素值的取值区间纵坐标代表每一像素值在图像中的像素总数或者所占的百分比。 灰度直方图是图像灰度级的函数用来描述每个灰度级在图像矩阵中的像素个数。
灰度直方图反映了图像中的灰度分布规律直观地表现了图像中各灰度级的占比很好地体现出图像的亮度和对比度信息灰度图分布居中说明亮度正常偏左说明亮度较暗偏右表明亮度较高狭窄陡峭表明对比度降低宽泛平缓表明对比度较高。
根据直方图的形态可以判断图像的质量通过调控直方图的形态可以改善图像的质量。
OpenCV 提供了函数 cv2.calcHist 可以计算直方图Numpy 中的函数 np.bincount 也可以实现同样的功能。
函数说明
cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]]) → hist函数 cv2.calcHist 可以计算一维直方图或二维直方图函数的参数 images, channels, histSize, ranges 在计算一维直方图时也要带 [] 号。
参数说明
images输入图像用 [] 括号表示channels 直方图计算的通道用 [] 括号表示mask掩模图像一般置为 NonehistSize直方柱的数量一般取 256ranges像素值的取值范围一般为 [0,256]返回值 hist返回每一像素值在图像中的像素总数形状为 (histSize,1)
注意 参数 images, channels, histSize, ranges 都要带 [] 号。 mask 是与 images 大小相同的掩模图像掩模为 0 的区域不作处理。不使用掩模时设为 None。 3. channels 设置对彩色图像的指定通道计算直方图灰度图像时设为 0。 4. Numpy 中的函数 np.bincount 也可以实现同样的功能但该函数返回值的形状为 (histSize,) 例程1.57 图像的灰度直方图 # 1.57 图像的灰度直方图img cv2.imread(../images/imgLena.tif, flags0) # flags0 读取为灰度图像histCV cv2.calcHist([img], [0], None, [256], [0, 256]) # OpenCV 函数 cv2.calcHisthistNP, bins np.histogram(img.flatten(), 256)print(histCV.shape, histNP.shape) # histCV: (256, 1), histNP: (256,)plt.figure(figsize(10,3))plt.subplot(131), plt.imshow(img, cmapgray, vmin0, vmax255), plt.title(Original), plt.axis(off)plt.subplot(132,xticks[], yticks[]), plt.axis([0,255,0,np.max(histCV)])plt.bar(range(256), histCV[:,0]), plt.title(Gray Hist(cv2.calcHist))plt.subplot(133,xticks[], yticks[]), plt.axis([0,255,0,np.max(histCV)])plt.bar(bins[:-1], histNP), plt.title(Gray Hist(np.histogram))plt.show()本节完 版权声明 youcansxupt 原创作品转载必须标注原文链接(https://blog.csdn.net/youcans/article/details/121543352) Copyright 2022 youcans, XUPT Crated2021-11-22 【第4章灰度变换与直方图】
39. 图像灰度的线性变换 43. 图像的灰度变换对数变换 44. 图像的灰度变换伽马变换 45. 图像的灰度直方图