问题标签 [luminance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
140 浏览

javascript - 查找三个不同数字的倍数的连续最小总和,javascript

这篇文章中,我找到了一种确定 RGB 颜色亮度的算法:

亮度(某些色彩空间的标准):(0.2126*R + 0.7152*G + 0.0722*B)

我想使用这个等式,从 开始rgb(0,0,0),按照从最低到最高亮度的顺序生成所有 RGB 颜色,然后将它们绘制到 4096x4096 画布上。

我的问题是,对于 1670 万种不同的组合,我无法全部生成它们然后对它们进行排序,而不会导致浏览器崩溃或花费数天时间来完成渲染。所以我想找到一种方法来找到每个数字的倍数,这些数字将相加到下一个最小的数字。

例如,从 和 的 rgb 开始0,0,0,亮度将为 0 ( 0.2126*0 + 0.7152*0 + 0.0722*0 = 0),下一个最小的发光 rgb 值将是0,0,1因为0.2126*0 + 0.7152*0 + 0.0722*1 = .0722,并且没有一组倍数可以相加为更小的数字。

前 19 个连续的亮度值如下(我可能错过了一两个,因为我手动计算了它们,但希望它有助于说明这一点):

我似乎找不到任何模式,所以我希望那里可能有一个方程式或编码技巧,可以让我找到三个数字的倍数的最小总和,高于前一个总和,而无需蛮力强制它并检查每个可能的值。

编辑:我做了一些额外的研究,看起来解决方案可能在于使用线性丢番图方程。如果我取每个小数并乘以 1000,得到2126, 7152, & 722. 然后 1 乘 1 计数到2,550,000( 2126*255 + 7152*255 + 722*255),我可以检查每个数字是否是方程的解2126r + 7152g + 722b = n,其中 n 是当前计数的数字,而 r、g 和 b 是未知数。如果我能做到这一点,我可以计算出下一个连续亮度值处所有可能的 rgb 值,甚至不必将重复亮度值的任何值加倍,我只需要进行 255 万次计算而不是 16.77+ 百万次(每种颜色一个)。如果有人知道如何编写这个方程,或者如果有人有更好的解决方案,我将非常感激。谢谢!

0 投票
0 回答
819 浏览

swift - 直方图:RGB 到亮度

在我正在实现的直方图显示中,我成功地显示了RGB histogram。与 Photoshop 相比,它似乎是正确的!

(以下所有截图均来自同一张图片)

在此处输入图像描述


现在,对于Luminosity histogram,我使用了以下公式:

(如此处所讨论

但是,我的似乎与 Photoshop 的亮度直方图(也来自其他应用程序)不同:

在此处输入图像描述

事实上,我的Luminosity Histogram(根据上面的公式计算)似乎等于 Photoshop 的RGB Histogram

在此处输入图像描述

问题

从 RGB 值实现正确的亮度直方图的正确公式是什么?


PS:我尝试了以下公式,但它们似乎并没有让我接近 Photoshop 的实际亮度直方图


(请注意:我明白,由于色彩空间差异,不同应用程序使用的实际公式等,直方图往往会因应用程序而略有不同。我以 Photoshop 作为一个常见示例。我也与其他图像进行了比较编辑软件,差异似乎相同。)

0 投票
1 回答
1286 浏览

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

我有以下图像。 在此处输入图像描述

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

在此处输入图像描述

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

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

0 投票
2 回答
268 浏览

ios - 使用锐度滤镜后,Imageview 未重置为原始图像

在imageview上应用过滤器后无法获得原始图像。因为我想在将滑块从1移动到0(最大值到最小值,我的意思是反向)后获得原始图像。下面是应用锐度效果的代码

0 投票
1 回答
114 浏览

image - 伽玛校正和亮度掩蔽

根据韦伯定律,delta(L)/L 是一个常数,其中 L 是以坎德拉/m2 为单位测量的亮度,即 (L2 - L1)/L1。这意味着较低亮度范围(较暗)的微小变化在感知上远大于较高亮度范围(较亮)的微小变化。

我们存储的 sRGB 图像经过伽马校正,即它们首先经过非线性传递函数,该函数也部分模拟了人类的感知。

我想知道伽马校正后亮度掩蔽会发生什么?韦伯定律是否仍然适用于这些 sRGB 图像,或者它们在感知上是否一致,即像素值的 1 个单位的差异在较暗区域或较亮区域中是否相同?换句话说,delta(L) 是伽马校正图像中的常数,其中 L 是伽马校正像素值。

0 投票
2 回答
64 浏览

image-processing - 如何根据亮度级别检测要保留或丢弃的帧?

我有一系列来自脉冲放电慢动作捕捉的图像。许多框架几乎是黑色的。我想有选择地保留更有趣的框架;例如有更多的光度。

我考虑过使用 ImageMagick 或 GraphicsMagick(或任何其他工具;未与任何工具结合——我愿意寻求更有效的建议)。

我将如何选择这些图像,然后丢弃其他没有明显亮度水平的图像?我假设我必须首先建立“黑色”的基线,然后可能在视觉上找到最不发光的帧图像,然后将其用作获取有意义的图像/帧的下限......

DISCARD 示例(“空”帧):

空白的

KEEP 示例(带有“数据”的帧):

数据

0 投票
1 回答
653 浏览

ios - 如何从 Vuforia 获取相机亮度?

我正在为 AR 使用 vuforia sdk。我需要从设备摄像头获取亮度。我在 vuforia 论坛上搜索,但在那里找不到任何东西。谁能帮助我,请问如何从 Vuforia SDk 获取相机光强度?

0 投票
0 回答
133 浏览

c++ - opencv中RGB通道的色度如何?

我有下一个问题

我想在 openCV 中使用这个方程

X = 蓝色通道,Y = 绿色通道,Z = 红色通道

但是当我运行我的代码时,我在 1 上有一个带有 3 个图像的窗口。

首先我提取亮度,因为我想要红色通道的色调。

有谁能够帮我?

这是我的代码:

0 投票
1 回答
702 浏览

imagemagick - 调整图像亮度 imagemagick

我正在尝试使用 imagemagick 调整图像的平均亮度。我已经转换了图像的大小和颜色,因此它们现在处于灰度状态,如下所示:

body_heavy_female_gray_resize

接下来我需要调整每个图像的亮度,使其匹配(用于研究)。目标亮度平均值为 189。

我使用此代码来获取亮度值:

这给出了 65535 的值(来自这篇文章

我使用公式 x/65535 = 189/255 来了解我的高质量图像目标是:48,573。

上图目前是29319.5

有没有办法调整这个值并在命令行中将其设置为 48573?

我试过了:

每次错误出现在所列数字中时,我都尝试将最终数字更改为 189、89 和 .89(以防我的尺寸错误)。

我一直在努力解决这个问题,并根据下面留下的评论进行了调整,所以现在我在这里:

目标图像:

我运行了以下脚本:

每一行都有效——输出:

但这是输出图像,看起来太暗了。任何人都可以看到错误吗?

使用下面的 GeeMac 的答案,我写道:

并得到了这张看起来更好的图像!

0 投票
1 回答
136 浏览

matlab - 如何为多张图像设置相同的亮度?

我有很多具有不同亮度值的图像。我想将图像的亮度设置为标准值,即 0,196 或 49,98。

我想要的是:

  • 过度曝光的图像应该降低亮度,并且
  • 曝光不足的图像,应增加亮度。

标准图像过度接触 曝光不足

图像 1 - 标准图像,图像 2 - 过度曝光,图像 3 - 曝光不足

问题是“如何设置所有图像的曝光/亮度与标准图像相同?”