使用线性灰度级变换的最大对比度

信息处理 图像处理 图片
2022-01-29 17:04:25

这是我在网上找到的一个问题。

给定一个值在 [0,1] 之间的图像。
如何使用线性灰度变换获得最大对比度?
类似于 I(x,y)=A*I(x,y)+B ,其中 I 是直方图。
我们还得到了 MAX(I) 和 MIN(I)。

据我所知。MAX(I) 和 MIN(I) 将为您提供您现在拥有的值,并且您希望将这些值扩展到 0 和 1。

但这将如何给我一个线性方程?

2个回答

如果您减去最小值并将最大剩余值拉伸为 1,则会得到以下结果:

m=min{I(x,y)}M=max{I(x,y)}

Inew(x,y)=I(x,y)mMm=AI(x,y)+B

其中A=1MmB=mMm

希望这可以清除它。

您想设计一个线性变换,将 MIN(I) 置于 0,将 MAX(I) 置于 1。线性方程具有以下形式:y = m*x+b,其中m是斜率,b是 y 轴上的点x = 0

您想选择m它在dy = y_max - y_min = 1 - 0 = 1MIN(I) 到 MAX(I) ( ) 的区间内从 0 到 1 ( dx = x_max - x_min = MAX(I) - MIN(I)):

m = 1/(MAX(I)-MIN(I));

接下来,您要确保y = m * MIN(I) + b == 0

b = -m*MIN(I);

如果您还有其他问题,请告诉我。