L'immagine Lenna (o Lena) è stata una delle immagini di test standard più utilizzate per gli algoritmi di compressione fino al 2000. Ingegneri, ricercatori e studenti che hanno familiarità con l'elaborazione o la compressione delle immagini hanno molto probabilmente utilizzato l'immagine di 'Lenna' o 'Lena' nelle loro prove, poiché è stata una delle immagini di prova standard più utilizzate.

Ancora oggi, l'uso dell'immagine di Lenna è stato riconosciuto come uno degli eventi più importanti nella storia dell'imaging elettronico. Tuttavia, pochissime persone conoscono la storia completa di questa foto che è stata svelata nel 201 in un articolo scritto da Jamie Hutchinson e pubblicato nel numero di maggio della Newsletter della IEEE Professional Communication Society.

Qui di seguito un estratto tradotto dall'inglese: "Alexander Sawchuk stima che fosse nel giugno o nel luglio del 1973 quando lui, allora assistant professor di ingegneria elettrica presso l'USC Signal and Image Processing Institute (SIPI), insieme a uno studente laureato e al direttore del laboratorio SIPI, stava cercando frettolosamente in laboratorio una buona immagine da scansionare per preparare la presentazione da esporre ad una conferenza da un collega. Si erano stancati della loro scorta di solite immagini di prova, roba noiosa che risaliva agli standard televisivi dei primi anni '60. Volevano qualcosa di lucido per garantire una buona gamma dinamica di output e volevano un volto umano. Proprio in quel momento, qualcuno entrò con un recente numero di Playboy.

Gli ingegneri strapparono via il terzo superiore della pagina centrale in modo da poterlo avvolgere attorno al tamburo del loro scanner fotografico a filo Muirhead, che avevano dotato di convertitori analogico-digitale (uno per ciascuno per i canali rosso, verde e blu) e un Minicomputer Hewlett Packard 2100. Il Muirhead aveva una risoluzione fissa di 100 linee per pollice e gli ingegneri volevano un'immagine 512 x 512, quindi limitarono la scansione ai primi 5,12 pollici dell'immagine, ritagliandola efficacemente alle spalle del soggetto."

L'immagine di Lenna fu scelta perché conteneva un bel mix di dettagli, regioni piatte, ombreggiature e texture che sono indicate per testare vari algoritmi di elaborazione delle immagini, tuttavia nel corso degli anni ci sono state parecchie polemiche sull'uso di questa immagine.

Alcune persone hanno lottato strenamente per anni di vietarne l'uso a causa della sua fonte. La stessa rivista Playboy rimase all'oscuro della trasgressione fino a quando la rivista Optical Engineering mise la foto di Lenna sulla copertina dell'edizione di giugno 1991. A seguito di questa pubblicazione Playboy, che deteneva i diritti dell'immagine, scrisse all'editore chiedendo chiarimenti. Fu raggiunto un accordo di utilizzo che permise all'immagine, ormai divenuta uno standard di fatto, di entrare nella leggenda.

Sebbene questa immagine abbia svolto un ruolo significativo nella storia dell'elaborazione delle immagini, non rappresenta più uno dei migliori esempi per la ricerca futura e il suo utilizzo è in via progressiva di abbandono. Tuttavia dobbiamo aspettarci di vedere ancora questa immagine per qualche tempo.

 

Esercizio IB.1

Scaricare l'immagine "lena_std.tif" nel proprio PC e visualizzarla in Matlab.

 

Esercizio IB.2

Si esegua in Matlab il seguente m-file che disegna le 3 componenti RGB dell'immagine "lena_std.tif"

clear
close all
 
A = imread('lena_std.tif');
 
R = A(:,:,1);
mapR = zeros(256,3);
mapR(:,1) = linspace(0,1,256).';
 
G = A(:,:,2);
mapG = zeros(256,3);
mapG(:,2) = linspace(0,1,256).';
 
B = A(:,:,3);
mapB = zeros(256,3);
mapB(:,3) = linspace(0,1,256).';
 
figure;
imshow(R, mapR);
title('Componente di rosso');
 
figure;
imshow(G, mapG);
title('Componente di verde');
 
figure;
imshow(B, mapB);
title('Componente di blu');

una volta compreso come funziona il codice realizzare e salvare la seguente immagine RGB di dimensione 1024x1024 pixel:

Suggerimento: per trovare la parte superiore destra (rossa) il codice da usare è:

R = A(:,:,1);
mapR = zeros(256,3,'uint8');
mapR(:,1) = linspace(0,1,256).';
Rrgb = 255.*ind2rgb(R,mapR);

dove la funzione ind2rgb(R,mapR) converte l'immagine indicizzata contenuta in R, con colormap mapR, in un'immagine RGB dove le intensità dei tre colori sono espresse da valori compresi tra 0 e 1 (di qui la necessità di moltiplicare per 255 per ottenere una rappresentazione corretta).

 

Esercizio IB.3

Si faccia un esperimento levando solo la prima componente (rosso) dell'immagine "lena_std.tif" e ricostruire l'immagine. Successivamente annullare singolarmente le altre componenti e visualizzare l'immagine risultante.

Suggerimento: determinate le tre componenti R, G, B come indicato negli esercizi precedenti e usare in modo opportuno le seguenti righe di codice:

m = size(A,1);    % numero di righe di A
n = size(A,2); % numero di colonne di A
R = zeros(m,n); % componente di rosso nulla
y = cat(3,R,G,B);
Ultime modifiche: lunedì, 1 gennaio 2024, 21:24