同时控制步进电机和相机的最佳方法是什么?
假设相机放置在线性平台(步进电机)上,我想以 1 mm 的步长移动平台并在每一步结束时捕获一帧。两个设备(相机和舞台)都通过 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 End\n")
close() # closes port
并根据需要移动和睡觉。
单独执行时,两个脚本都能成功运行。但是,如何组合这些脚本,以便在每个步骤结束时拍照?对于上面提到的移动 6 次的示例,我想在最后获得 6 张图像,在每一步结束时捕获。是否应该使用多线程、多处理?... 这两种设备都通过 2 个单独的 USB 2.0 端口连接到我的计算机。我不是编程的初学者,但也不是专家,所以任何建议都将不胜感激。
holdtom
相关分类