opencv打卡21: 直方图归一化

1、介绍

在这里插入图片描述
2、实现代码

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


def hist_normalization(img, a=0, b=255):
    c = img.min()
    d = img.max()

    out = img.copy()

    # normalization
    out = (b - a) / (d - c) * (out - c) + a
    out[out < a] = a
    out[out > b] = b

    return out

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

# histogram normalization
out = hist_normalization(img)

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

3、思考:
我从中学习到的是:# 数组可以这样进行
out = (b - a) / (d - c) * (out - c) + a
out[out < a] = a
out[out > b] = b

展开阅读全文

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

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

支付成功即可阅读