예제 #1
0
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)
예제 #2
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)