2009-12-10 9 views
9

Ktoś wie o algorytmie, który może zwrócić rozmytą wartość true/false, jeśli obraz ma poruszenie/drgania aparatu na obrazie?Czy istnieje algorytm lub biblioteka, która może wykrywać rozmycie ruchu w obrazach?

Idealnie byłoby rozmycie motion, ponieważ wiele obrazów w zestawie mogło być rozmytych (Bokeh) tła.

Preferencją językową będzie C, Perl, narzędzie powłoki lub Python, ale jestem otwarty na wszystko.

Z mojej obecnej wiedzy Math/programowanie, nie sądzę, naprawdę mam nadzieję na napisanie takiego algorytmu, tylko przy użyciu jednego, że trwa kilka parametrów ...

+0

Jeśli to możliwe, proszę zaznaczyć odpowiedź jako zaakceptowaną. W chwili obecnej nie jest jasne, czy nadają się do tego celu, czy nie. –

Odpowiedz

4

Discrete wavelet transform jest przydatnym narzędziem do takiego wykrywania. Here to artykuł opracowany przez Carnegie Mellon School of Computer Science na temat wykrywania i kwantyfikowania rozmycia w obrazach za pomocą DWT. W przypadku decyzji binarnej próg zostaje ustawiony na pożądany poziom, a wszystko powyżej jest zamazane.

+0

Jest to przydatne, ale papier wyraźnie mówi: "Jest skuteczny zarówno w przypadku rozmycia nieostrości, jak i rozmycia ruchu liniowego", co oznacza, że ​​nie jest użyteczne w wykrywaniu rozmycia w ruchu ... –

+1

@JoshBleecherSnyder Out-of - Rozmycie ostrości nie jest kierunkowe, natomiast rozmycie ruchu liniowego jest. Można przeprowadzić analizę głównych składowych, aby uzyskać wartości własne charakterystycznych wektorów kierunkowych punktów przecięcia i ocenić siłę dominującej. Jeśli przekracza określony próg, możesz stwierdzić, że rozmycie jest kierunkowe, a więc rozmycie ruchu liniowego. – luvieere

+0

dzięki, to pomaga. –

2

Istnieje wiele sposobów, aby to zrobić , może jeden z guru obrazowania ma o wiele lepszą odpowiedź. W każdym razie ...

Moim pierwszym zdjęciem byłaby analiza częstotliwości obrazu (czytaj: transformata Fouriera 2d). Następnie określ próg dla wysokich częstotliwości (tj. Szybkie zmiany z jednego piksela na następny) dla true/false. Rozmycie ruchu filtruje wysokie częstotliwości. Twój przebieg może się różnić, np. całkowicie czarny obraz nie będzie miał wysokich częstotliwości, mimo że nie jest rozmazany. W zależności od zastosowanego obiektywu i przysłony części obrazu mogą być rozmyte, ponieważ znajdują się w tle. Nie sądzę, że istnieje tu uniwersalne rozwiązanie.

+0

W jaki sposób rozróżnia się rozmycie Bokeh i rozmycie ruchu? –

0

Można również użyć algorytmu Richardsona-Lucy. Jest używany głównie do ślepego usuwania splotów, ale jak wiesz, że to rozmycie ruchu, które musisz usunąć, algorytmy RL powinny wykonać mniej iteracji, aby obliczyć rekonstrukcję.

Powiązane problemy