假设我们有一张在光线不足的情况下拍摄的照片。图像比平时更暗,但仍可识别。
现在我们想让它更亮,让它看起来像是在充足的光照条件下拍摄的。
我们应该将图像转换为 YUV 并调整 Y channel (亮度),还是转换为 HSL 并调整 L channel (亮度)?
措辞似乎与我相似,而他们的公式有很大不同:
Y:0.299*R + 0.587*G + 0.114*B
L:0.5*(max + min),而max/min是RGB中的max/min值
编辑:
更具体地说,我将使用 opencv,cv2.cvtColor(),但不确定哪个输入参数更适合我的需要:BGR2YUV 或 BGR2HLS
最佳答案
仅调整 Y 和 L(在 YCbCr 和 HSL 中)将导致信息丢失,例如高像素值之间的对比度。我建议在 Y 或 L 上使用一些仿射变换
255*(Y(x,y) - min(Y))/(max(Y) - min(Y))
或者最好是使用直方图均衡。它不仅可以提供明亮的图像,而且具有更好的对比度,因此有利于可视化
关于opencv - 亮度、YUV 或 HSL 使用哪种色彩空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50383180/