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()在我的程序中的任何地方,整个事情都会大大减慢!

4

1 回答 1

0

我将通过作为相机的 SimpleCV shell 验证以下内容:

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

这应该让您对时差有一个很好的了解

于 2013-08-22T00:25:54.053 回答