cv-analysis-service/synthesis/segment/random_content_rectangle.py
Matthias Bisping cc0094d3f7 Refactoring: Move
Move random content rectangle into its own module
2023-02-01 16:55:51 +01:00

18 lines
490 B
Python

import random
from functools import lru_cache
from synthesis.random import rnd
from synthesis.segment.content_rectangle import ContentRectangle
class RandomContentRectangle(ContentRectangle):
def __init__(self, x1, y1, x2, y2, content=None, seed=None):
super().__init__(x1, y1, x2, y2, content)
self.seed = seed or get_random_seed()
self.random = random.Random(self.seed)
@lru_cache(maxsize=None)
def get_random_seed():
return rnd.randint(0, 2**32 - 1)