直方图均衡全套python

1、颜色直方图(单张图像 绘制颜色直方图)

#-------------------------------单张图像 绘制颜色直方图-三通道直方图-----
import cv2
import numpy as np 
import matplotlib.pyplot as plt
def plot_demo(image):
	plt.hist(image.ravel(),256,[0,256])
	plt.show("直方图")

def image_hist(image):
	color=('blue','green','red')
	for i,color in enumerate(color):
		hist=cv2.calcHist([image],[i],None,[256],[0,256])
		plt.plot(hist,color=color)
	plt.show()

if __name__ == '__main__':
	image=cv2.imread('../opencv-python-img/lena.png')
	#plot_demo(image)
	image_hist(image)

在这里插入图片描述
2.批量绘制三通道(RGB)直方图

import cv2
import numpy as np 
import os
def ImageHist(image,type):
	color=(255,255,255)
	if type==31:
		color=(255,0,0)
		windowName='B hist'
	elif type==32:
		color=(0,255,0)
		windowName='G hist'
	elif type==33:
		color=(0,0,255)
		windowName='R hist'
	#1 image 2 通道  3 mask None 4 256种灰度值 5 0-255
	hist = cv2.calcHist([image],[0],None,[256],[0.0,255.0])
	minV, maxV,minL,maxL=cv2.minMaxLoc(hist)
	histImg=np.zeros([256,256,3],np.uint8)
	for h in range(256):
		intenNormal=int(hist[h]*256/maxV)
		cv2.line(histImg,(h,256),(h,256-intenNormal),color)
	cv2.imshow(windowName,histImg)
	return histImg
    
if __name__=="__main__":
    path='../data/person/img/'
    for file in os.listdir(path):

        file_path=os.path.join(path,file)
        img=cv2.imread(file_path,1)
        cv2.imshow('img',img)
        channels=cv2.split(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值