Possiamo tecnicamente annullare la sfocatura delle immagini?


17

Dal momento che esiste un algoritmo per sfocare le immagini, in modo che una parte di esso non possa essere riconosciuta, possiamo invertire l'algoritmo e sbloccare una parte rispetto all'immagine?

Esiste un programma che già lo fa, è anche possibile, anche in un prossimo futuro?


Intendi come in una totale sfocatura delle immagini, o quanto basta per poter dire cosa fosse qualcosa con un discreto grado di precisione?
rjzii,

quel che basta per poter dire che cosa fosse qualcosa con un discreto grado di precisione
mahen23

2
Beh ... immagino che dipenda da cosa sia qualcosa e da quanto sia sfocato . Quindi la risposta è ... forse! Vedi la risposta di @Greg Jackson per i dettagli tecnici.
FrustratedWithFormsDesigner,

2
Si può essere interessati a questa competizione classica StackOverflow: stackoverflow.com/questions/891643/...
MatrixFrog

Risposte:


36

La deconvoluzione (vedi anche qui e qui ) può parzialmente deblurare una foto. C'è un sacco di software là fuori che lo implementa, e questo è stato persino un estratto abbastanza semplice in una classe di elaborazione delle immagini che ho preso al College. Non è possibile invertire completamente la sfocatura, poiché presenta una perdita, ma è possibile ripristinare molte informazioni (vedere anche qui (PDF)).

Una foto sfocata in movimento sarà più facile da ripristinare rispetto a qualcosa che è semplicemente sfocato, anche se entrambi possono essere ripristinati in una certa misura.


sì, ho provato un software chiamato Focus Magic, ma devo giocarci di più.
mahen23,

1
Quando la convoluzione applicata è finita e i margini sono preservati (ovvero l'immagine viene lasciata crescere non rifilata), è un'operazione completamente reversibile?
viti

@vines: sarò sincero, è passato troppo tempo da quando ho affrontato queste cose per darti una buona risposta. Il mio istinto dice di no, una sfocatura è una perdita anche se gli permetti di estendersi al di fuori dell'immagine originale, ma ricordo anche che c'era qualcosa di speciale in tali sfocature. In un'impostazione di prova molto limitata, potrebbe essere possibile. La cosa importante, tuttavia, è che nel mondo reale non ti imbatterai mai in una simile immagine, quindi, sebbene sia interessante dal punto di vista matematico, è un punto controverso, praticamente parlando, sul fatto che sia così o no.
Greg Jackson,

2
i collegamenti non funzionano più
jgauffin,

1
Adobe ha mostrato questa tecnologia 3 anni fa. tv.adobe.com/watch/max-2011-sneak-peeks/…
Adrian J. Moreno,

7

L'inversione della manipolazione dell'immagine dipende da come è stato manipolato qualcosa.

Dal momento che l'immagine è una rappresentazione dell'oggetto e abbiamo solo i dati visivi in ​​quell'immagine, non possiamo "slegarlo", dato che non abbiamo i dati.

Immagina che un'immagine sfocata (come una faccia pixelata) sia simile a un'e-mail senza tutti i personaggi, non saremmo in grado di prendere i personaggi che abbiamo a disposizione per inventare le parole esatte dell'email originale.

Potrebbero esserci dei modi per appropriarsi approssimativamente di ciò che potrebbe essere l'immagine, ma saranno sempre e solo approssimazioni, niente come il film d'azione "migliorare!" rappresentazione della manipolazione delle immagini.

Aggiornamento: link obbligatorio a una pagina sulla "faccia turbinata" http://sciencenotes.wordpress.com/2007/10/20/what-computers-can-swirl-computers-can-unswirl/


Ho visto alcuni usi del mondo reale piuttosto sorprendenti della manipolazione delle immagini per svelare cose che sembravano completamente irrecuperabili. Anche se sì, un'approssimazione ... stanno diventando dannatamente bravi nell'approssimazione. Niente come un'area sfocata in un'immagine, ma le immagini molto scarsamente messe a fuoco hanno messo a fuoco in modo tale da poter iniziare a vedere i dettagli anche in cose lontane.
Edward Strange,

2
"ci possono essere modi?" Quindi, in altre parole, non ne sai davvero molto, vero?
Jeremy,

1
@StuperUser: questo è esattamente l'approccio adottato dalla massima deconvoluzione basata sull'entropia. Se l'oggetto era una linea retta, come sarebbe la sfocatura, confrontarla con l'immagine, regolare la linea - ripetere.
Martin Beckett,

1
@David - una grande differenza è che si sono strappati gli occhiali, l'informazione è ancora lì, deve solo essere regolata. Tuttavia, le immagini scritte non sono presenti e devono essere ricreate / approssimate.
Edward Strange,

2
Non colpisce nemmeno le aste e i coni, è distorto dall'obiettivo e equivale a una compressione con perdita. Tuttavia, puoi interpolare le informazioni mancanti.
Jeremy,


2

No, non è possibile invertire l'algoritmo. Ad un certo livello, la maggior parte dei filtri di sfocatura funzionano sommando e facendo la media sui valori dei pixel. Se aggiungi due valori di pixel e sostituisci ogni numero con la media di entrambi, non puoi in seguito determinare quali valori avevi originariamente.

pixel1 = 3
pixel2 = 5

blurredPixel = (pixel1 + pixel2) / 2 = 4

newPixel1 = blurredPixel = 4
newPixel2 = blurredPixel = 4

Se hai solo nuovi pixel 1 e 2, non puoi scoprire se i pixel originali erano 3 e 5, 1 e 7 o qualsiasi altra combinazione possibile.


8
Ma in un'immagine con molti dati, puoi usare modelli probabilistici per prevedere quali potrebbero essere stati.
Greg Jackson,

1
Se originariamente c'erano pixel 1..N e quello che hai è la media di ciascun pixel adiacente, il valore di ciascun pixel è completamente determinato dal valore di ogni pixel. Se hai idea di quale potrebbe essere l'originale (forse i limiti sui valori probabili) potresti essere in grado di trovare qualcosa di molto vicino all'originale.
David Thornley

2

No, perché la sfocatura è come una compressione con perdita: rimuove le informazioni che non possono essere recuperate dopo le parole.


2
Rimuove? Come mai?
viti

@vines: vedi la risposta di TheFogger per la logica matematica alla base di questa risposta.
Mason Wheeler,

5
Pensa alla sfocatura come a una funzione, come all'arrotondamento. Se il giro (x) è 3, era x 3.1? 2.9? 3.499? 2.501? Non c'è modo di dirlo. Le informazioni sono state rimosse.
Malvolio,

2
@Mason Wheeler, @Malvolio: la risposta di TheFogger è un'ipotesi di buon senso. Vedi en.wikipedia.org/wiki/Deconvolution per la teoria .
viti

0

Se la funzione di convoluzione è continua, dovrebbe essere possibile. Ma poiché lo passiamo attraverso un filtro a banda limitata, la funzione non può essere continua, alcune informazioni vengono perse. Ma puoi ancora trovare un'approssimazione stretta.


2
Potresti spiegare la tua risposta al punto in cui qualcuno che non ha avuto una classe di elaborazione del segnale (ma comunque un programmatore professionista) potrebbe capirla?
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.