Код намного медленнее, когда камера подключена

Я использую 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')

Это должно дать вам хорошее представление о разнице во времени

Другие вопросы по тегам