图 手机上启动Cam Server
当存在多个摄像头时,可以借由摄像头编号识别摄像头,如Camera(0)和Camera(1)等。这里的编号对应了Linux文件系统中的/dev/video0和/dev/video1设备。
下面的例子演示了如何同时调用两个摄像头(USB摄像头和Pi Camera),并对画面进行拼接。
import SimpleCV as scvimport time cam0 = scv.Camera(0)cam1 = scv.Camera(1) display = scv.Display(resolution = (640, 240)) while display.isNotDone(): # Resize the images to fit display window img0 = cam0.getImage().resize(320, 240) img1 = cam1.getImage().resize(320, 240) # Combine img1 to the right side of img0 img_combined = img0.sideBySide(img1, side = "right") img_combined.save(display)代码中设置显示窗口大小为640x240,并通过resize()函数将单个摄像头的图像缩放到320x240,最后使用sideBySide()函数对图像进行拼接。左侧的画面由USB摄像头获取,右面的画面则来自Pi Camera模块。
图 多摄像头视频拼接