def METHOD_NAME(self):
    # consts have changed locations between versions 2 and 3
    if self.opencvMajorVersion in (3, 4):
        PROPERTY_WIDTH = cv2.CAP_PROP_FRAME_WIDTH
        PROPERTY_HEIGHT = cv2.CAP_PROP_FRAME_HEIGHT
        PROPERTY_FPS = cv2.CAP_PROP_FPS
    elif self.opencvMajorVersion == 2:
        PROPERTY_WIDTH = cv2.cv.CV_CAP_PROP_FRAME_WIDTH
        PROPERTY_HEIGHT = cv2.cv.CV_CAP_PROP_FRAME_HEIGHT
        PROPERTY_FPS = cv2.cv.CV_CAP_PROP_FPS
    elif self.opencvMajorVersion == 1:
        PROPERTY_WIDTH = cv.CV_CAP_PROP_FRAME_WIDTH
        PROPERTY_HEIGHT = cv.CV_CAP_PROP_FRAME_HEIGHT
        PROPERTY_FPS = cv.CV_CAP_PROP_FPS
    Logger.debug('Using opencv ver.' + str(self.opencvMajorVersion))
    if self.opencvMajorVersion == 1:
        # create the device
        self._device = hg.cvCreateCameraCapture(self._index)
        # Set preferred resolution
        cv.SetCaptureProperty(self._device, cv.CV_CAP_PROP_FRAME_WIDTH,
                              self.resolution[0])
        cv.SetCaptureProperty(self._device, cv.CV_CAP_PROP_FRAME_HEIGHT,
                              self.resolution[1])
        # and get frame to check if it's ok
        frame = hg.cvQueryFrame(self._device)
        # Just set the resolution to the frame we just got, but don't use
        # self.resolution for that as that would cause an infinite
        # recursion with self.init_camera (but slowly as we'd have to
        # always get a frame).
        self._resolution = (int(frame.width), int(frame.height))
        # get fps
        self.fps = cv.GetCaptureProperty(self._device, cv.CV_CAP_PROP_FPS)
    elif self.opencvMajorVersion in (2, 3, 4):
        # create the device
        self._device = cv2.VideoCapture(self._index)
        # Set preferred resolution
        self._device.set(PROPERTY_WIDTH,
                         self.resolution[0])
        self._device.set(PROPERTY_HEIGHT,
                         self.resolution[1])
        # and get frame to check if it's ok
        ret, frame = self._device.read()
        # source:
        # http://stackoverflow.com/questions/32468371/video-capture-propid-parameters-in-opencv # noqa
        self._resolution = (int(frame.shape[1]), int(frame.shape[0]))
        # get fps
        self.fps = self._device.get(PROPERTY_FPS)
    if self.fps == 0 or self.fps == 1:
        self.fps = 1.0 / 30
    elif self.fps > 1:
        self.fps = 1.0 / self.fps
    if not self.stopped:
        self.start()