Example #1
0
def main(args):
    image = cv.LoadImage( args.input_image)
    featuremap = FeatureMap()
    featuremap.read_from_file( args.input_features )
    classifier = load_classifier_from_file( args.classifier )
    if not classifier.is_trained():
        print "Warning: using an untrained classifier. This will probably break."
    label_set = LabelSet()
    label_set.read_from_file( args.label_set )

    window = ClickWindow( image, args.zoom_out)

    while(True):
        cont = update_all_windows()
        if not cont:
            break
        if window.update_label:
            click_pt = window.click_pt
            closest_pt = min( featuremap.get_feature_points(),
                              key = lambda pt: l2_dist(pt,click_pt) )
            feature = featuremap.get_feature( closest_pt )
            shape = featuremap.get_shape( closest_pt )
            size = featuremap.get_size( closest_pt )

            label = classifier.predict_label( feature )
            label_name = "None" if label==0 else label_set.get_label_name(label)
            label_color = cv.RGB(0,0,0) if label==0 else label_set.get_label_color(label)
            print "Predicted label: %d (%s)"%(label, label_name);
            window.set_patch( closest_pt, shape, size, label_color )
            window.update_label = False
 def handleEventsUnzoomed(self, event, x, y, flags, param):
     if event == cv.CV_EVENT_LBUTTONDOWN:
         if mode == SET or self.id >= 0:
             self.click_pt = (x, y)
         elif mode == SELECT:
             pts = self.get_pts()
             global selected_index
             selected_index = min(pts.keys(), key=lambda i: l2_dist(pts[i], (x, y)))
Example #3
0
 def handleEventsUnzoomed(self,event,x,y,flags,param):
     if event == cv.CV_EVENT_LBUTTONDOWN:
         if mode == SET or self.id >= 0:
             self.click_pt = (x,y)
         elif mode == SELECT:
             pts = self.get_pts()
             global selected_index
             selected_index = min( pts.keys(), 
                                   key = lambda i: l2_dist(pts[i], (x,y) ) ) 
Example #4
0
 def handleEventsUnzoomed(self, event, x, y, flags, param):
     if event == cv.CV_EVENT_LBUTTONDOWN:
         if self.mode == SET:
             points.append((x, y))
         elif self.mode == DELETE:
             i = min(range(len(points)),
                     key=lambda i: l2_dist(points[i], (x, y)))
             deleted.append(points.pop(i))
         elif self.mode == LINE_TILE:
             if len(self.tile_params) < 3:
                 self.tile_params.append((x, y))
         elif self.mode == BLOCK_TILE:
             if len(self.tile_params) < 5:
                 self.tile_params.append((x, y))
Example #5
0
 def handleEventsUnzoomed(self,event,x,y,flags,param):
     if event == cv.CV_EVENT_LBUTTONDOWN:
         if self.mode == SET:
             points.append( (x,y) )
         elif self.mode == DELETE:
             i = min( range(len(points)), 
                      key = lambda i: l2_dist(points[i], (x,y) ) )
             deleted.append(points.pop(i))
         elif self.mode == LINE_TILE:
             if len(self.tile_params) < 3:
                 self.tile_params.append( (x,y) )
         elif self.mode  == BLOCK_TILE:
             if len(self.tile_params) < 5:
                 self.tile_params.append( (x,y) )
def main(args):
    compared_image = cv.LoadImage( args.compared_image)
    reference_image = cv.LoadImage( args.reference_image )
    compared_featuremap = FeatureMap()
    compared_featuremap.read_from_file( args.compared_features )
    reference_featuremap = FeatureMap()
    reference_featuremap.read_from_file( args.reference_features )
    compare_window = ClickWindow( compared_image, args.compare_zoom_out)
    reference_window = ReferenceWindow( reference_image, args.reference_zoom_out)
    reference_window.move( compare_window.size()[0], 0 ) 

    #nn_solver = pyflann.FLANN()
    while(True):
        cont = update_all_windows()
        if not cont:
            break
        if compare_window.update_nn:
            click_pt = compare_window.click_pt
            closest_pt = min( compared_featuremap.get_feature_points(),
                              key = lambda pt: l2_dist(pt,click_pt) )
            compared_feature = compared_featuremap.get_feature( closest_pt )
            distance_map = {}
            shape_map = {}
            size_map = {}
            for pt in reference_featuremap.get_feature_points():
                distance_map[pt] = l2_dist( compared_feature,
                                              reference_featuremap.get_feature(pt) )
                shape_map[pt] = reference_featuremap.get_shape(pt)
                size_map[pt] = reference_featuremap.get_size(pt)
            
            knn = compute_knn( distance_map.keys(), lambda pt: distance_map[pt], 20 )
            reference_window.set_knn( knn  )
            reference_window.set_distance_map( distance_map )
            reference_window.set_shape_map( shape_map )
            reference_window.set_size_map( size_map )
            compare_window.update_nn = False
Example #7
0
 def dist(self, v1, v2):
     return l2_dist(v1, v2)
Example #8
0
 def dist(self, v1, v2):
     #Hard coded for now, make dist fxn variable later
     return l2_dist(v1, v2)
 def dist( self, v1, v2 ):
     return l2_dist( v1, v2 )
 def dist( self, v1, v2 ):
     #Hard coded for now, make dist fxn variable later
     return l2_dist( v1, v2 )