同时控制步进电机和相机



同时控制步进电机和相机的最佳方法是什么?

假设相机放置在线性载物台(步进电机(上,我想以1毫米的步长移动载物台,并在每一步结束时捕获一帧。两个设备(摄像机和舞台(都通过 2 个不同的 USB 2.0 端口连接到我的电脑(Ubuntu 18.04.3 LTS(。

我的相机脚本如下所示:

def camera():
...
...
...
while(True):
cv2.imshow('live', frame)
ueye.is_ExitCamera(hCam2)
cv2.destroyAllWindows()
if __name__ == "__main__":
camera()

并从摄像机输出实时广播。

对于电机,例如:

i = 0
while i < 6:           # Move 6 times
stepper.Move(0.5)  # Moves forward by 0.5 mm
time.sleep(1)      # Sleeps for a second
i += 1
time.sleep(2)
print("nProcess Endn")
close()                # closes port 

并根据需要移动和睡觉。

两个脚本在单独执行时都会成功运行。但是,如何组合这些脚本,以便在每个步骤结束时拍照? 对于上面解决的移动 6 次的示例,我想在最后获得 6 张图像,在每个步骤结束时捕获。应该使用多线程、多处理吗?...两个设备都通过 2 个独立的 USB 2.0 端口连接到我的电脑。我不是编程初学者,但也不是专家,所以任何建议将不胜感激。

为什么你不能调用一些在每一步捕获图像的函数?

# import modules for camera and stepper control
def step_and_capture(steps=6):
images = []
for x in range(steps):
stepper.Move(0.5)
image = cam_capture_method() # returns a photo or it could write to somewhere
time.sleep(1)
# save the images to folder?
if __name__ == "__main__":
step_and_capture()

相关内容

  • 没有找到相关文章

最新更新