Exemple #1
0
 def image_to_show( self ):
     cv.Copy( self.image, self.view_image )
     if self.patch:
         draw_patch( self.view_image, *self.patch, filled=True )
     if self.click_pt:
         cv.Circle( self.view_image, self.click_pt, 5*self.zoom_out, cv.RGB(0,0,255), -1 )
     return self.view_image
Exemple #2
0
 def image_to_show( self ):
     cv.Copy( self.image, self.view_image )
     for i,pt in enumerate(self.feature_map.get_feature_points()):
         shape = self.feature_map.get_shape(pt)
         size = self.feature_map.get_size(pt)
         color = cv.RGB(0,0,0)
         draw_patch( self.view_image, pt, shape, size, color, False, 5 )
     return self.view_image
    def image_to_show( self ):
        cv.Copy( self.image, self.view_image )
        if self.view_mode == GRADIENT and self.distance_map:
            pts = self.distance_map.keys()
            if self.log_scale:
                #TODO: fix case of np.log(0) and other small values since this results
                # in pct and color being nan
                distances = [np.log(dist) for dist in self.distance_map.values()]
            else:
                distances = self.distance_map.values()
            min_distance = min(distances)
            max_distance = max(distances)
            start_from = np.array(cv.RGB(0,0,255))
            end_at = np.array(cv.RGB(255,0,0))
            transparency = 0.8
            for i,pt in enumerate(pts):
                dist = distances[i]
                shape = self.shape_map[pt]
                size = self.size_map[pt]
                pct = 1 - (dist - min_distance) /  (max_distance - min_distance)
                color = tuple( transparency * ((1-pct)*start_from + pct*end_at) )
                draw_patch( self.distance_layer, pt, shape, size, color, True )
            cv.ScaleAdd(self.view_image, 1 - transparency, self.distance_layer, self.view_image)

        if self.view_mode == NN and self.knn:
            color = cv.RGB(0,255,0)
            pt = self.knn[0]
            cv.Circle( self.view_image, (int(pt[0]), int(pt[1])), 5*self.zoom_out, color, -1 )
            if self.show_patch:
                shape = self.shape_map[pt]
                size = self.size_map[pt]
                draw_patch( self.view_image, pt, shape, size, color)
        if self.view_mode == KNN and self.knn:
            for i,pt in enumerate(self.knn):
                factor = 1 - i / float(len(self.knn))
                color = cv.RGB(factor*255,0,0)
                cv.Circle( self.view_image, (int(pt[0]), int(pt[1])), 5*self.zoom_out, color, -1 )
                if self.show_patch:
                    shape = self.shape_map[pt]
                    size = self.size_map[pt]
                    draw_patch( self.view_image, pt, shape, size, color )
                
                
        return self.view_image