Правя снимки на моя Raspberry Pi с помощта на USB уеб камера и Pygame. Тези изображения ще се използват за проследяване на движението на обект, след което ще завъртят мотор. Следователно постоянна честота на кадрите би била добра. За съжаление, правенето на снимки на тъмен обект изглежда отнема почти 4 пъти повече време, отколкото с ярки обекти. Подозирам, че това е резултат от по-дълго време на експозиция.
Ако това наистина е проблемът, има ли някакъв начин да настроите времето на експозиция на фиксирано число? Ако не, какво друго мога да направя?
резултат от кода по-долу:
Тъмно: (насочен към черна стена)
- Продължителност: 14213 ms
- Мин.: 12 ms
- Макс.: 387 ms
- Ср.: 142 ms
Ярко: (насочен към бяла стена)
- Продължителност: 3550 ms
- Мин.: 12 ms
- Макс.: 67 ms
- Ср.: 35 ms
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)