def __pygame_to_cvimage__( self, surface ): ''' Converti une Surface pygame au format opencv @param surface: surface pygame @type surface: pygame.Surface ''' cv_image = cv.CreateImageHeader( surface.get_size(), 8, 3 ) image_string = self.__surface_to_string__( surface ) cv.SetData( cv_image, image_string ) return cv_image
def blur_image(surface, amt): ''' Return a blurred copy of ``surface`` by the given ``amount`` (that must be 1 or greater). [Adapted from: http://www.akeric.com/blog/?p=720] ''' # 'amt' must be greater than 1.0 assert amt > 1 scale = 1.0/amt surf_size = surface.get_size() scale_size = (int(surf_size[0]*scale), int(surf_size[1]*scale)) surf = pygame.transform.smoothscale(surface, scale_size) surf = pygame.transform.smoothscale(surf, surf_size) return surf
def maskFromSurface(surface, threshold=127): mask = mask.Mask(surface.get_size()) key = surface.get_colorkey() if key: for y in range(surface.get_height()): for x in range(surface.get_width()): if surface.get_at((x + 0.1, y + 0.1)) != key: mask.set_at((x, y), 1) else: for y in range(surface.get_height()): for x in range(surface.get_width()): if surface.get_at((x, y))[3] > threshold: mask.set_at((x, y), 1) return mask
def maskFromSurface(surface, threshold = 127): mask = mask.Mask(surface.get_size()) key = surface.get_colorkey() if key: for y in range(surface.get_height()): for x in range(surface.get_width()): if surface.get_at((x+0.1,y+0.1)) != key: mask.set_at((x,y),1) else: for y in range(surface.get_height()): for x in range (surface.get_width()): if surface.get_at((x,y))[3] > threshold: mask.set_at((x,y),1) return mask