def __init__(self, slipmap, grid_width=20, grid_height=20, thumb_size=30, C=CameraParams()): self.thumb_size = thumb_size self.width = grid_width * thumb_size self.height = grid_height * thumb_size self.mosaic = cv.CreateImage((self.height,self.width),8,3) cuav_util.zero_image(self.mosaic) self.display_regions = grid_width*grid_height self.regions = [] self.regions_sorted = [] self.page = 0 self.images = [] self.current_view = 0 self.full_res = False self.boundary = [] self.displayed_image = None self.last_click_position = None self.c_params = C import mp_image, wx self.image_mosaic = mp_image.MPImage(title='Mosaic', events=[wx.EVT_MOUSE_EVENTS, wx.EVT_KEY_DOWN]) self.slipmap = slipmap self.selected_region = 0 self.view_image = None self.brightness = 1 self.slipmap.add_callback(functools.partial(self.map_callback))
def redisplay_mosaic(self): '''re-display whole mosaic page''' self.mosaic = cv.CreateImage((self.height,self.width),8,3) cuav_util.zero_image(self.mosaic) for ridx in range(len(self.regions)): self.display_mosaic_region(ridx) self.image_mosaic.set_image(self.mosaic, bgr=True)
def redisplay_mosaic(self): '''re-display whole mosaic page''' self.mosaic = cv.CreateImage((self.height, self.width), 8, 3) cuav_util.zero_image(self.mosaic) for ridx in range(len(self.regions)): self.display_mosaic_region(ridx) if self.brightness != 1.0: cv.ConvertScale(self.mosaic, self.mosaic, scale=self.brightness) self.image_mosaic.set_image(self.mosaic, bgr=True)
def redisplay_mosaic(self): '''re-display whole mosaic page''' width = (self.width // self.thumb_size) * self.thumb_size height = (self.height // self.thumb_size) * self.thumb_size self.mosaic = cv.CreateImage((width,height),8,3) cuav_util.zero_image(self.mosaic) for ridx in range(len(self.regions_sorted)): self.display_mosaic_region(ridx) if self.brightness != 1.0: cv.ConvertScale(self.mosaic, self.mosaic, scale=self.brightness) self.image_mosaic.set_image(self.mosaic, bgr=True)
def __init__(self, slipmap, grid_width=20, grid_height=20, thumb_size=35, C=CameraParams()): self.thumb_size = thumb_size self.width = grid_width * thumb_size self.height = grid_height * thumb_size self.mosaic = cv.CreateImage((self.height,self.width),8,3) cuav_util.zero_image(self.mosaic) self.display_regions = grid_width*grid_height self.regions = [] self.regions_sorted = [] self.page = 0 self.sort_type = 'Time' self.images = [] self.current_view = 0 self.last_view_latlon = None self.view_filename = None self.full_res = False self.boundary = [] self.displayed_image = None self.last_click_position = None self.c_params = C import wx self.image_mosaic = mp_image.MPImage(title='Mosaic', mouse_events=True, key_events=True, auto_size=True) self.slipmap = slipmap self.selected_region = 0 self.view_image = None self.brightness = 1 self.slipmap.add_callback(functools.partial(self.map_callback)) self.menu = MPMenuTop([MPMenuSubMenu('View', items=[MPMenuRadio('Sort By', 'Select sorting key', returnkey='setSort', selected=self.sort_type, items=['Score\tAlt+S', 'Compactness\tAlt+C', 'Distinctiveness\tAlt+D', 'Whiteness\tAlt+W', 'Time\tAlt+T']), MPMenuItem('Next Page\tCtrl+N', 'Next Page', 'nextPage'), MPMenuItem('Previous Page\tCtrl+P', 'Previous Page', 'previousPage'), MPMenuItem('Brightness +\tCtrl+B', 'Increase Brightness', 'increaseBrightness'), MPMenuItem('Brightness -\tCtrl+Shift+B', 'Decrease Brightness', 'decreaseBrightness') ])]) self.image_mosaic.set_menu(self.menu) self.popup_menu = MPMenuSubMenu('Popup', items=[MPMenuItem('Show Image', returnkey='showImage')]) self.image_mosaic.set_popup_menu(self.popup_menu)
def __init__(self, slipmap, grid_width=20, grid_height=20, thumb_size=35, C=CameraParams(), camera_settings=None, image_settings=None, start_menu=False): self.thumb_size = thumb_size self.width = grid_width * thumb_size self.height = grid_height * thumb_size self.mosaic = cv.CreateImage((self.height, self.width), 8, 3) cuav_util.zero_image(self.mosaic) self.display_regions = grid_width * grid_height self.regions = [] self.regions_sorted = [] self.page = 0 self.sort_type = 'Time' self.images = [] self.current_view = 0 self.last_view_latlon = None self.view_filename = None self.full_res = False self.boundary = [] self.displayed_image = None self.last_click_position = None self.c_params = C self.camera_settings = camera_settings self.image_settings = image_settings self.start_menu = start_menu self.has_started = not start_menu import wx self.image_mosaic = mp_image.MPImage(title='Mosaic', mouse_events=True, key_events=True, auto_size=True) self.slipmap = slipmap self.selected_region = 0 self.view_image = None self.brightness = 1 # dictionary of image requests, contains True if fullres image is wanted self.image_requests = {} self.slipmap.add_callback(functools.partial(self.map_callback)) self.add_menus()
def __init__(self, slipmap, grid_width=20, grid_height=20, thumb_size=35, C=CameraParams(), camera_settings = None, image_settings = None, start_menu=False): self.thumb_size = thumb_size self.width = grid_width * thumb_size self.height = grid_height * thumb_size self.mosaic = cv.CreateImage((self.height,self.width),8,3) cuav_util.zero_image(self.mosaic) self.display_regions = grid_width*grid_height self.regions = [] self.regions_sorted = [] self.page = 0 self.sort_type = 'Time' self.images = [] self.current_view = 0 self.last_view_latlon = None self.view_filename = None self.full_res = False self.boundary = [] self.displayed_image = None self.last_click_position = None self.c_params = C self.camera_settings = camera_settings self.image_settings = image_settings self.start_menu = start_menu self.has_started = not start_menu import wx self.image_mosaic = mp_image.MPImage(title='Mosaic', mouse_events=True, key_events=True, auto_size=True) self.slipmap = slipmap self.selected_region = 0 self.view_image = None self.brightness = 1 # dictionary of image requests, contains True if fullres image is wanted self.image_requests = {} self.slipmap.add_callback(functools.partial(self.map_callback)) self.add_menus()
def __init__(self, slipmap, grid_width=20, grid_height=20, thumb_size=35, C=CameraParams(), camera_settings = None, image_settings = None, start_menu=False, classify=None): self.thumb_size = thumb_size self.width = grid_width * thumb_size self.height = grid_height * thumb_size self.mosaic = cv.CreateImage((self.height,self.width),8,3) cuav_util.zero_image(self.mosaic) self.display_regions = grid_width*grid_height self.regions = [] self.regions_sorted = [] self.regions_hidden = set() self.mouse_region = None self.ridx_by_frame_time = {} self.page = 0 self.sort_type = 'Time' self.images = [] self.current_view = 0 self.last_view_latlon = None self.view_filename = None self.full_res = False self.boundary = [] self.displayed_image = None self.last_click_position = None self.c_params = C self.camera_settings = camera_settings self.image_settings = image_settings self.start_menu = start_menu self.classify = classify self.has_started = not start_menu import wx self.image_mosaic = mp_image.MPImage(title='Mosaic', mouse_events=True, key_events=True, auto_size=False, report_size_changes=True) self.slipmap = slipmap self.selected_region = 0 self.view_image = None self.brightness = 1 # dictionary of image requests, contains True if fullres image is wanted self.image_requests = {} self.slipmap.add_callback(functools.partial(self.map_callback)) if classify: import lxml.objectify, lxml.etree with open(classify) as f: categories = lxml.objectify.fromstring(f.read()) cat_names = set() self.categories = [] try: for c in categories.category: self.categories.append((c.get('shortcut') or '', c.text)) if c.text in cat_names: print 'WARNING: category name',c.text,'used more than once' else: cat_names.add(c.text) except AttributeError as ex: print ex print 'failed to load any categories for classification' self.region_class = lxml.objectify.E.regions() self.add_menus()