def get_lane_type(self, img, color_img):
        right_lane = Lane()
        left_lane = Lane()

        # Detect color.
        left_lane.color, right_lane.color = detect_color(color_img)
        # Detect solid vs dotted and single vs double.
        left_lane, right_lane, left_centers, right_centers = detect_dotted(
            img, left_lane, right_lane)

        # Handle errors. Don't update lane information unless new lane has been seen for 5 frames.
        if left_lane != self.last_left:
            if self.new_count_left >= 5 or self.first_frame:
                self.last_left = left_lane
                self.new_count_left = 0
            else:
                left_lane = self.last_left
                self.new_count_left += 1
        else:
            self.new_count_left = 0
        if right_lane != self.last_right:
            if self.new_count_right >= 5 or self.first_frame:
                self.last_right = right_lane
                self.new_count_right = 0
                self.first_frame = False
            else:
                right_lane = self.last_right
                self.new_count_right += 1
        else:
            self.new_count_right = 0

        return left_lane, right_lane, left_centers, right_centers