gpt4 book ai didi

python - 控制 Raspberry Pi 和 Python 上的 USB 网络摄像头照片捕获时间

转载 作者:太空宇宙 更新时间:2023-11-03 18:07:19 25 4
gpt4 key购买 nike

我正在使用 USB 网络摄像头和 Pygame 在 Raspberry Pi 上拍照。这些图像将用于跟踪物体的运动,然后旋转电机。因此,恒定的帧速率会很好。不幸的是,拍摄黑暗物体所需的时间几乎是拍摄明亮物体的 4 倍。我怀疑这是暴露时间较长的结果。

如果确实是这个问题,有什么方法可以将曝光时间设置为固定数字吗?如果没有,我还能做什么?

以下代码的结果:

黑暗:(瞄准黑墙)
- 持续时间:14213 毫秒
- 最短:12 毫秒
- 最长:387 毫秒
- 平均:142 毫秒

Bright:(瞄准白墙)
- 持续时间:3550 毫秒
- 最短:12 毫秒
- 最长:67 毫秒
- 平均:35 毫秒

print "importing.."

import time
import pygame
import pygame.camera
from pygame.locals import *

# INITIALIZE CAMERA
print "\ninitializing.."
pygame.init()
pygame.camera.init()
camlist = pygame.camera.list_cameras()
cam = pygame.camera.Camera("/dev/video0", (320,240))
cam.start()

time.sleep(1)

# MEASURE TIME
print "running.."
begin = int(round(time.time() * 1000))

min = 1000
max = 0

for i in range(1, 100):
start = int(round(time.time() * 1000))
img = cam.get_image()
stop = int(round(time.time() * 1000)) - start

if(stop > max):
max = stop
if(stop < min):
min = stop

print "{}\t{} ms".format(i, stop)

duration = int(round(time.time() * 1000)) - begin

print "Duration: {} ms".format(duration)
print "Min:\t{} ms".format(min)
print "Max:\t{} ms".format(max)
print "Avg:\t{} ms".format(duration / 100)

最佳答案

只要您所需的帧速率足够低以适应最慢的曝光,您就可以在处理每一帧后休眠,直到需要处理新帧为止。您已经获得了开始第一帧的时间。当第一帧完成后,添加下一次开始所需的时间间隔,并计算到下一帧的 sleep 时间。

关于python - 控制 Raspberry Pi 和 Python 上的 USB 网络摄像头照片捕获时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26606131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com