Newsgroup: it.comp.grafica
Titolo: scalare un aliased e ottenere qualita' di un anti-aliased

Ho una domanda stramba, spero che qualcuno di voi mi risponda.
Immaginiamo di avere un'immagine costituita da un cerchio nero su sfondo
bianco. L'immagine ha dimensioni AxA abbastanza grandi, diciamo ad esempio
1000x1000 pixel, ed ha i bordi di tipo anti-aliased. 
Immaginiamo ora di avere una seconda immagine costituita sempre da un
cerchio nero su sfondo bianco, e di dimensioni BxB piu' grandi della
precedente, ma questa volta con i bordi di tipo aliased (quindi
scalettati).
Supponendo che BxB e' 2000x2000 pixel, se scalo la seconda immagine e la
porto alle dimensioni della prima mi aspetto che LA SECONDA IMMAGINE E' DI
"QUALITA'" INFERIORE ALLA PRIMA (dove la "qualita'" e' legata alla poca
visibilita' della scalettatura).
Supponendo invece che BxB e' 1-miliardo-x-1-miliardo di pixel, se scalo la
seconda immagine e la porto alle dimensioni della prima avro' che LA
SECONDA IMMAGINE E' DI "QUALITA'" SUPERIORE (O TUTT'AL PIU' PARI) ALLA
PRIMA.
La mia domanda e': quale e' il valore di B minimo per trovarmi nella
seconda situazione? Bastano 10000 pixel? Ce ne vogliono di piu'? Nel caso
piu' generale, quale deve essere il rapporto B/A (ossia quante volte B
deve essere piu' grande di A) per trovarmi nella seconda situazione?
Ovviamente questa domanda nasce da un problema reale, con il quale non vi
annoio, ma che spero mi aiuterete in questo modo a risolvere.
Grazie in anticipo per qualsiasi commento,
Fabio.
 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 PRIMA.
Dimenticavo un particolare fondamentale: ogni volta che scalo la seconda
immagine la converto anche dal formato aliased a quello anti-aliased!
Altrimenti la domanda non avrebbe senso!!!
Grazie ancora per l'attenzione,


 deve essere piu' grande di A) per trovarmi nella seconda situazione?
Premesso che ci sono newsgroup dedicati alla elaborazione digitale delle
immagini dove puoi trovare esperti che probabilmente non leggono icg,
imho la domanda è posta in modo troppo vago in quanto senza conoscere il
funzionamento dell'algoritmo di conversione non se ne possono discutere
i dettagli.
Per lo stesso motivo è ovvio che A deve rappresentare il risultato
virtuale dell'algoritmo in questione o, se si tratta di una immagine
reale, il prodotto della conversione di B realizzata da quell'algoritmo.
Nell'ipotesi, che temo sia applicativamente priva di significato, di un
algoritmo che si limita a convertire in scala di grigi i cluster dei
pixel bitmap di partenza _uno alla volta_ e _in modo completamente
lineare_, direi che il valore minimo di B/A con cui puoi ottenere una
identità di risultati è quello per cui:
(B/A)^2 + 1 = 2^p  --> B = sqrt[(2^p - 1)] * A
dove p è la profondità colore in bit di A.
Se ti è possibile, mi sa che fai molto prima a verificare nel concreto.
giordano
PS
A meno che A sia difettata, credo non abbia senso anche solo pensare a
una qualità superiore.

 una qualità superiore.
Grazie, sei stato davvero prezioso. Ti pregherei di aggiungere un commento
se ho detto cavolate o se i numeri che spuntano fuori ti sembrano poco
sensati.
Fabio


 sensati.
Temo che i miei commenti valgano ben poco, comunque una sorta di
conferma debole, sempre nell'ipotesi di conversione cluster per cluster
e puramente lineare, puoi forse trovarla, capottando il tuo esempio, nel
fatto che una fotounità utilizza canonicamente la risoluzione di 2400
dpi per riprodurre con una lineatura di 150 lpi (retino a modulazione di
ampiezza) le immagini a tono continuo che utilizzano 8 bit canale.
Togli la condizione cluster per cluster e ottieni i retini a macrocelle,
che nominalmente possono utilizzare risoluzioni inferiori.
Togli la condizione di linearità (per esempio allo scopo di calibrare
qualcosa) e in alcune zone della curva dei toni la risoluzione non basta
più, mentre in altre diventa sovrabbondante.
Capendo cosa stai cercando di fare si potrebbe forse ragionare meglio.
giordano