]>
vgcfreebox.myrthtech.pt Git - ue-ccd-compressaodeimagensbinarias.git/blob - taxa_compressão.py
4 def calcular_taxa_compressao(caminho_original
, caminho_comprimido
, total_pixeis
):
6 tamanho_orig
= os
.path
.getsize(caminho_original
)
7 tamanho_comp
= os
.path
.getsize(caminho_comprimido
)
9 poupanca
= (1 - (tamanho_comp
/ tamanho_orig
)) * 100
11 bpp
= (tamanho_comp
* 8) / total_pixeis
13 return poupanca
, bpp
, tamanho_orig
, tamanho_comp
15 def clean_image_data(image_data
):
19 for line
in image_data
:
21 line
= line
.replace(" ", "")
22 if not line
or line
.startswith('#'):
28 with open(sys
.argv
[1], "r") as ficheiro
:
29 lines
= ficheiro
.readlines()
30 image_data
= clean_image_data(lines
[2:])
32 largura
, altura
= lines
[1].split(" ")
34 total_pixeis
= int(largura
) * int(altura
)
35 p
, b
, t_o
, t_c
= calcular_taxa_compressao(sys
.argv
[1], sys
.argv
[1] + "_compressed", len(image_data
))
37 print(f
"Tamanho Original: {t_o} bytes")
38 print(f
"Tamanho Comprimido: {t_c} bytes")
39 print(f
"Redução: {p:.2f}%")
40 print(f
"Rácio: {b:.4f} bits/pixel")