(非直接利用函数)python绘制灰度图像直方图及其均衡化

本文介绍了如何在Python中利用opencv库,不直接使用内置函数,来绘制灰度图像的直方图并进行图像均衡化操作,适用于图像处理学习与实践。
摘要由CSDN通过智能技术生成

由于学习的需要,利用python和opencv实现简单的灰度图直方图绘制及其均衡化 。

代码如下

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

#画直方图
def zhifangtu(image): 
    a = [0]*256       #创建储存像素数的一维数组
    w = image.shape[0]#得到图像宽高
    h = image.shape[1]
    #计算灰度像素数
    for i in range(w):
        for j in range(h):
            gray = image[i,j]
            a[gray] += 1
    #以灰度为x轴像素数为y轴画直方图        
    y = a
    x = [i for i in range(256)]
    plt.figure()
    plt.title("zhifangtu")
    plt.xlabel("Bins")
    plt.ylabel("Pixels")
    plt.plot(x,y)
    plt.xlim([0,256])
    return a          #返回灰度像素数

#将图像均衡化
def junhenghua(a,image):#入口参数:灰度像素数和图片
    b = [0]*256#储存个灰度像素占比数据
    c = [0]*256#储存累计分布数据
    w = image.shape[0]
    h = image.shape[1]
    mn = w*h*1.0
    img = np.zeros([w,h],np.uint8)#创建空数组储存均衡化后数据
    
    #计算灰度分布密度
    for i in range(len(a)):
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值