def get_circles(self, frame):
        red = frame[:, :, 0] - frame[:, :, 2]
        red = images.threshold(red, 120)
        opened = images.opening(red, (31, 31))
        m1 = list(images.center_of_mass(opened))

        return [m1[0], m1[1], 50]
def get_circles(frame):
    red = frame[:, :, 0] - frame[:, :, 2]
    opened = images.opening(red, (31, 31))
    w = opened.shape[1]
    im1, im2 = opened[:, :w // 2], opened[:, w // 2:]
    m1 = list(images.center_of_mass(im1))
    m2 = list(images.center_of_mass(im2))
    m2[0] += w // 2
    return np.array([[m1[0], m1[1], 50], [m2[0], m2[1], 50]])
 def find_center(self, im):
     im0 = im.copy()
     im = images.threshold(im, 80)
     im = images.opening(im, (6, 6))
     center = images.center_of_mass(im)
     im0 = images.gray_to_bgr(im0)
     im0 = images.draw_circle(im0, center[0], center[1], 5)
     im = images.gray_to_bgr(im)
     im = images.draw_circle(im, center[0], center[1], 5)
     images.save(images.hstack(im, im0),
                 self.log_direc + '{}.png'.format(self.i))
     self.i += 1
     return center
Exemple #4
0
def get_circles(frame, left_crop, right_crop):
    red = frame[:, :, 0] - frame[:, :, 2]
    red = images.threshold(red, 65)
    opened = images.opening(red, (31, 31))
    w = opened.shape[1]
    im1 = images.crop(opened, left_crop.bbox)
    im2 = images.crop(opened, right_crop.bbox)
    m1 = list(images.center_of_mass(im1))
    m2 = list(images.center_of_mass(im2))
    m1[0] += left_crop.bbox.xmin
    m1[1] += left_crop.bbox.ymin
    m2[0] += right_crop.bbox.xmin
    m2[1] += right_crop.bbox.ymin

    return np.array([[m1[0], m1[1], 50], [m2[0], m2[1], 50]])
Exemple #5
0
    def get_circles(self, frame):
        red = frame[:, :, 0] - frame[:, :, 2]
        red = images.threshold(red, 65)
        opened = images.opening(red, (31, 31))
        im1 = images.crop(opened, self.left_crop.bbox)
        im2 = images.crop(opened, self.right_crop.bbox)
        if self.TRACK_LEFT:
            m1 = list(images.center_of_mass(im1))
        else:
            m1 = [im1.shape[1] // 2, im1.shape[0] // 2]
        if self.TRACK_RIGHT:
            m2 = list(images.center_of_mass(im2))
        else:
            m2 = [im2.shape[1] // 2, im2.shape[0] // 2]

        m1[0] += self.left_crop.bbox.xmin
        m1[1] += self.left_crop.bbox.ymin
        m2[0] += self.right_crop.bbox.xmin
        m2[1] += self.right_crop.bbox.ymin

        return np.array([[m1[0], m1[1], 50], [m2[0], m2[1], 50]])
Exemple #6
0
def get_circles(frame):
    red = frame[:, :, 0] - frame[:, :, 2]
    red = images.threshold(red, 65)
    opened = images.opening(red, (31, 31))
    m = list(images.center_of_mass(opened))
    return np.array([m[0], m[1], 50])
def opening(frame, parameters):
    kernel = parameters['opening kernel'][0]
    return images.opening(frame, (kernel, kernel))