图像处理(七)图像增强

图像增强的本职就是增加灰度级,也就是灰度值的范围,可以在灰度直方图中很明显的看到!通常增加灰度级的方法未img*a a>1对比度增加反之减少,img+b b>0亮度增加反之减少。
增加灰度级的函数:
1)伽马变换:伽马变换需要对灰度进行归一化 img/255
函数np.power(img/255,伽马系数0.4为例) 系数越大越暗,超过1时会比原图暗,越小越亮,进行伽马变换后系数太小暗区会出现噪声,噪声不多

2)全局直方均衡化:优点是对提高对比度很有效,但均衡化以后原暗区噪声会被放大,亮区可能会损失信息,暗区噪声明显比伽马变换要大,噪声较大
函数cv2.equalizeHist()

3)限值对比度的自适应直方图均衡化:对比全局直方均衡化的优点在于可以有效避免暗区的噪声放大。噪声可控 参数越大,噪声越大,越亮
函数clahe = cv2.createCLAHE(clipLimit=2.0,tileGridSize=(8,8))
阈值均衡化
result = clahe.apply(img)
直方图代码如下:

import numpy as np
import cv2
import matplotlib.pyplot as plt

image = cv2.imread('test.jpg',0)
hight,width = image.shape
gray_map = np.asarray([x for x in range(256)])

for i in range(hight):
	for j in range(width):
		gray_map[image[i,j]] += 1

print(gray_map)

x = range(256)
plt.plot(x,gray_map,'r',linewidth=2,c='black')
plt.show()

函数代码实现如下:

import numpy as np
import cv2
import matplotlib.pyplot as plt

image = cv2.imread('test1.jpg',0)

hight,width = image.shape

#伽马变换
#image = np.power(image/255,0.4)
#全局直方均衡化
#image = cv2.equalizeHist(image)

#限值对比度的自适应直方图均衡化
#clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
#image = clahe.apply(image)

for i in range(hight):
	for j in range(width):
		if image[i,j]<100:
			image[i,j] += 100

cv2.imshow('test',image)
cv2.waitKey(0)
cv2.destroyWindows()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值