Czy technicznie możemy rozmazać obrazy?

17

Skoro istnieje algorytm rozmywania obrazów, więc jego części nie można rozpoznać, czy możemy odwrócić algorytm i odblokować część niż obraz?

Czy istnieje program, który już to robi, czy jest to w ogóle możliwe, nawet w najbliższej przyszłości?

mahen23
źródło
Czy masz na myśli, jak w przypadku pełnego rozmycia zdjęć, czy tylko tyle, że możesz powiedzieć, co było z dość dużą dokładnością?
rjzii
wystarczy, że można powiedzieć, co było z dość dużą dokładnością
mahen23
2
Cóż ... Myślę, że to zależy od tego, co to jest i jak rozmazane . Więc odpowiedź brzmi ... może! Zobacz szczegóły techniczne @Greg Jackson.
FrustratedWithFormsDesigner
2
Możesz być zainteresowany tą klasyczną konkurencją
Stackoverflow
2
Hollywood to potwierdza! youtube.com/watch?v=3EwZQddc3kY&t=0m11s
Thomas Eding

Odpowiedzi:

36

Dekonwolucja (patrz także tutaj i tutaj ) może częściowo usunąć rozmazane zdjęcie. Istnieje mnóstwo oprogramowania, które to implementuje, a było to nawet dość podstawowe ćwiczenie w klasie przetwarzania obrazu, którą wziąłem na studiach. Nie można całkowicie odwrócić rozmycia, ponieważ jest on stratny, ale można przywrócić wiele informacji (patrz także tutaj (PDF)).

Zdjęcie rozmyte ruchem będzie łatwiejsze do przywrócenia niż coś, co jest po prostu nieostre, ale oba można przywrócić do pewnego stopnia.

Greg Jackson
źródło
tak, wypróbowałem oprogramowanie o nazwie Focus Magic, ale muszę się nim więcej bawić.
mahen23
1
Kiedy zastosowany splot jest skończony, a marginesy zachowane (tzn. Obraz nie rośnie), czy jest to operacja w pełni odwracalna?
winorośl
@ vines: Będę szczery, minęło dużo czasu, odkąd zajmowałem się tymi sprawami, aby dać dobrą odpowiedź. Moje przeczucie mówi „nie”, rozmycie jest stratne, nawet jeśli pozwalasz mu rozciągać się poza oryginalny obraz, ale pamiętam również, że było coś wyjątkowego w takich rozmytych obrazach. W bardzo ograniczonym ustawieniu testowym może to być możliwe. Ważną rzeczą jest to, że w prawdziwym świecie nigdy nie spotkasz takiego obrazu, więc chociaż jest interesujący matematycznie, jest praktycznie kwestią sporną, czy tak jest, czy nie.
Greg Jackson
2
linki już nie działają
jgauffin
1
Adobe zaprezentowało tę technologię 3 lata temu. tv.adobe.com/watch/max-2011-sneak-peeks/…
Adrian J. Moreno
7

Odwracanie manipulacji obrazem zależy od sposobu manipulacji czymś.

Ponieważ obraz jest reprezentacją obiektu, a my mamy tylko dane wizualne na tym obrazie, nie możemy go „odblokować”, ponieważ nie mamy danych.

Wyobraź sobie, że zamazany obraz (jak pikselowa twarz) jest podobny do wiadomości e-mail bez wszystkich znaków, nie bylibyśmy w stanie wziąć znaków, które mamy do dyspozycji, aby utworzyć dokładne słowa oryginalnego e-maila.

Mogą istnieć sposoby przybliżenia tego, czym może być obraz, ale zawsze będą to tylko przybliżenia, niczym film akcji „ulepszyć!” przedstawienie manipulacji obrazem.

Aktualizacja: obowiązkowy link do strony o „wirowanej twarzy” http://sciencenotes.wordpress.com/2007/10/20/what-computers-can-swirl-computers-can-unswirl/

StuperUser
źródło
Widziałem kilka niesamowitych zastosowań manipulacji obrazami w świecie rzeczywistym, aby odblokować rzeczy, które wydawały się całkowicie niemożliwe do odzyskania. Chociaż tak, przybliżenie ... stają się naprawdę cholernie dobre w przybliżeniu. Nie ma to jak rozmazany obszar na obrazie, ale bardzo słabo zogniskowane obrazy, tak że można zacząć widzieć szczegóły nawet w odległych obiektach.
Edward Strange
2
„mogą istnieć sposoby?” Innymi słowy, tak naprawdę nie wiesz zbyt wiele na ten temat, prawda?
Jeremy
1
@StuperUser - jest to dokładnie podejście przyjęte przy maksymalnej dekonwolucji opartej na entropii. Gdyby obiekt był linią prostą, jak wyglądałoby rozmycie, porównaj z obrazem, dostosuj linię - powtórz.
Martin Beckett,
1
@David - jedną wielką różnicą jest to, że załamujesz okulary, informacje wciąż są dostępne, po prostu trzeba je dostosować. Wpisując obrazy, informacji nie ma i należy je odtworzyć / przybliżyć.
Edward Strange
2
Nawet nie uderza w pręty i stożki, jest zniekształcony przez obiektyw i stanowi kompresję stratną. Mimo to możesz interpolować brakujące informacje.
Jeremy
2

Nie, nie można cofnąć algorytmu. Na pewnym poziomie większość filtrów rozmycia działa poprzez sumowanie i uśrednianie wartości pikseli. Jeśli dodasz dwie wartości pikseli i zastąpisz każdą liczbę średnią obu, nie będziesz mógł później ustalić, które wartości pierwotnie posiadałeś.

pixel1 = 3
pixel2 = 5

blurredPixel = (pixel1 + pixel2) / 2 = 4

newPixel1 = blurredPixel = 4
newPixel2 = blurredPixel = 4

Jeśli masz tylko nowe Piksele 1 i 2, nie możesz dowiedzieć się, czy oryginalne piksele mają 3 i 5, 1 i 7 lub jakąkolwiek inną możliwą kombinację.

TheFogger
źródło
8
Ale na obrazie z dużą ilością danych można użyć modeli probabilistycznych, aby przewidzieć, co to mogło być.
Greg Jackson
1
Jeśli pierwotnie były piksele 1..N, a masz średnią każdego sąsiedniego piksela, to wartość każdego piksela jest całkowicie określona przez wartość jednego piksela. Jeśli masz pojęcie o tym, jaki byłby oryginał (być może ograniczenia prawdopodobnych wartości), możesz być w stanie wymyślić coś bardzo zbliżonego do oryginału.
David Thornley,
2

Nie, ponieważ rozmycie jest jak kompresja stratna: usuwa informacje, których nie można odzyskać po słowie.

egrunin
źródło
2
Usuwa? Jak to?
winorośl
@ vines: Zobacz odpowiedź TheFogger na matematyczne uzasadnienie tej odpowiedzi.
Mason Wheeler
5
Pomyśl o rozmyciu jako funkcji, takiej jak zaokrąglanie. Jeśli runda (x) wynosi 3, to czy x 3.1? 2,9? 3,499? 2,501? Nie sposób powiedzieć. Informacje zostały usunięte.
Malvolio
2
@Mason Wheeler, @Malvolio: Odpowiedź TheFoggera jest zdrowym rozsądkiem. Zobacz en.wikipedia.org/wiki/Deconvolution dla teorii .
winorośl
0

Jeśli funkcja splotu jest ciągła, powinna być możliwa. Ale ponieważ przechodzimy przez to do filtra ograniczonego pasmem, funkcja nie może być ciągła, niektóre informacje są tracone. Ale nadal możesz znaleźć dokładne przybliżenie.

Howard
źródło
2
Czy możesz wyjaśnić swoją odpowiedź do tego stopnia, że ​​ktoś, kto nie miał klasy przetwarzania sygnałów (ale mimo to profesjonalny programista), mógł ją zrozumieć?