code: func NewCameraDriver(source interface{}) *CameraDriver {
  	c := &CameraDriver{
  		name:    "Camera",
  		Eventer: gobot.NewEventer(),
  		Source:  source,
  		start: func(c *CameraDriver) (err error) {
  			switch v := c.Source.(type) {
  			case string:
  				c.camera, _ = gocv.VideoCaptureFile(v)
  			case int:
  				c.camera, _ = gocv.VideoCaptureDevice(v)
  			default:
  				return errors.New("Unknown camera source")
  			}
  			return
  		},
  	}
  
  	c.AddEvent(Frame)
  
  	return c
  }
docs: // NewCameraDriver creates a new driver with specified source.
  // It also creates a start function to either set camera as a File or Camera capture.