图像直方图归一化HistogramNormalization

更新时间:2023-07-20 17:55:42 阅读: 评论:0

图像直⽅图归⼀化HistogramNormalization
⼀. 直⽅图归⼀化
中国少数民族有哪些
有些灰度图像的像素并没有分布在 [0,255] 内,⽽是分布在 [0,255] 的⼦区间内。这样的图像⾁眼看上去往往不是很清晰。我们可以通过直⽅图归⼀化的⽅式,将它的像素分布从 [0,255] 的⼦区间变为 [0,255] 范围内。通过这样的⽅式,往往可以增加图像的清晰度。
这种归⼀化直⽅图的操作被称为灰度变换(Grayscale Transformation)。像素点的取值范围从 [c,d] 转换到 [a,b] 的算法如下:
直⽅图归⼀化算法 ↑
⼆. 实验:将⼀张灰度范围为 [10,160] 的图像进⾏直⽅图归⼀化,使其灰度范围为 [0,255]
import cv2
import numpy as np
米锅巴的做法import matplotlib.pyplot as plt邬烈康
# histogram normalization
def hist_normalization(img, a=0, b=255):
# get max and min
c = img.min()
d = img.max()
out = py()
# normalization
out = (b-a) / (d - c) * (out - c) + a
中字拼音
out[out < a] = a
金榜英雄
out[out > b] = b
out = out.astype(np.uint8)
return out
摒弃是什么意思# Read image
img = cv2.imread("../head_g_n.jpg",0).astype(np.float)
# histogram normalization
out = hist_normalization(img)
# Display histogram
plt.hist(out.ravel(), bins=255, rwidth=0.8, range=(0, 255))
plt.savefig("out_his.jpg")
plt.show()
# Save result
cv2.imshow("result", out)
cv2.imwrite("out.jpg", out)
cv2.waitKey(0)
cv2.destroyAllWindows()
徒法不足以自行
三. 实验结果及分析
原图像像素分布直⽅图[10,160] ↑
原图像 ↑
归⼀化后的图像像素分布直⽅图[0,255] ↑
质量控制点归⼀化后的图像 ↑
可以看到,我们将灰度范围为 [10,160] 的图像进⾏直⽅图归⼀化到 [0,255] 后,图像的清晰度显著增强。
四. 参考内容:

本文发布于:2023-07-20 17:55:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1089385.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图像   像素   分布   灰度
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图