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/codificatorev3.py
import numpy as np
from PIL import Image
import scipy.ndimage as nd

def codificatore_v3(image_path):
    # Caricamento e mantenimento proporzioni reali
    img = Image.open(image_path).convert('L') # Lavoriamo sulla luminanza (struttura)
    original_size = img.size
    data = np.asarray(img, dtype=float)
    
    # 1. Rilevamento dei gradienti (Lo scheletro del volto)
    # Usiamo l'operatore di Sobel per trovare dove "vibrano" i solitoni
    dx = nd.sobel(data, 0)
    dy = nd.sobel(data, 1)
    mag = np.hypot(dx, dy)
    mag *= 255.0 / np.max(mag) # Normalizzazione
    
    # 2. Compressione Spettrale (Il Sasso V3)
    # Salviamo solo i punti di massima energia (le rughe)
    sasso_v3 = mag[::8, ::8] # Campionamento a passo 8
    
    np.save('matrice_sasso_v3.npy', sasso_v3)
    np.save('proporzioni.npy', np.array(original_size))
    print("V3: Scheletro strutturale estratto.")

if __name__ == "__main__":
    codificatore_v3("immagine_volto.jpg")