MCPcopy Index your code
hub / github.com/makelove/OpenCV-Python-Tutorial / App

Class App

官方samples/plane_tracker.py:141–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

139
140
141class App:
142 def __init__(self, src):
143 self.cap = video.create_capture(src, presets['book'])
144 self.frame = None
145 self.paused = False
146 self.tracker = PlaneTracker()
147
148 cv2.namedWindow('plane')
149 self.rect_sel = common.RectSelector('plane', self.on_rect)
150
151 def on_rect(self, rect):
152 self.tracker.add_target(self.frame, rect)
153
154 def run(self):
155 while True:
156 playing = not self.paused and not self.rect_sel.dragging
157 if playing or self.frame is None:
158 ret, frame = self.cap.read()
159 if not ret:
160 break
161 self.frame = frame.copy()
162
163 vis = self.frame.copy()
164 if playing:
165 tracked = self.tracker.track(self.frame)
166 for tr in tracked:
167 cv2.polylines(vis, [np.int32(tr.quad)], True, (255, 255, 255), 2)
168 for (x, y) in np.int32(tr.p1):
169 cv2.circle(vis, (x, y), 2, (255, 255, 255))
170
171 self.rect_sel.draw(vis)
172 cv2.imshow('plane', vis)
173 ch = cv2.waitKey(1)
174 if ch == ord(' '):
175 self.paused = not self.paused
176 if ch == ord('c'):
177 self.tracker.clear()
178 if ch == 27:
179 break
180
181if __name__ == '__main__':
182 print(__doc__)

Callers 1

plane_tracker.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected