数字图像处理---直方图均衡化

直方图均衡化

很多博客都是讲的理论以及opencv中的函数的使用,并没有具体的阐述函数的基本写法,小编给大家带来具体的函数实现方法

import cv2 as cv
G=[0 for k in range(256)]#用于存取相应灰度级的个数
balance=[0 for k in range(256)]#用于存取均衡化相应灰度级的变化
src=cv.imread("H:\\tupian\\timg.bmp",0)
size=src.shape
cv.imshow("42",src)
for i in range(size[0]):
      for j in range(size[1]):
            G[src[i,j]]=G[src[i,j]]+1#读取相应灰度级的个数
for k in range(256):
      if k>1:
            balance[k]=balance[k-1]+((255*G[k])/(size[0]*size[1]))#应用灰度级均衡化公式
      else:
            balance[k]=(255*G[k])/(size[0]*size[1])
for i in range(size[0]):
      for j in range(size[1]):
            k=0
            for k in range(256):
                  if src[i,j]==k:
                          src[i,j]=balance[k]#对相应灰度级进行均衡化之后的赋值
                          break
cv.imshow("43",src)
cv.imwrite("H:\\tupian\\changetimg.bmp",src)#将获取的图片进行保存
cv.waitKey(0)

效果图对比
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值