forked from juanignava/ComputerArchitecture1.Project2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
load-image.py
56 lines (44 loc) · 1.46 KB
/
load-image.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
"""
Script que corresponde al encargado de leer el txt
generado en la simulación de Quartus y convertilo en
una imagen
"""
# función que puede leer el archivo linea por linea
import numpy as np
import imageio
def leer_mem_data_output(ruta):
"""
Esta función permite leer el archivo .txt para conseguir los
datos guardados por el procesador al correr la simulación. Estos
datos se guardarán en una lista que contiene la imagen con el
zoom aplicado
"""
f = open(ruta, "r")
add_flag = False
result_list = []
for line in f:
if (line[0] != '/'):
if(line[0] != 'x'):
result_list.append(int(line, 16))
else:
result_list.append(0)
return result_list
def guardar_imagen(ruta, lista):
"""
Esta funcion guarda la imagen especificada en una lista como escala de grises
en la ruta espcificada.
"""
# convertir la lista en una matriz que especifique las filas y columnas para la imagen
matriz = []
for y in range(357):
tempList = []
for x in range(360):
elem = y * 360 + x
tempList.append(lista[elem])
matriz.append(tempList)
return imageio.imwrite(ruta, np.array(matriz, dtype="uint8"))
# MAIN
# se deben cargar los resultados en una lista para su analisis
result_list = leer_mem_data_output("imageOutput.txt")
# se guarda la imagen ya procesada
guardar_imagen("images/test-image-grises.bmp", result_list)