Код намного медленнее, когда камера подключена
Я использую SimpleCV с Python, чтобы обнаружить набор кругов на листе бумаги. Сначала я использовал код, похожий на:
cam = SimpleCV.Camera()
img = cam.getImage()
(process the image)
Это обрабатывало изображение очень медленно. Затем я попытался взять и сохранить изображение отдельно, а затем загрузить его в свою программу следующим образом:
img = SimpleCV.Image("image.jpg")
(process the image)
По какой-то причине обработка изображений здесь намного быстрее (возможно, в 3 или 4 раза быстрее). Я не понимаю, почему это так? Конечно, как только изображение получено, не имеет значения, было ли оно получено с камеры или из файла? Или камера все еще работает на заднем плане, что потребляет ресурсы?
Я пытался использовать такие команды, как del cam
удалить переменную, и я даже попытался:
cam = SimpleCV.Camera()
img = cam.getImage()
img.save("image.jpg")
img = SimpleCV.Image("image.jpg")
(process the image)
но это не было быстрее. Просто кажется, что если линия SimpleCV.Camera()
где-нибудь в моей программе, все это сильно замедляется!
1 ответ
Я бы проверил следующее с помощью оболочки SimpleCV, которая является камерой:
> cam = Camera()
> %timeit cam.getImage()
> %timeit Image('blah.png')
Это должно дать вам хорошее представление о разнице во времени