成像源Gige相机在我的python代码中连续运行。使用软件触发。它逐渐增加了拥有的记忆,后来由于记忆不足而卡住了。在
这是我的python捕获帧代码。在
import cv2
from random import sample,randint
from aravis import Camera
cap = Camera("camera_1")
cap.cam.set_frame_rate(110)
cap.cam.set_exposure_time(1000)
cap.cam.set_trigger("Software")
cap.start_acquisition()
def GetVideo():
cap.cam.software_trigger()
camPhoto = cap.pop()
return camPhoto
我怎么解决这个问题?在
您似乎正在使用的wrapper library建议使用alternative method来捕获帧(您的
GetVideo
只使用单个帧,它不返回图像的时间序列,因此它有点用词不当):注意每次都会启动和停止采集。通过检查
stop_acquisition
方法,您会注意到它将调用重定向到Aravis库,在那里内存缓冲区很可能被正确地破坏了。在在当前的实现中,您可能会注意到,每次调用
GetVideo
,内存的增加量大约与单个图像的大小(以MB为单位)相同。我猜想,通过使用cap.cam
(一个Aravis.Camera
)可用的更具体的方法,您将能够设置一个“环”结构,这是流式视频的典型结构。但是,如果您只需要快照,请使用上面的代码。在相关问题 更多 >
编程相关推荐