Exemple #1
0
    def create_mask(self, frame, hsv):
        mask = utils.hsv_mask(frame, hsv)
        mask = utils.morphology(mask, self.kernel_big)
        mask = utils.binary_thresh(mask, 127)
        mask = self.edge_detection(frame, mask)
        mask = self.separate_cubes(mask)

        return mask
Exemple #2
0
 def edge_detection(self, frame, mask):
     edge = utils.bitwise_and(frame, mask)
     edge = utils.canny_edge_detection(edge)
     edge = utils.binary_thresh(edge, 20)
     edge = utils.array8(edge)
     edge = utils.opening_morphology(edge, kernel_e=self.kernel_small, kernel_d=self.kernel_small)
     mask = utils.bitwise_not(mask, edge)
     mask = utils.closing_morphology(mask, kernel_d=self.kernel_medium, kernel_e=self.kernel_medium)
     return mask
Exemple #3
0
    def edge_detection(self, frame, mask):
        edge = utils.canny_edge_detection(frame)
        edge = utils.binary_thresh(edge, 127)
        edge = utils.array8(edge)
        edge = utils.dilate(edge, self.kernel_big)
        edge = utils.opening_morphology(edge, kernel_e=self.kernel_small, kernel_d=self.kernel_small, itr=3)
        edge = utils.bitwise_and(edge, mask)

        return edge
Exemple #4
0
    def create_mask(self, frame, hsv):
        mask = utils.hsv_mask(frame, hsv)
        mask = utils.binary_thresh(mask, 127)

        edge = self.edge_detection(frame, mask)

        mask = utils.bitwise_not(mask, edge)
        mask = utils.erode(mask, self.kernel_big)
        mask = utils.closing_morphology(mask, kernel_d=self.kernel_small, kernel_e=self.kernel_small, itr=3)

        return mask
Exemple #5
0
    def edge_detection(self, frame, mask):
        edge = utils.bitwise_and(frame, mask)
        edge = utils.canny_edge_detection(edge, min_val=100, max_val=125)
        edge = utils.binary_thresh(edge, 127)
        edge = utils.array8(edge)
        edge = utils.dilate(edge, self.kernel_small, itr=3)
        edge = utils.opening_morphology(edge,
                                        kernel_e=self.kernel_small,
                                        kernel_d=self.kernel_small,
                                        itr=3)
        mask = utils.bitwise_not(mask, edge)
        mask = utils.erode(mask, self.kernel_medium, itr=3)
        mask = utils.closing_morphology(mask,
                                        kernel_d=self.kernel_medium,
                                        kernel_e=self.kernel_medium,
                                        itr=3)

        return mask