【图像增强】灰度图与RGB图Clahe的python实现

Clahe:Contrast Limited Adaptive Histogram Equalization 对比度受限的自适应直方图均衡化
Clahe的理论解释:
  Clahe理论详解1
  Clahe理论详解2

1.函数 cv2.createCLAHE

c v 2. c r e a t e C L A H E ( c l i p L i m i t = N o n e , t i l e G r i d S i z e = N o n e ) {cv2.createCLAHE(clipLimit=None, tileGridSize=None)} cv2.createCLAHE(clipLimit=None,tileGridSize=None)
c l i p L i m i t {clipLimit} clipLimit:对比度限制阈值;
t i l e G r i d S i z e {tileGridSize} tileGridSize:用于直方图均衡化的网格大小。输入图像将被分割成大小相等的矩形块。tileGridSize定义行和列中的块数;

2.灰度图

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import cv2


test = Image.open('./tupian/test4.png').convert('L')
test = np.uint8(test)

test_hist = cv2.equalizeHist(test)
clahe = cv2.createCLAHE(clipLimit=4, tileGridSize=(10,5))
test_clahe = clahe.apply(test)

plt.figure()
plt.subplot(1,3,1),plt.imshow(test, 'gray')
plt.axis('off'),plt.title('原图')
plt.subplot(1,3,2),plt.imshow(test_hist, 'gray')
plt.axis('off'),plt.title('直方图均衡化')
plt.subplot(1,3,3),plt.imshow(test_clahe, 'gray')
plt.axis('off'),plt.title('Clahe')
plt.show()

在这里插入图片描述

3.RGB图

from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import cv2


img = Image.open('./tupian/test5.jpg').convert('RGB')
img = np.uint8(img)

imgr = img[:,:,0]
imgg = img[:,:,1]
imgb = img[:,:,2]

claher = cv2.createCLAHE(clipLimit=3, tileGridSize=(10,18))
claheg = cv2.createCLAHE(clipLimit=2, tileGridSize=(10,18))
claheb = cv2.createCLAHE(clipLimit=1, tileGridSize=(10,18))
cllr = claher.apply(imgr)
cllg = claheg.apply(imgg)
cllb = claheb.apply(imgb)

rgb_img = np.dstack((cllr,cllg,cllb))

plt.subplot(1,2,1),plt.imshow(img)
plt.title('原图'),plt.axis('off')
plt.subplot(1,2,2),plt.imshow(rgb_img)
plt.title('Clahe'),plt.axis('off')
plt.show()

在这里插入图片描述
RGB图实验可见:Clahe具有一定的去雾效果

  • 8
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值