我有很多图像的亮度值不同。而且我想将图像的亮度设置为0,196或49,98的标准值。
我想要的是:
图像1-标准图像,图像2-曝光过度,图像3-曝光不足
问题是“如何设置所有图像的曝光/亮度与标准图像相同?”
答案 0 :(得分:1)
所以,我想您有两个问题。
第一季度:
我想要的是:
- 应将亮度过度曝光的图像降低,并且
- 曝光不足的图像,应提高亮度。
我相信您正在寻找的是某种直方图均衡。
如果绘制这三幅图像的直方图,它们将看起来像这样:
如您所见,
曝光不足的直方图的分布更多地集中在下部区域roughly [0 ~ 55]
中。
曝光过度的直方图的分布更集中在较高的区域roughly [55 ~ 225]
中。
“标准”直方图的分布更加集中在两个区间roughly [15 ~ 145]
之间。
您想要做的是将直方图更均匀地分布在所有垃圾箱中。您可以尝试提出自己的一些算法,也可以使用内置的MATLAB函数adapthisteq()
(如here所述)进行使用。使用不同的参数,最终可能会得到直方图分布,从而为您提供最佳的图像输出。默认情况下,函数adapthisteq
会尝试在所有256个bin上分布直方图。
第二季度:
问题是“如何设置所有图像的曝光/亮度与标准图像相同?”
如果只希望其他两张图像的直方图看起来像您的“标准”图像,则可以使用here中所述的imhistmatchn
函数。老实说,我本人对此功能经验很少,但是您可以尝试一下。