如何在相机预览中消除滚动快门效果?

问题描述 投票:0回答:1

我正在尝试通过拍摄闪烁的LED来将数据发送到手机。在大多数情况下,这都可以正常工作,但是对于某些帧,我在相机预览中会得到滚动快门效果,这会干扰我的数据传输。有没有办法消除这种卷帘效果?

我正在使用Google的cameraAPI2和Nexus 6(但在三星S7上看到了相同的效果)。我以30 fps的速度录制,并且LED以1/66 s的频率闪烁。我的图片使用YUV_420_888的格式为320x240。这是我当前对CaptureRequest的设置:

CONTROL_AE_MODECONTROL_AE_MODE_OFF

CONTROL_AWB_MODECONTROL_AWB_MODE_OFF

EDGE_MODEEDGE_MODE_OFF

CONTROL_MODECONTROL_MODE_OFF

SENSOR_EXPOSURE_TIME500000

SENSOR_FRAME_DURATION50000000

我已经尝试过将曝光时间和帧长设置为无效。只需打开股票相机应用程序并关闭LED灯,即可观察到相同的效果。Example

图片的右半部分显示旧框架,左半部分显示新框架。

是否有解决此问题的方法? Android是否有摄像头垂直同步?

java android android-camera
1个回答
1
投票

滚动快门效果源于这样的事实:具有CMOS图像传感器的相机最经常逐行(逐列(或逐列))顺序读取像素数据,因此,在一个像素帧上没有捕获到单独的行/列。同一时间点。

没有“相机垂直同步”,因为卷帘快门是图像传感器的物理特性。

除了切换到全局快门图像传感器(例如CCD或某些较新的CMOS传感器)之外,您还可以尝试提高快门速度/减少相机的曝光时间,以将问题最小化。

您可以参考this question作为具体方向,以了解如何找到相机的可用快门速度。

更新:可以尝试的是将相机的快门速度设置为最快的设置,然后将LED闪烁频率与相机的帧频(1 / 30s)相匹配。这样,LED的闪烁应该始终在图像采集的同一时间点,并且滚动快门效果也不会出现任何问题。

© www.soinside.com 2019 - 2024. All rights reserved.