挑战图像处理100问(21)——
直⽅图归⼀化
直⽅图归⼀化( Histogram Normalization )
累的英语有时直⽅图会偏向⼀边。
⽐如说,数据集中在处(左侧)的图像全体会偏暗,数据集中在处(右侧)的图像会偏亮。
如果直⽅图有所偏向,那么其动态范围( dynamic range )就会较低。
为了使⼈能更清楚地看见图⽚,让直⽅图归⼀化、平坦化是⼗分必要的。
这种归⼀化直⽅图的操作被称作灰度变换(Grayscale Transformation)。像素点取值范围从转换到的过程由下式定义。这回我们将灰度扩展到范围:
代码实现
import numpy as np
梦见前妻是什么意思import matplotlib .pyplot as plt
from skimage .io import imread # ⽤来读取图⽚
%matplotlib inline
# 读取图⽚
path = 'C:/Urs/86187/Desktop/image/'
file_in = path + 'cake.jpg'
img = imread (file_in )
plt .figure
imgshow = plt .imshow (img
)
# 灰度化
# 灰度化函数
def BGR2GRAY (img ):
# 获取图⽚尺⼨
H , W , C = img .shape江西大学排名
# 灰度化
out = np .ones ((H ,W ,3))
for i in range (H ):
for j in range (W ):
out [i ,j ,:] = 0.299*img [i ,j ,0] + 0.578*img [i ,j ,1] + 0.114*img [i ,j ,2]
out = out .astype (np .uint8)
return out
img = BGR2GRAY (img )
plt .figure
imgshow = plt .imshow (img )
0255[c ,d ][a ,b ][0,255]x =out ⎩⎪⎨⎪⎧a (x −c )+a d −c b −a in b (if x <c )in (el if c ≤x <d )in (el)
img_ = py()
img_ = img_.reshape(-1)
hist = plt.hist(img_, bins=255, rwidth=0.85,range=(0,255))
# 归⼀化函数蕨类植物的主要特征
def normalHist(img):
a =0金花松鼠
衣服广告语b =255
c = img.min()
d = img.max()
img =(b-a)/(d-c)*(img-c)+a
360账号注册
img = img .astype(np.uint8)
return img
img1 = py()
我的棉被
img1 = normalHist(img1)
imgshow = plt.imshow(img1)
plt.show()
hist1 = plt.shape(-1),bins=255,rwidth=0.85,range=(0,255))