算法:随机化亮度和对比度值,有约束
Posted
技术标签:
【中文标题】算法:随机化亮度和对比度值,有约束【英文标题】:Algorithm: Randomize Brightness and Contrast Values, With Constraints 【发布时间】:2021-09-09 04:44:19 【问题描述】:我想对图像进行随机亮度和对比度调整,这样...
brightness = random in range (brightness_min, brightness_max)
contrast = random in range (contrast_min, contrast_max)
outputImage = inputImage * contrast + brightness;
但是当我这样做时,因为我的应用程序中的亮度和对比度值的范围非常大,我经常会输出一个全白或全黑的图像。
我想要一种算法来选择随机亮度和对比度对,这样:没有输出是纯色(除非已经如此),并且:输出保留了一些可指定的细节量(这部分不太重要)。
我不知道如何用技术术语描述我想要的东西,也不会开始构建解决方案。任何帮助是极大的赞赏。谢谢。
【问题讨论】:
是什么阻止您限制您选择参数(brightness
和contrast
)的范围?似乎是解决此问题的最简单方法。
亮度和对比度值由用户设置,为了能够通过单次调整产生极致的效果,必须很大。
【参考方案1】:
假设brightness
、inputImage
和outputImage
都在相同的范围内,我会将outputImage
的公式更改为
outputImage = (inputImage - averageInputImage) * contrast + brightness;
其中averageInputImage
是inputImage
值的平均值(平均值、中位数、任何有意义的值)。假设正对比度和具有细节的输入图像,输出应该有一些细节,即使对于高对比度它是交替的白色和黑色。
【讨论】:
以上是关于算法:随机化亮度和对比度值,有约束的主要内容,如果未能解决你的问题,请参考以下文章