gpt4 book ai didi

java - 转换为 HSB 值后计算直方图均衡

转载 作者:行者123 更新时间:2023-11-29 06:03:19 27 4
gpt4 key购买 nike

我正在尝试均衡彩色图像。我被告知将其转换为 HSB,然后在将其转换回 RGB 之前对亮度 channel 执行均衡。

到目前为止,我已经计算了频率,但比例因子存在问题。据我了解,颜色的比例因子通常是图像的 255/(height*width)。任何人都可以帮忙解决亮度问题吗?谢谢。

最佳答案

当您说您必须将 RGB 图像转换为 HSB(或 HSV)颜色空间以均衡彩色图像时,您是正确的。

但是,我不明白你所说的比例因子是什么意思,所以我将描述算法:

  1. 将输入图像转换为 HSB 颜色空间。

  2. 使用 B(亮度) channel ,计算每个像素值的频率。实际上,您正在计算灰度级 histogram的图像。如果您的图像有 256 个不同的亮度值,您可以将直方图存储在 vector H[0..255] 中,其中 H[i] 给出 i 的频率-th 亮度值。要计算 H[i]计算值为 i 的像素数并除以图像中的像素数。如果对 H[i] 的所有条目求和,您应该得到值 1.0

  3. 使用直方图 H[i],计算一个新 vector CDF[i] 其中:

    CDF[0] = H[0] 和 CDF[i] = CDF[i - 1] + H[i]。

    事实上,CDF[i] vector 存储 cumulative distribution function输入图像上的亮度值。

  4. 最后一步是更新图像的 B channel :B'[x,y] = 255 * CDF[B[x,y]] 其中 B [x,y] 是位置 (x,y) 处像素的 B 值,B'[x,y] 是位置 (x) 处像素的新 B 值,y).同样,这假设您的图像具有 256 个不同的亮度值。

关于java - 转换为 HSB 值后计算直方图均衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9372039/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com