HEX
Server: Apache/2.4.66 (Ubuntu)
System: Linux nic2 5.15.0-177-generic #187-Ubuntu SMP Sat Apr 11 22:54:33 UTC 2026 x86_64
User: www-data (33)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //test_python/codificatore.py
import numpy as np
from PIL import Image
import os

def generate_soliton_matrix(image_path, grid_size=32):
    # 1. Caricamento immagine
    img = Image.open(image_path).convert('RGB')
    data = np.asarray(img, dtype=float) / 255.0
    h, w, _ = data.shape

    # 2. Inizializzazione Matrice del Sasso (Canali RGB)
    # 32x32 = 1024 punti spettrali per canale
    sasso = np.zeros((grid_size, grid_size, 3))
    
    sh, sw = h // grid_size, w // grid_size

    for c in range(3): # Canali R, G, B
        for i in range(grid_size):
            for j in range(grid_size):
                # Estrazione del blocco locale (potenziale locale)
                block = data[i*sh:(i+1)*sh, j*sw:(j+1)*sw, c]
                if block.size > 0:
                    # Trasformata spettrale per identificare l'energia del solitone
                    # Usiamo il valore medio del modulo della FFT come autovalore zeta
                    zeta = np.mean(np.abs(np.fft.fft2(block)))
                    sasso[i, j, c] = zeta

    # 3. Salvataggio della Matrice in formato binario (Differenza Zero)
    np.save('matrice_sasso.npy', sasso)
    print(f"Codifica completata. File 'matrice_sasso.npy' generato.")
    print(f"Dimensioni matrice: {sasso.shape}")

if __name__ == "__main__":
    # Inserisci qui il nome del file immagine presente sul tuo server
    file_name = "immagine_volto.jpg" 
    if os.path.exists(file_name):
        generate_soliton_matrix(file_name)
    else:
        print(f"Errore: Il file {file_name} non รจ stato trovato sul server.")