2013-07-23 3 views
0

Я использую 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() находится где угодно в моей программе, все это замедляется массово!

ответ

0

Я бы проверить с помощью следующей оболочки SimpleCV, что является камерой:

> cam = Camera() 
> %timeit cam.getImage() 
> %timeit Image('blah.png') 

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

Смежные вопросы