def __init__(self, path, kp_a=[], des_a=[], image_ext=['jpg']): self.hcv = hcv.ComputerVision() self.h_matcher = hcv.Matcher() self.image_ext = image_ext self.path = path self.kp_a = kp_a self.des_a = des_a
def old_test(): img1a_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/test_images/images/img_1_a.jpg' img1b_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/test_images/images/img_1_b.jpg' img1c_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/test_images/images/img_1_c.jpg' img1d_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/test_images/images/img_1_d.jpg' img2a_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/test_images/images/img_2_a.jpg' img2b_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/test_images/images/img_2_b.jpg' img2c_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/test_images/images/img_2_c.jpg' img1a = cv2.imread(img1a_path) # queryImage img1b = cv2.imread(img1b_path) # trainImage img1c = cv2.imread(img1c_path) # trainImage img1d = cv2.imread(img1d_path) # trainImage img2a = cv2.imread(img2a_path) # queryImage img2b = cv2.imread(img2b_path) # trainImage img2c = cv2.imread(img2c_path) # trainImage hcv = hackberry_cv.ComputerVision() kp_alg = cv2.FastFeatureDetector() #kp_alg = cv2.SURF() des_alg = cv2.SURF() out = hcv.stitch(img2a, img2b, kp_alg, des_alg) out = hcv.stitch(out, img2c, kp_alg, des_alg) cv2.imwrite('out_1.jpg', out) out = hcv.stitch(img1a, img1b, kp_alg, des_alg) out = hcv.stitch(out, img1c, kp_alg, des_alg) out = hcv.stitch(out, img1d, kp_alg, des_alg) cv2.imwrite('out_2.jpg', out)
def test_on_files(): hcv = hackberry_cv.ComputerVision() kp_alg = cv2.SURF() des_alg = cv2.SURF() #out = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/hackberry/stitch-0.jpg' out = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/hackberry/f64/f-0.jpg' out = cv2.imread(out) # queryImage frames_to_process = 40 for i in range(1, frames_to_process): print '-------------------------------------------' if i + 1 == frames_to_process: break if i == 31: break n_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/hackberry/f64/f-' + str( i) + '.jpg' print n_path print '-------------------------------------------' #n_path = '/Users/ifahad7/Dropbox/School/FYDP/hackberry/hackberry/stitch-'+str(i)+'.jpg' n = cv2.imread(n_path) # queryImage t_s = time.time() out = hcv.stitch(out, n, kp_alg, des_alg) t_e = time.time() - t_s print 'T_TOTA = ' + str(t_e) #small_out = cv2.resize(out, (0,0), fx=0.3, fy=0.3) #show('out', small_out) cv2.imwrite('out.jpg', out)
def rt_test_uno(): print "Starting in 5 seconds" time.sleep(5) print "START!!!" hcv = hackberry_cv.ComputerVision() kp_alg = cv2.SURF() des_alg = cv2.SURF() cam_buf = list() bufferer = hackberry_s.UnoBuffer(cam_buf) bufferer.start() while len(cam_buf) < 1: continue out = cam_buf.pop(0) try: while True: out = uno_rt_it(hcv, out, kp_alg, des_alg, cam_buf) cv2.imshow('uno_out', out) except KeyboardInterrupt: bufferer.stop() bufferer.join() return bufferer.stop() bufferer.join()
def __init__(self, kp_alg, des_alg, buf, buf_size, lock): super(StitchBuffer, self).__init__() self._stop = threading.Event() self.hcv = hackberry_cv.ComputerVision() self.kp_alg = kp_alg self.des_alg = des_alg self.buf = buf self.buf_size = buf_size self.lock = lock self.mosaic_counter = 0 self.counter = 0 self.start_mosaic = False self.viewer = ImageViewer()
def rt_test(): hcv = hackberry_cv.ComputerVision() kp_alg = cv2.SURF() #kp_alg = cv2.FastFeatureDetector() des_alg = cv2.SURF() cap = cv2.VideoCapture(0) cam_buf = list() cam_buf_size = 10 cam_thread_lock = threading.Lock() stitch_buf = list() stitch_buf_size = 10 stitch_thread_lock = threading.Lock() bufferer = ImageBuffer(cap, cam_buf, cam_buf_size, cam_thread_lock) stitcher = StitchBuffer(kp_alg, des_alg, stitch_buf, stitch_buf_size, stitch_thread_lock) viewer = ImageViewer() threads = dict() threads['bufferer'] = bufferer threads['stitcher'] = stitcher threads['viewer'] = viewer threads['cam_lock'] = cam_thread_lock threads['stitch_lock'] = stitch_thread_lock try: #rt_it(hcv, kp_alg, des_alg, threads, cam_buf, stitch_buf) rt_it_slow(hcv, kp_alg, des_alg, threads, cam_buf, stitch_buf) while True: continue except KeyboardInterrupt: #stitcher.stop() #stitcher.join() bufferer.stop() bufferer.join() cap.release() #stitcher.stop() #stitcher.join() bufferer.stop() bufferer.join() cap.release()