问题标签 [exposure]

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 投票
0 回答
644 浏览

ios - 如何在 AVCaptureDevice 上准确设置快速快门速度(曝光时间)?

我正在为 IOS (13) 开发相机应用程序。为此,我将 AVCaptureSession 与 AVCaptureVideoPreviewLayer 结合使用。到目前为止一切正常。

现在我想让用户从给定的典型快门速度值数组(以 1/3 曝光停止)中选择并设置自定义快门速度(曝光持续时间)作为 [Int32]:

我将所需的曝光设置为 - 据我所知 - 只有以下功能的可能方式:

检查 AVCaptureDevice 的 exposureDuration 值表明,这可以为较慢的快门速度(高达 1/200 秒)提供完全准确的结果。选择的曝光持续时间越快,差异越大。例如:

我了解标称快门速度(对用户更方便的四舍五入的近似数字)与相机使用的精确实际快门速度之间存在差异(请参阅https://www.scantips.com/lights/fstop2. html ). 后者彼此之间的差异恰好是相邻光圈的 2 倍或 1/2 曝光(这将是 1/2、1/4、1/8、1/16、1/32、1/64 等值, 1/128, 1/256, 1/512, 1/1024, ..., 1/4096, ..., 1/8192...)。然而,这仍然不能解释我在更快的快门速度下得到的这些极端差异。

我还尝试像这样明确设置(随机)快速快门速度:

或这个

但两者仍然导致曝光持续时间为 1/12048(而不是 1/10000)...

我是否遗漏了与 CMTime 相关的内容,这与视频的帧速率有关(尽管更改 captureDevice 的 activeVideoMinFrameDuration 和 activeVideoMaxFrameDuration 没有任何效果)还是根本不可能设置完全自定义的曝光持续时间?

顺便提一句。我在尝试实现一个功能时遇到了同样的问题,该功能应该允许用户在(连续)自动曝光模式下定义最小快门速度(为此我使用了 captureDevice 的 activeMaxExposureDuration 函数)......

任何想法或提示将不胜感激。

0 投票
2 回答
1198 浏览

python - 无需拼接图像的 OpenCV 曝光补偿

我有一堆曝光不同的图像,我想将它们拼接在一起:

灰度图像转换为 JET 颜色映射以用于说明目的

OpenCV 有一个 Stitcher 示例,但它依赖于图像之间的匹配特征,并且它们应该相互重叠。

我的图像没有重叠,但它们彼此连续连接(就像我将全景图分割成多个分割一样),我想将它们连接在一起并修复它们的曝光。

如何在 OpenCV Python 中做到这一点?至少 Compensator 类需要:

images_warped可能只是正常输入imagesmasks_warped可能是一个二维数组,但我不知道corners应该如何手动给出值?

一个简单的例子就足够了,谢谢。

单个图像

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
2 回答
1237 浏览

android - Android Camera2:如何实现半自动快门速度优先模式

目标

  • 使用连接到移动车辆的 Android 智能手机拍摄图像
  • 频率:1赫兹
  • 参考型号:谷歌 Pixel 3a
  • 感兴趣的对象:车辆前方的道路/方式
  • 图片用途:作为机器学习(如 RNN)的输入,以识别道路/路面上的损坏
  • 拍摄环境:室外,仅限阴天

当前状态

  • 捕获作品(由于数据大小,目前使用 JPEG 而不是 RAW)
  • 自动曝光有效
  • 静态焦距有效

挑战

  • 图片中的道路/道路的表面通常是模糊的
  • 运动模糊的来源主要来自摇晃的车辆/固定电话
  • 为了减少运动模糊,我们要使用“快门速度优先模式”
    • 即最小化快门速度=>增加ISO(接受增加噪点)
    • 只有一个光圈 (f/1.8) 可用
    • Camera2 API 中没有可用的“快门速度优先模式”(简称:Tv/S-Mode)
    • CameraX API (还)没有提供我们需要的东西(静态焦点、Tv/S 模式)

脚步

  • 将快门速度设置为支持的最快曝光(简单)
  • 自动调整 ISO 设置以进行自动曝光(例如这个公式
  • 要计算 ISO,唯一缺少的部分是光照水平 (EV)

问题

  • 如何在拍摄期间连续估计 EV 以在使用固定快门速度时自动调整 ISO?

到目前为止的想法:

  1. 如果我可以在没有实际启用的情况下从 Camera2 自动曝光 (AE) 例程中读出“建议”,AE_MODE_ON那么我可以轻松计算 EV。但是,到目前为止,我还没有找到用于此的 API。我想如果没有路由设备是不可能的。
  2. 如果环境光传感器能够提供自动曝光(计算 EV)所需的所有信息,这也将非常容易。但是,据我了解,它只测量入射光而不是反射光,因此测量没有考虑图片中的实际物体(它们的表面如何反射光)
  3. 如果我可以从最后一次捕获的像素中获取信息,这也是可行的(如果计算时间适合两次捕获之间的时间)。但是,据我所知,像素“亮度”在很大程度上取决于捕获的对象,即如果捕获的对象的亮度发生变化(路边的许多“黑马”或“白熊”)我会计算EV值不好。
  4. 在实际捕获之间捕获自动曝光的图像,并根据实际捕获的中间捕获中使用的自动选择设置计算光照水平。根据我的理解,这将是一种相对“好”的方式,但在资源端相当困难——我不确定两次捕获之间的可用时间是否足够。

也许我没有看到更简单的解决方案。有没有人做过这样的事情?

0 投票
1 回答
50 浏览

python - Gopro-py-api (KonradIT) - 夜间博览会

亲爱的 Python 程序员,有人可以建议,哪个命令用于夜间拍摄 - 长时间曝光。我想在 goproCamera.take_photo(1) 之前有 gpControlSet 的东西 - 我有 gopro7。每日照片和视频没有问题。Gopro-py-api (KonradIT) https://github.com/KonradIT/gopro-py-api

0 投票
1 回答
284 浏览

brightness - Halcon - 设置图像亮度/曝光

我是第一次在 Halcon 中尝试一些东西。但无法弄清楚,甚至在文档中,如何设置图像采集的曝光......到目前为止我的代码是这样的,但我的测试环境很暗,并且想稍微照亮图像:

0 投票
1 回答
158 浏览

objective-c - Objective c 如何将 AVCaptureDevice 曝光重置为默认值

我正在使用相机设置自定义曝光/iso:

这工作正常。但是,在应用程序会话期间,这些自定义设置仍然存在。有没有办法重置捕获设备的曝光/iso 设置?我试过类似的东西:

但这不会将相机重置为默认设置。

0 投票
1 回答
78 浏览

android - camera2 像素值与传感器曝光时间不成线性关系

我尝试使用使用 YUV_420_888 图像格式的 camera2 API 近似原始传感器输出(我的索尼 XA1 不支持原始传感器)。我将所有内容都手动并停用了我能找到的每个更正程序:

在那之后,我连拍了 10 张照片,曝光时间线性增加,ISO 为 40。我分析了 Y 层(亮度分量)的值,发现它们的线性度最高只有 203(8 位满范围 = 255)。与伽马校正曲线不同,203 处的过渡非常尖锐。

问题:这是物理传感器效应,即像素饱和吗?我是否忘记了管道中的一些非线性校正?camera2 API 是否对 YUV_420_888 使用全范围线性变换?

谢谢你的帮助!

0 投票
0 回答
116 浏览

python - 不同操作系统下OpenCV/Python中Camera的曝光

我在 windows10 和 ubuntu 16.04 中都使用一个网络摄像头来处理我的项目,我发现当我得到这个网络摄像头的曝光时cap.get(cv2.CAP_PROP_EXPOSURE),我会在 windows10 中得到一个负整数(大约 -5 到 -7)和一个正整数(大约 70 ) 在 ubuntu 16.04 中,我想知道为什么有区别?windows10和ubuntu 16.04中cv2.CAP_PROP_EXPOSURE的值分别是什么意思?

在这两个操作系统中,我的 python 环境如下:

python=3.5.4
opencv-python=4.1.0.25

非常感谢!

0 投票
1 回答
274 浏览

android-camera2 - 使用Android camera2 api,即使所有的曝光参数都相同,但不同的设备会产生不同的曝光图像

我的代码设置了所有的曝光特征。
两个问题:

  1. 当我在 Pixel 3 (Android 10) 上运行代码时,生成的图像看起来比在 OnePlus 6T (Android 9.0) 上捕获的相同场景要亮近2级。检查生成的EXIF 数据显示两张图像中的曝光设置相同。

  2. 我试图通过设置色调映射曲线来强制伽玛曲线,认为这可能是差异的根源,但这似乎在任何一种设备上都不起作用(基于将伽玛设置为 1,这应该会导致非常平坦的图像)。

欢迎任何/所有建议!我被难住了。

0 投票
0 回答
28 浏览

oauth-2.0 - 避免暴露 Keycloak

目前,即使有客户主题,Keycloak 也会暴露自己,例如。当调用不完整的 URL(错误页面)或使用着陆 URL 时。
避免这种情况的最佳做法是什么?理想情况下,OAuth2 解决方案不应该对用户可见。这最好在基础设施级别、Keycloak 主题级别或其他地方实现吗?