PDA

View Full Version : Le immagini diventano numeri


diafino
29-10-2004, 14:39
L'immagine è scomposta in tanti "pixel" (picture elements) puntini.

La griglia dei pixel è talmente fitta da darci un'impressione di continuità. A parità di immagine, più fitta è la griglia, migliore sarà l'illusione di un'immagine continua.

Esiste una tavola di corrispondenza che fa appunto corrispondere i numeri a colori diversi, o a sfumature diverse di colore: PALETTE (RGB Red - Green - Blue).

I primi PC utilizzavano la modalità testuale: 80 colonne, 25 righe (oppure 60): 80x60=4.800 pixel x 2 colori (B/N). Quindi 4.800 bit per un'immagine in B/N e poco definita.

Oggi lo standard è: 800 colonne x 600 righe x 24 bit (per oltre 16 milioni di sfumature di colori) per un totale di 11.520.000 bit (1.440.000 byte). Ma si fa molto di più.

Esistono sottosistemi interamente dedicati alla gestione della grafica con memoria indipendente. (ehm cosa sono?:D )

Esistono tecniche di compressione che riducono il numero di bit necessari alla rappresentazione di un'immagine.

è corretto? dovrei approfondire leggermete quanto detto, mi date delle dritte :D

continuiamocosì
29-10-2004, 15:37
cosa significa che l'immagine è continua? :confused: Un'immagine non è come un movie che più frame al secondo scorre, e più è fluido.
Più pixel rappresentano l'immagine e più l'immagine è definita nel dettaglio.
Nelle immagini a quadricromia CMYK esistono dei valori in percentuale dei 4 colori cossiddetti primari (ciano, magenta, giallo e nero) che "mescolati" si ottengono tutti i colori.
Esempio:
se vuoi avere il bianco avrai:
ciano 0%
magenta 0%
giallo 0%
nero 0%
(ovvio ;) )
se vuoi avere un "classico" verde:
ciano 100%
giallo 100%

ecc... ecc...

le tue ultime 8 righe non le ho molto capite. Di standard nelle immagini ce ne sono pochi .... profondità di colore espressa in bit (1, 8, 16, 24, 32, 48), tipo di file (tiff, jpeg, gif ecc...).

ciao

continuiamocosì
29-10-2004, 15:54
Originariamente inviato da diafino

Esistono sottosistemi interamente dedicati alla gestione della grafica con memoria indipendente. (ehm cosa sono?:D )

Esistono tecniche di compressione che riducono il numero di bit necessari alla rappresentazione di un'immagine.



Per quanto riguarda i sottosistemi non so se ne esistono di interamente dedicati. Diciamo che i professionisti preferiscono lavorare su piattaforme MAC con i vari programmi dedicati alla grafica (es. la suite della Adobe) in quanto sono ottimizzati per questo utilizzo. (più veloci e potenti)
Per le tecniche di compressione esistono dei formati standard tipo il jpeg e proprietari tipo i vari raw. Per quanto riguarda la riduzione del numero di bit, puoi convertire un'immagine a 24bit in una ad 8bit e segliere durante la conversione se ottimizzare la sua paletta dei colori scegliendo il tipo di dithering.

Boh, non so se ti è chiaro e ti possa servire quello che ti ho scritto. Prova a postare anche nella sezione grafica, forse lì sono più precisi e possono approfondire il discorso meglio.

ciao.

diafino
29-10-2004, 16:20
grazie 1000 ho capito benissimo.. hai chiarito i miei dubbi e tutto ;)

jappilas
29-10-2004, 16:41
forse ho capito che vuoi sapere ...

-illusione di continuità : nel senso di non vedere a occhio nudo i singoli punti dell' immagine, che non risaltano lungo i contorni degli oggetti come tanti quadratini...

tra parentesi, questo sarebbe il fenomeno dell' aliasing, evidente soprattutto a bassa risoluzione , ma anche ad alta, in certi casi:
ad esempio effettuando sovrapposizioni "dirette" di primitive grafiche su sfondi di colore più "naturale" o ancora, uniforme, le linee o curve vengono generate in campo discreto, praticamente "accendendo" il pixel più vicino alla funzione generatrice, o lasciandolo del colore dello sfondo

quel che si fa per rendere una sovrimpressione del genere è una media pesata del colore in cui va disegnata la linea (o cmq il contorno dell' oggetto che sta sopra) e del colore dello sfondo

in pratica è segueno un metodo del genere , che i simboli delle emittenti TV non sembrano "sgranati" anche se la risoluzione è quella pal interlacciata...

-tabella di corrispondenza: se non ho capito male, ti riferisci alla LUT (look up table) : la LUT è una cache integrata nel DAC, che tiene i valori di corrispondenza tra valore voluto e livello del segnale in uscita . Questo nasce dal fatto che i fosfori CRT non hanno livelli di luminosità dei fosfori spaziati linearmente ...
un CRT è caratterizzato da un livello di luminosità minimo Izero , uno massimo ed il rapporto tra Imax e Izero che è il range dinamico, e una volta assegnato il valore I255 a Imax , sia ha: I1=rIzero, I2=r^2 Izero.... I255= r^255 Izero ,
la luminosità dei fosfori I dipende dalla tensione di griglia, secondo KxV^gamma (K e gamma sono costanti del sistema di visualizzazione, gamma è QUELLA gamma)
al che quando voglio ottenere un pixel con un certo valore di griglio (o di componente rgb), devo
trovare la j tale che
Ij =r^j Izero => Vj = ( Ij/K) ^(1/gamma) (cioè radice in funz. di gamma)
queste operazioni fanno parte della calibrazione/regolazione/taratura del monitor, una volta trovato questo Vj, lo si mette nella cella j- esima della LUT, che in condizioni normali viene indirizzata dal DAC con i valori di j

-sottosistemi interamente dedicati alla gestione della grafica con memoria indipendente:
tiro a indovinare... per caso saranno le schede grafiche con chip e relativa memoria dedicate alla creazione delle primitive grafiche (uscite moooolto prima delle GPU)? :D

-tecniche di compressione: eh ih ih uh ah ... qui sarebbe da scriverci un romanzo...
compressione lossless, lossless con predittore , lossy con predittore e quantizzatore ...teoria della distorsione partendo dall' entropia...
:sofico:
cmq, quello che si vuol ottenere è ridurre il costo in bit di uno stream di "simboli" univoci
se non voglio perdere informazione posso "giocare" sul numero di "simboli" , che mi influenza la dimensione della tabella che creo per poi riferirmi alle sue celle con i "codici" che genero , ognuno associato ad un "simbolo" originario: al che si nota come sia importante la probabilità di occorrenza di ogni simbolo, perchè converrà associare ai più probabili, codici rappresentati con meno bit e viceversa...
Miglioramenti si ottengono sfruttando eventuali schemi di correlazione nel come si presentano i simboli originari, perchè se si trovano degli schemi prevedibili, potrò applicare un algoritmo predittore
L' effetto di un Quantizzatore invece è di "filtrare" l' ingresso tagliando via (o meglio trasformando) valori che non ricadano in un certo "range", oppure rimappando range di valori su uno solo,per poi applicare un algoritmo di codifica sui dati trasformati... è evidente come questo passaggio perda informazione, come sia a rischio di artefatti se applicato in grafica, e come convenga tarare i range di quantizzazione...

cmq, quel poco che so viene da queste (http://www.dsp.dist.unige.it/~aldo/ETIdisp/) dispense di Elaborazione e Trasmissione Immagini, soprattutto l' ultimo file Word per Codifica e il 2o capitolo per il disegno delle primitive grafiche ... ;)

diafino
29-10-2004, 16:51
Originariamente inviato da jappilas
tra parentesi, questo sarebbe il fenomeno dell' aliasing, evidente soprattutto a bassa risoluzione , ma anche ad alta, in certi casi:
ad esempio effettuando sovrapposizioni "dirette" di primitive grafiche su sfondi di colore più "naturale" o ancora, uniforme, le linee o curve vengono generate in campo discreto, praticamente "accendendo" il pixel più vicino alla funzione generatrice, o lasciandolo del colore dello sfondo

quel che si fa per rendere una sovrimpressione del genere è una media pesata del colore in cui va disegnata la linea (o cmq il contorno dell' oggetto che sta sopra) e del colore dello sfondo

in pratica è segueno un metodo del genere , che i simboli delle emittenti TV non sembrano "sgranati" anche se la risoluzione è quella pal interlacciata...



non ho capito.. :D

jappilas
29-10-2004, 17:20
ehm se tu avessi uno sfondo bianco e volessi tracciarvi sopra una riga nera obliqua:
un algortmo semplice "accenderebbe" in base al criterio del midpoint, i pixel più vicini a dove passerebbe teoricamente la funzione cartesiana che genera la riga, Y= -1/3X mettiamo, lasciando bianchi gli altri : ora avresti un evidente effetto di "scalettatura" (X nero, _ bianco)

XXX_______________
___XXX____________
______XXX_________
_________XXX______
____________XXX___
_______________XXX

se invece considerassi una liea come un rettangolo molto allungato sovrapposto a una griglia di spazi quadrati , si noterebbe che il "rettangolo" non invaderebbe al 100% tutti i pixel che toccherebbe
per cui quello che si fa di solito è variare la tonanità di colore mediandola con quello dello sfondo, in parti proporzionali alla percentuale del pixel occupato : più o meno è una media pesata

Xx.._______________
_..xXx.____________
____..xXx.._________
_______..xXx..______
___________..xXx.___
_______________.xXx (x e . grigi)

questo è un tipo di blending.. discorsi simili valgono anche per contorni di forma non regolare

diafino
01-11-2004, 22:13
jappilas, ma tu chi sei? cioè, come fai a sapere queste cose?

tutto quello che hai detto dove posso trovarlo, intendo libri cartacei, fammi qualche nome anche in pvt ;)

grazie 1000

jappilas
01-11-2004, 23:17
Originariamente inviato da diafino
jappilas, ma tu chi sei?
un genovese 26enne quasi ing. inf. (... tra qualche esame e la tesi) del vecchio ordinamento :D, che pur avendo scarsa manualità (:cry: ) s' interessa di grafica da una decina d' anni, e sogna di realizzare il proprio personale SW di grafica ;) (per adesso sto cercando spunti dai sorgenti Opensource di progetti già pronti ... ma nessuno mi pare eclatante come design ... l' impressione è che sia meglio ricominciare da zero e fare un bel design in UML .. :rolleyes: )

cioè, come fai a sapere queste cose?
quello che dicevo prima lo so perchè era proprio l' oggetto di un esame che ho dato a settembre, Elaborazione e Trasmissione delle Immagini (ETI)

tutto quello che hai detto dove posso trovarlo, intendo libri cartacei, fammi qualche nome anche in pvt ;)grazie 1000
allora, quando l' ho studiata io il docente diede delle dispense fotocopiate perchè i pdf sul sito non coprivano tutto... se cerco ETI in google arrivo su pagine di altre università dove più o meno il programma pare lo stesso e dove come testi di consultazione citano questi
B. Jahne: Digital Image Processing, Springer 1995.
P. Zamperoni, Metodi dell'elaborazione digitale di immagini, Masson 1990.
R. C. Gonzalez, R. E. Woods: Digital Image Processing, Addison Wesley 1992.
A. R. Weeks: Fundamentals of Electronic Image Processing, SPIE & IEEE Press 1998.
E. Trucco, A. Verri: Introductory techniques for 3-D computer vision, Prentice Hall 1998
J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Huges. Computer Graphics, Principles and Practice. Addison-Wesley, 1990

ora, dubito ti servano tutti , e suggerirei di cercarli in formato ebook per evitare di spendere €€ per cose che magari non ti serviranno nella loro interezza...

comunque, sul sito del mio docente qualcosa si trova e:
se ti interessano le basi della compressione clicca qui (http://www.dsp.dist.unige.it/~aldo/ETIdisp/IMG_codi.zip)
se ti interessa la matematica delle NURBS clicca qui (http://www.dsp.dist.unige.it/~aldo/ETIdisp/Cap5.pdf)
se ti interessa tutto sul segnale TV PAL/NTSC, clicca qui (http://www.dsp.dist.unige.it/~aldo/ETIdisp/Cap1.pdf)
se ti interessa il plotting e il clipping dei segmenti , clicca qui (http://www.dsp.dist.unige.it/~aldo/ETIdisp/Cap2.pdf)
se ti interessano le proiezioni e le trasformazioni di spazio, clicca qui (http://www.dsp.dist.unige.it/~aldo/ETIdisp/Cap4.pdf)

so che è poco, ma appena trovo dispense e trattazioni migliori le linko ;)

diafino
02-11-2004, 14:27
Originariamente inviato da jappilas

B. Jahne: Digital Image Processing, Springer 1995.
P. Zamperoni, Metodi dell'elaborazione digitale di immagini, Masson 1990.
R. C. Gonzalez, R. E. Woods: Digital Image Processing, Addison Wesley 1992.
A. R. Weeks: Fundamentals of Electronic Image Processing, SPIE & IEEE Press 1998.
E. Trucco, A. Verri: Introductory techniques for 3-D computer vision, Prentice Hall 1998
J. D. Foley, A. van Dam, S. K. Feiner, and J. F. Huges. Computer Graphics, Principles and Practice. Addison-Wesley, 1990


Ho chiamato tutte le biblioteche universitarie che conosco..ma tutte mi hanno neanche detto che si può ordinare.. anche solo per darci un' occhiata ;)

cmq proverò a sentire qualche mio amico universitario col tesserino se a città studi c'è qualcosa :D

ma..non sono un po vecchi come libri?