首页 > 解决方案 > 将灰度图像标准化为一个值

问题描述

有没有办法标准化灰度图像,使其可以具有预定义的平均值。假设我们得到了一个平均值为 142 的图像(最大值 = 250 和最小值 = 10),我们将对其进行归一化,使其平均值为 100。整个图像会变得更暗,最小值和最大值也会发生变化。实现这一点的最佳方法是什么?

标签: pythonimage-processing

解决方案


您可以读取灰度图像并将直接最小最大值直接应用于图像,就像 MinMaxScaler sklearn 的操作一样

im = cv2.imread(file,0)
((im/255)*90)+10

出去:

array([[100., 100., 100., ..., 100., 100., 100.],
       [100., 100., 100., ..., 100., 100., 100.],
       [100., 100., 100., ..., 100., 100., 100.],
       ...,

或者

使用Sklearn.MinMaxScaler转换图像

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler(feature_range=(10,100))
scaler.fit(im)
scaler.transform(im)

推荐阅读