opencv打卡22: 直方图平坦化

1、介绍
在这里插入图片描述
2、代码

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


def hist_mani(img, m0=128, s0=52):
    m = np.mean(img)
    s = np.std(img)

    out = img.copy()

    # normalization
    out = (s0 / s) * (out - m) + m0
    out[out < 0] = 0
    out[out > 255] = 255

    return out


img = cv2.imread('lena.jpg').astype(np.float)
H, W, C = img.shape

# histogram normalization
out = hist_mani(img)

# Display histogram
plt.hist(out.ravel(), bins=255, rwidth=0.8, range=(0, 255))
plt.savefig('result.png')
plt.show()

3、我的思考总结:
m = np.mean(img)
s = np.std(img)

获取数组的平均值和方差的函数使用!

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读