标签: luminance

伽玛校正究竟需要什么?

我有充分理解伽马校正需求的问题.我希望你们能帮助我.

假设我们想要显示256个相邻像素.这些像素应该是从黑到白的平滑渐变.为了表示它们的颜色,我们使用线性灰度值.0..255.由于人眼的非线性,显示器不能只将这些值转换为线性亮度值.如果相邻像素具有亮度值(1/256)*I_max, (2/256)*I_max, et cetera,我们将在较暗区域中感知到两个像素之间的亮度差异太大(梯度将不是平滑的).

幸运的是,监视器对人眼具有相互的非线性.这意味着,如果我们将线性灰度值0..255放入帧缓冲区,则监视器将它们转换为非线性亮度值x ^ gamma.然而,由于我们的眼睛是非线性的,反之亦然,我们感觉到平滑的线性梯度.显示器和我们的一只眼睛的非线性相互抵消.

那么,为什么我们需要伽马校正?我在书中读到,我们总是希望显示器产生线性亮度值.根据它们,必须在将灰度值写入帧缓冲器之前补偿监视器的非线性.这是通过伽马校正完成的.然而,我的问题在于 - 据我所知 - 当监视器产生线性亮度值时,我们不会感知线性亮度值(即我们不会感觉到平滑,稳定的梯度).

据我所知,如果我们将线性灰度值放入帧缓冲区,那将是完美的.监视器将这些值转换为非线性亮度值,并且我们的眼睛再次感知线性亮度值,因为眼睛是互逆的非线性.不需要对帧缓冲器中的灰度值进行伽马校正,也不需要强制监视器产生线性亮度值.

我看待这些事情的方式有什么问题?谢谢

gamma image-processing brightness luminance

8
推荐指数
2
解决办法
2667
查看次数

如何获得具有相同感知亮度的颜色?

是否有工具/程序/颜色系统可以让您获得相同亮度(感知亮度)的颜色?

假设我选择一种颜色(确定RGB值),程序会给我带有相同亮度但色调不同的色轮周围的所有颜色?

我还没有见过这样的工具,我遇到的是三种不同的颜色亮度算法:

(0.2126*R) + (0.7152*G) + (0.0722*B)
(0.299*R + 0.587*G + 0.114*B)
sqrt( 0.241*R^2 + 0.691*G^2 + 0.068*B^2 )
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我说的是颜色亮度/感知亮度或者你想要称之为的任何东西 - 遇到的属性我们感觉红色比蓝色更明亮.(因此255,0,0的亮度值高于0,0,255.)

PS:有谁知道在这个网站上使用哪种算法来确定颜色变亮:http://www.workwithcolor.com/hsl-color-picker-01.htm 看起来他们没有使用任何发布的算法.

colors brightness luminance

5
推荐指数
1
解决办法
1419
查看次数

如何确定亮度百分比?

根据http://www.workwithcolor.com/color-luminance-2233.htm,RED (#FF0000) 的亮度为 54%。浅粉色 (#FF8080) 的亮度为:89%。我们的设计师喜欢它,但它是如何确定的?在这里试试:http : //www.workwithcolor.com/hsl-color-schemer-01.htm

我尝试使用W3C 发布的相对亮度公式,虽然范围是 [0,1],但红色是0.21,白色是1.00

我在想,也许 workwithcolor 所做的是首先将颜色转换为灰度,然后读取灰度的亮度。我试过了,但它仍然没有给出相同的结果。

到目前为止我已经尝试过:http : //jsfiddle.net/HytZQ/

algorithm rgb colors formula luminance

5
推荐指数
1
解决办法
3645
查看次数

如何在 OpenCV 中调整图像部分的亮度

我有以下图像。 在此处输入图片说明

如果我将平均亮度绘制为 x 像素位置的函数,我可以看到图像沿中心比边缘更亮。

在此处输入图片说明

我想使用 OpenCV 纠正这个问题,以便整个图像的亮度相同。这可能吗?

编辑:到目前为止我的代码是

import cv2
import pylab

img = cv2.imread('3.jpeg', 1)
cv2.imshow("img",img)

lab= cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
cv2.imshow("lab",lab)

l, a, b = cv2.split(lab)

values = []
for c in xrange(l.shape[1]):
    count = 0
    for r in xrange(l.shape[0]):
        count += l[r][c]
    values.append(1.0 * count / l.shape[0])

pylab.figure()
pylab.ylabel('Average Luminance')
pylab.xlabel('X axis')
pylab.plot(values, 'k-')
pylab.show()
Run Code Online (Sandbox Code Playgroud)

python opencv luminance

5
推荐指数
1
解决办法
1175
查看次数

如何在 JS/SCSS 中生成 Material 3 调色板?

背景:

我正在尝试基于 Google 的 Material Theme Builder 3在 SASS/JS 中生成调色板,它要求根据相对亮度而不是亮度/亮度函数生成色调调色板。

在此输入图像描述

问题:

我可以使用 SCSS 中的以下函数获取亮度值:

@function get-luminance($color) {
    $colors: (
        'red': red($color),
        'green': green($color),
        'blue': blue($color),
    );

    @each $name, $value in $colors {
        $adjusted: 0;
        $value: $value / 255;

        @if $value < 0.03928 {
            $value: $value / 12.92;
        } @else {
            $value: ($value + 0.055) / 1.055;
            $value: math.pow($value, 2.4);
        }

        $colors: map-merge($colors, ($name: $value));
    }

    @return (map-get($colors, 'red') * 0.2126) + (map-get($colors, 'green') * 0.7152) + (map-get($colors, 'blue') * …
Run Code Online (Sandbox Code Playgroud)

javascript sass luminance material-design

5
推荐指数
1
解决办法
2690
查看次数

如何检查背景颜色的亮度来决定其上写入的文本颜色

我有一个简单的问题,但我找不到答案。请注意,我几乎是一个完全的初学者。

所以我有一个应用程序(它不是我的,但我正在为它做出贡献),并且在颜色背景上书写,用户可以更改它。如果背景足够亮,则文字应显示为黑色,如果背景不够亮,则文字应保持白色。

该应用程序是一款面向中小学生的学校日记应用程序,连接到匈牙利全州范围的学校日记服务。这里,最好的注释是5,最差的是1。用户可以在设置中设置每个等级的颜色。目前,只有注释“4”的代码被硬编码为黑色文本(因为“4”注释的背景默认为黄色),所有其他注释均为白色。这就是我想要自动化的。

白色文本示例

黑色文本示例

这是应用程序的主屏幕供参考

用户可以更改某种注释的颜色的页面

现在的代码:

switch (evaluation.NumberValue) {
    case 1:
      bColor = globals.color1;
      fColor = Colors.white;
      break;
    case 2:
      bColor = globals.color2;
      fColor = Colors.white;
      break;
    case 3:
      bColor = globals.color3;
      fColor = Colors.white;
      break;
    case 4:
      bColor = globals.color4;
      fColor = Colors.black; //This should be white if color4 is dark enough. Same applies to all of them.
      break;
    case 5: //I'm looking for something like this:
      bColor = globals.color5;
      fColor = (lightLevel(globals.color5) > 50) ? Colors.black …
Run Code Online (Sandbox Code Playgroud)

background colors brightness luminance flutter

4
推荐指数
1
解决办法
3477
查看次数

来自iOS相机的亮度

我正在尝试制作一个应用程序,我必须像这个应用程序一样计算相机的亮度:http://itunes.apple.com/us/app/megaman-luxmeter/id455660266?mt = 8

我找到了这个文件:http://b2cloud.com.au/tutorial/obtaining-luminosity-from-an-ios-camera

但我不知道如何直接适应相机,而不是图像.这是我的代码:

    Image = [[UIImagePickerController alloc] init];
    Image.delegate = self;
    Image.sourceType = UIImagePickerControllerCameraCaptureModeVideo;
    Image.showsCameraControls = NO;
    [Image setWantsFullScreenLayout:YES];
    Image.view.bounds = CGRectMake (0, 0, 320, 480);
    [self.view addSubview:Image.view];

    NSArray* dayArray = [NSArray arrayWithObjects:Image,nil];
    for(NSString* day in dayArray)
    {
        for(int i=1;i<=2;i++)
        {
            UIImage* image = [UIImage imageNamed:[NSString stringWithFormat:@"%@%d.png",day,i]];
            unsigned char* pixels = [image rgbaPixels];
            double totalLuminance = 0.0;
            for(int p=0;p<image.size.width*image.size.height*4;p+=4)
            {
                totalLuminance += pixels[p]*0.299 + pixels[p+1]*0.587 + pixels[p+2]*0.114;
            }
            totalLuminance /= (image.size.width*image.size.height);
            totalLuminance …
Run Code Online (Sandbox Code Playgroud)

objective-c brightness ios luminance

1
推荐指数
1
解决办法
5139
查看次数