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
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