直方图详解
直方图作用(统计像素点都有多少个)
读入灰度图
cv2.calcHist(images,channels,mask,histsize,ranges)
●images:原图像图像格式为uint8或float32。 当传入函数时应用中括号[]括来例如[img]
●channels:同样用中括号括来它会告函数我们统幅图像的直方图。如果入图像是灰度图它的值就是[0]如果是彩色图像的传入的参数可以是[0][1[2]它们分别对应着BGR。拆分BGR分别分析B.G.R.
mask:掩模图像。统整幅图像的直方图就把它为None,但是如果你想统图像某一分的直方图的你就制作一个掩模图像并使用它。
●histSize:bin的数目。也应用中括号括来。一般为256。
●ranges:像素值范围一般为[0,256]
创建mast
mask = np.zeros(img.shape[:2],np.uint8) #img.shape[:2] 二维的 np.uint8 8位无符号整型 0-255
mask[100:300,100:400]=255 #选择的保存的部分
masked_img = cv2.bitwise_and(img, img, mask=mask) #与操作
'直方图均值化处理-------使图片颜色更深'
img = cv2.imread('../picture/tupian6-2.jpg',0) #0表示灰度图 #clahe
equ = cv2.equalizeHist(img)
# res = np.hstack((img,equ))
# cv2.imshow('res',res)
# cv2.waitKey()
'自适应直方图均衡化----把图像分成一块一块的分开做再合并-----会使图像更精细'
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
res_clahe = clahe.apply(img)
res = np.hstack((img,equ,res_clahe))
cv2.imshow('res',res)
cv2.waitKey()