- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我可以检测图片中的强度或光量吗?
例如,
I have some pictures which are captured at morning ,afternoon and the time before the sunset and i want to know the amount of the light.
我只需要知道如何去做。我还可以访问相机增益、曝光和其他参数。我使用的相机是 ZED Camera。我理解从 RGB 空间转换为亮度空间的公式,如所述 here .但我不确定这是否是一个有效的解决方案。
最佳答案
出于某种原因,您似乎没有在评论部分回答我的问题,所以我不确定您要做什么,但这似乎与确定天空的一般亮度或类似的东西有关。
因此,首先,您需要确定图像中的平均亮度/明度。对于这一步,您可以使用 cvtColor()
转换为 Lab 或 HSL 色彩空间,然后使用 mean( )
或 meanStdDev()
。
现在,我想这就是您的问题所在,您需要校正曝光,因为两张图像之间的曝光可能不同。因此,影响曝光的三个因素是 ISO(又名胶片感光度)、镜头光圈和曝光时间。
基本上,光圈变化的每个 f 级代表镜头光圈面积减半或加倍,因此到达传感器的光量加倍或减半。因此,f4 允许 2 倍于 f5.6 的光线进入,而这允许两倍于 f8 的光线进入,依此类推。请注意,光的每个句号与下一个句号的区别为 sqrt(2)。
与 ISO 类似,每次 ISO 加倍(或感光度加倍)时,光量加倍。
与曝光时间一样,1/2 秒是四分之一秒的两倍。
因此,基本上,您已经有了平均亮度值,您需要针对光圈、ISO 和曝光持续时间对其进行校正。实际上,您必须将图像标准化为标准光圈、ISO 和曝光时间。您的图像与正常图像不同的每一站,您必须将平均亮度加倍或减半。您的图像与正常图像的每一个 ISO 步长都不同,您必须将平均亮度加倍或减半。每次您的曝光持续时间与标准化、标准化的持续时间不同时,您必须将平均亮度乘以当前图像与标准化图像的比率。
那么你们的平均亮度将相互比较。
(滤镜也会影响曝光,但我假设您没有在曝光之间添加或移除滤镜。)
在回答您的评论时,我从未见过有人写过这样的公式,但我的评论是这样的:
L * 2^aperture
--------------
ISO * time
关于opencv - 测量相机发出的光的亮度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779502/
我想将一些颜色值从众所周知的 HSL 转换为鲜为人知的 HSLum 怎么做? hsl(0, 1.0, 0.5) - rgb red is hslum(0, 1.0., 0.54) hsl(120,
有没有办法在 android 中获取有关屏幕类型的信息?我想知道我使用的设备是 amoled/ips/tft 还是获得屏幕的最大亮度,不是相对亮度,而是尼特或坎德拉/cm2 的亮度 最佳答案 与设备的
我的 iPhone 应用程序使用 AVFoundation 的 AVCaptureSession 从摄像头捕获实时数据。我能够在运行时访问它的委托(delegate)方法中的数据并从中创建图像。它可以
我正在使用带有 AVFoundation 的前置摄像头开发镜像应用程序。我已经完成了向 UIView 显示相机屏幕。但是如何调整亮度?代码是这样的: -(void)AVCaptureInit {
我有一个 android 应用程序,我正在使用下面的代码增加图像的亮度。但这非常慢,所以有没有人知道在 android 中增强 ImageView 的图像亮度的快速方法。请记住,这是提高 ImageV
我想做的是创建一个代码,以便当用户移动 SeekBar 时,它会更改手机的亮度(随着移动)并将其设置为手机的 MAIN 设置。我已经剪掉了我认为是问题所在的部分代码.. public void onP
我制作了一个手电筒应用程序,可以通过按钮打开相机的 LED 灯。如果可能的话,我希望能够使用搜索栏更改 LED 灯的亮度。 如果这有帮助的话,这是我按钮中的代码: public class Flash
我正在开发一款编辑视频的应用。录制视频时没有问题,因为最初我会设置所有设置,如饱和度、亮度、对比度等。 但问题在于录制的视频。我无法更改已录制视频的所有上述属性。 任何人请告诉我他的问题的解决方案。
这个问题在这里已经有了答案: I do not want to inherit the child opacity from the parent in CSS (18 个答案) 关闭 7 年前。
我有两个网络摄像头(都是罗技 C615)。我想以一种方式调整网络摄像头,使它们在相同的环境中拍摄出几乎相同的照片。 (原因是我想将此图像渲染到 occulus rift 上)。 我正在使用 OpenC
我有一个使用 CSS 创建的圆圈,如下所示: .circle { width: 40px; height: 40px; -moz-border-radius: 50px;
我正在尝试过滤位图图像以增加或减少色相、饱和度和亮度值。 我的代码运行良好,但速度很慢。 我在内存中锁定了两个位图,原始源和当前目标。用户可以移动各种 trackbar 控件来修改每个值,然后将其转换
我有一个 android 应用程序,我在其中使用 android 相机拍照。经过一番努力后,我设法在我想要的地方和我想要的方式拍摄照片。最后的问题是质量图片。 当我的预览开始时,一切看起来都非常清晰和
是否有c++函数或opencv库可以计算给定8*8 block 或总图像亮度的平均对数?我的目标是计算平均亮度并将其存储回 block 中。另外,有没有另一种适合人类视觉系统的科学方法来计算整体亮度或
寻找答案 2 周。我有一个工具可以直接在网络浏览器中调整图像的对比度和亮度,并使用 CSS3 属性来显示结果。但我还应该将这些修改应用于服务器端的原始 JPG,并将其输出回用户。 我该怎么做?我正在使
我正在尝试将对比度和亮度应用于内存中的位图,但我完全迷路了。目前我正在尝试使用 Magick++ 来完成它,但如果其他 API 之一能更好地工作,我会洗耳恭听。我设法找到 Magick::Image:
我正在尝试使用 MCP3002 ADC 和电位计来控制 PWMLED 亮度列表。 我的问题是,当我运行我的脚本时,除了连接到 MCP3002 ADC 的电位器之外,一切都按预期运行,它不会在我调整旋钮
假设我们有一张在光线不足的情况下拍摄的照片。图像比平时更暗,但仍可识别。 现在我们想让它更亮,让它看起来像是在充足的光照条件下拍摄的。 我们应该将图像转换为 YUV 并调整 Y channel (亮度
嗨,我的客户有一个新要求,他需要在他的网站上添加字体大小增加和对比度/亮度、声音控制。 因此,在单击任何一个图像时,都会出现一个 slider ,他可以从中执行相应的操作。 我如何使用 jquery
我在游戏中使用 SVG 文件,我想为其添加透明度和亮度效果。所以我想要的是 Sprite 变得越来越透明,直到看不见。这看起来比刚刚消失的 Sprite 平滑得多。这还允许在白屏变得不那么透明然后又变
我是一名优秀的程序员,十分优秀!