【问题标题】:What's this brightness function这是什么亮度功能
【发布时间】:2020-12-11 18:12:15
【问题描述】:

图像的亮度可以通过以下函数测量,如paper 提到的

在本文中,他们没有讨论 Cr、Cg 和 Cb。谁能解释一下这个功能?

提前致谢。

【问题讨论】:

  • 可能与**色彩空间有关**参考this视频。

标签: image opencv image-processing image-manipulation brightness


【解决方案1】:
  • Cr:红色通道
  • Cg:绿色通道
  • Cb:蓝色通道

系数(0.241、0.691、0.068)用于计算luminance

例如:

如果您有彩色 (RGB) 图像并且想要转换为灰度:

    1. 您将从图像中提取每个通道
    1. 灰度 = (0.2126 * Cr) + (0.7152 * Cg) + (0.0722 * Cb)

系数由ITU-BT709 推荐,是 HDTV 的标准。

因此,为了计算亮度,可接受的系数为 0.241、0.691 和 0.068。

您可以打印亮度值:

import cv2
import numpy as np

# img will be BGR image
img = cv2.imread("samurgut3.jpeg")
#When we square the values overflow will occur if we have uint8 type
img = np.float64(img)
# Extract each channel
Cr = img[:, :, 2]
Cg = img[:, :, 1]
Cb = img[:, :, 0]

# Get width and height
Width = img.shape[0]
Height = img.shape[1]
#I don't think so about the height and width will not be here
brightness = np.sqrt((0.241 * (Cr**2)) + (0.691 * (Cg**2)) + (0.068 * (Cb**2))) / (Width * Height)
#We convert float64 to uint8
brightness =np.uint8(np.absolute(brightness))

print(brightness)

输出:

[[4.42336257e-05 4.09825832e-05 4.09825832e-05 ... 3.44907525e-05
  4.13226678e-05 4.13226678e-05]
 [4.09825832e-05 4.09825832e-05 4.09825832e-05 ... 3.44907525e-05
  4.13226678e-05 4.13226678e-05]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 2012-09-21
    • 2015-01-15
    • 2020-12-05
    • 2021-09-15
    • 2021-12-28
    • 2011-08-11
    相关资源
    最近更新 更多