Ejemplo n.º 1
0
class DriverAdaMatrix(DriverBase):
    # rows: height of the matrix, same as led-matrix example
    # chain: number of LEDMatrix panels, same as led-matrix example
    def __init__(self, rows=32, chain=1):
        super(DriverAdaMatrix, self).__init__(rows * 32 * chain)
        self._matrix = Adafruit_RGBmatrix(rows, chain)

    #Push new data to strand
    def update(self, data):
        self._matrix.SetBuffer(data)

    #Matrix supports between 2^1 and 2^11 levels of PWM
    #which translates to the total color bit-depth possible
    #A lower value will take up less CPU cycles
    def SetPWMBits(self, bits):
        if bits < 1 or bits > 11:
            raise ValueError("PWM level must be between 1 and 11")
        self._matrix.SetPWMBits(bits)
interval = 1. / fps
n_frames = int(args.duration * fps)

PWM_BIT_DEPTH = 6

MAX_RED = 200
MAX_GREEN = 200
MAX_BLUE = 200

# This is the size of our encoded representations.
image_side = 28
image_dim = image_side * image_side

# Rows and chain length are both required parameters:
matrix = Adafruit_RGBmatrix(32, 1)
matrix.SetPWMBits(PWM_BIT_DEPTH)
matrix.Clear()


def channel(v, max):
    return int(round(v * max))


def autoencoder_generate(n_steps):
    # Generate first image as random.
    frame = np.random.random((1, image_dim))

    # Iterate.
    for t in range(n_steps):

        f = frame.reshape(image_side, image_side)