class TableDetector(event.DecisionMaker): def __init__(self, ev): self.ev = ev self.table_matcher = SIFTMatcher(templ='haarcascades/table.png', min_match_count=20) super(TableDetector, self).__init__(ev) def frame(self, frame): height, width = frame.shape[:2] frame = cv2.resize(frame, (3*width/4, 3*height/4)) result = self.table_matcher.find_match(frame) if result is not None: kp2, matchesMask, dst, good, dst_pts = result else: cv2.imshow('frame', frame) self.sleep(0) return frame = cv2.polylines(frame,[np.int32(dst)],True, 255) cv2.imshow('Table detector', cv2.resize(frame, dsize=None, fx=0.5, fy=0.5)) self.emit('table_pos', dst) self.sleep(0)
def __init__(self, ev): self.ev = ev self.table_matcher = SIFTMatcher(templ='haarcascades/table.png', min_match_count=20) super(TableDetector, self).__init__(ev)