Esempio n. 1
0
dec = Decoder()

# bitstream (données reçues) --> frame RLE
dec_rle_data = dec.decode_bitstream_RLE(received_data)
t_fin_conversion_bitstream_recu_RLE = time()
duree_conversion_bitstream_recu_RLE = t_fin_conversion_bitstream_recu_RLE - t_fin_conversion_RLE_bitstream_et_passage_reseau

log.debug(f"Transmission réseau réussie : {str(rle_data == dec_rle_data).upper()}\n")

# frame RLE --> frame YUV
dec_yuv_data = dec.recompose_frame_via_iDTT(dec_rle_data, img_size, macroblock_size, P, S)
t_fin_conversion_RLE_YUV = time()
duree_conversion_RLE_YUV = t_fin_conversion_RLE_YUV - t_fin_conversion_bitstream_recu_RLE

# frame YUV --> frame RGB
dec_rgb_data = dec.YUV_to_RGB(np.array(dec_yuv_data, dtype=float))
t_fin_conversion_YUV_RGB = time()
duree_conversion_YUV_RGB = t_fin_conversion_YUV_RGB - t_fin_conversion_RLE_YUV


# Vérification des valeurs de la frame RGB décodée (on devrait les avoir entre
# 0 et 255)
# Les "valeurs illégales" sont ici en forte minorité (heureusement)
(num_illegal_low_values, num_illegal_high_values) = (0, 0) # pour débugger
for k in range(3):
    for i in range(img_height):
        for j in range(img_width):
            pixel_component = dec_rgb_data[i, j, k]
            
            # On remet 'pixel_component' entre 0 (inclus) et 255 (inclus) si besoin
            
Esempio n. 2
0
        print("Error: file doesn't exist")
        sys.exit(1)

    received_data = open(path, 'r')

    img_visu = ImageVisualizer()
    dec = Decoder()
    
    # bitstream --> frame RLE
    dec_rle_data = dec.decode_bitstream_RLE(received_data.read())
    
    # frame RLE --> frame YUV
    dec_yuv_data = dec.recompose_frame_via_DCT(dec_rle_data, img_size, macroblock_size, A)

    # frame YUV --> frame RGB
    dec_rgb_data = dec.YUV_to_RGB(dec_yuv_data)

    # Vérification des valeurs de la frame RGB décodée (on devrait les avoir entre
    # 0 et 255)
    # Les "valeurs illégales" sont ici en forte minorité (heureusement)
    (num_low_values, num_high_values) = (0, 0)
    for k in range(3):
        for i in range(img_height):
            for j in range(img_width):
                pixel_component = dec_rgb_data[i, j, k]

                # On remet 'pixel_component' entre 0 (inclus) et 255 (inclus) si besoin

                if pixel_component < 0:
                    dec_rgb_data[i, j, k] = 0
                    num_low_values += 1