大家好,在用AVT Pike Firewire camera (see here)尝试了SimpleCV之后,我一直无法让AVTCamera正常工作。使用SimpleCV页面上关于使用AVT包的示例,我得到了一个返回错误: Class AVTCamera not found。我已经重新安装了SimpleCV,其他一切似乎都可以正常工作。我正在使用维基建议的遗留驱动程序,但由于某种原因,我不能让它工作,有谁在SimpleCV中幸运地使用了AVT?
编辑:这是我收到的错误:
from SimpleCV import *
cam = AVTCamera()
img = cam.getImage()
img.show()错误:
NameError: name 'AVTCamera' is not defined发布于 2013-10-18 03:06:19
不知道为什么有人投票否决了这件事。我们也欢迎您在SimpleCV论坛(http://help.simplecv.org)上发布类似的问题。
我们目前尚未更新到VIMBA支持,因为它是最近发布的。然而,我们每天都使用PvAPI驱动程序,所以我知道它工作得很好,尽管我只通过GiGE (manta和GT系列)测试过,没有通过firewire测试过。
您是否参考了我们维基上的安装指南:https://github.com/sightmachine/SimpleCV/wiki/Allied-Vision-(AVT)-GigE-Camera-Installation-Guide-for-Ubuntu-Linux
发布于 2014-06-26 12:08:58
我写了一个Python解决方案来使用基于Vimba SDK的AVT相机,你可能会发现它很有用。这是一个名为pymba的驱动程序包装器,代码可以在here中找到。我已经成功地用Pike FireWire相机的黑白版本进行了测试。
等效的示例如下所示:
from pymba import *
import numpy as np
import cv2
vimba = Vimba()
vimba.startup()
cameraIds = vimba.getCameraIds()
camera0 = vimba.getCamera(cameraIds[0])
camera0.openCamera()
frame0 = camera0.getFrame() # creates a frame
frame0.announceFrame()
camera0.startCapture()
frame0.queueFrameCapture()
camera0.runFeatureCommand('AcquisitionStart')
camera0.runFeatureCommand('AcquisitionStop')
frame0.waitFrameCapture()
imageData = np.ndarray(buffer = frame0.getBufferByteData(),
dtype = np.uint8,
shape = (frame0.height, frame0.width, 1))
cv2.imshow('My image', imageData)
camera0.endCapture()
camera0.revokeAllFrames()
camera0.closeCamera()
vimba.shutdown()https://stackoverflow.com/questions/19413502
复制相似问题