2011-06-30 7 views
6

Pracuję nad implementacją algorytmu redukcji szumów Non Local Means w C++. Istnieją artykuły na temat tego algorytmu (such as this paper), ale nie są one również bardzo jasne.Implementacja algorytmów nielokalnych Algorytm redukcji szumów w przetwarzaniu obrazów

Wiem, że używa ważonego środka, ale nie wiem, jakie jest tu zastosowanie okna badań i jak jest ono powiązane z oknem porównawczym.

Będąc nowym użytkownikiem, StackOverflow nie pozwala mi przesyłać obrazów. ale możesz znaleźć formułę pod linkiem nl oznacza link podany powyżej.

+0

ITYM „Okno wyszukiwania”? –

+0

tak, mam na myśli to samo okno wyszukiwania = okno badań. Różne nazewnictwo w różnych gazetach. – pratikone

Odpowiedz

4

Z papieru, do którego się odnosisz, podczas określania wartości wyniku dla danego piksela p, wszystkie pozostałe piksele obrazu będą ważone i sumowane zgodnie z podobieństwem ich dzielnic do sąsiedztwa piksela.

Ale to jest bardzo kosztowne obliczeniowo. Tak więc autorzy ograniczają liczbę pikseli, które przyczynią się do sumy ważonej; to musi być to, co nazywasz okno wyszukiwania. To okno wyszukiwania to region 21x21 wyśrodkowany na pikselach p. Porównywane dzielnice mają rozmiar 7x7 (sekcja 5).

Mogłem szybko wykonać prototyp z Mathematica i potwierdzam, że staje się bardzo kosztowne, gdy zwiększa się rozmiar okna wyszukiwania. Oczekuję tego samego zachowania podczas implementacji w C++.

+0

Dzięki za pomoc @matthias. To spowodowało, że znalazłem błąd, który popełniłem w zrozumieniu tej koncepcji. Zauważyłem, że okno wyszukiwania zawiera otoczenie wokół piksela. Okno porównania służy do znalezienia odległości d pomiędzy łatami NxN wyśrodkowanymi w pikselach p i innych pikselach q in z jej sąsiedztwa. – pratikone

+3

Oto wynik po 45 minutach przetwarzania. http://i.imgur.com/uG4wa.jpg (trzeba zoptymalizować). – pratikone

+0

@pratikone Cieszę się, że możesz to rozgryźć. Dzięki za pokazanie przykładu. –

Powiązane problemy