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
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
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
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
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