Я делаю снимки на своем Raspberry Pi, используя веб-камеру USB и Pygame. Эти изображения будут использоваться для отслеживания движения объекта, а затем для вращения двигателя. Поэтому было бы неплохо иметь постоянную частоту кадров. К сожалению, съемка темных объектов занимает почти в 4 раза больше времени, чем съемка ярких объектов. Я подозреваю, что это результат более длительного времени экспозиции.
Если это действительно проблема, есть ли способ установить время экспозиции на фиксированное число? Если нет, что еще я могу сделать?
результат кода ниже:
Темно: (нацелено на черную стену)
– Продолжительность: 14213 мс
– Мин.: 12 мс
– Макс.: 387 мс
– Среднее: 142 мс
Яркий: (нацелен на белую стену)
– Продолжительность: 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)