Próbkowanie obrazu w dół o współczynnik całkowity

16

Podczas próbkowania w dół obrazu o współczynnik całkowity , oczywistą metodą jest ustawienie pikseli obrazu wyjściowego na średnią z odpowiednich n × n bloków na obrazie wejściowym.nn×n

Pamiętam niejasno gdzieś, że ta metoda nie jest optymalna (przepraszam, nie pamiętam żadnych szczegółów)

Czy to prawda, że ​​istnieje lepsza metoda (a jeśli tak, to gdzie powyższa metoda zawodzi, chociaż wydaje się „oczywiście” poprawna)? Nie wiem dużo na temat przetwarzania sygnałów, to pytanie mnie interesuje.

Styg Oldenbaum
źródło
jeśli nie masz tła przetwarzania sygnału, laikans wyjaśnia: Istnieją lepsze metody próbkowania w dół. Twój algorytm zmniejszania próbkowania technicznie zmniejszy rozmiar piksela obrazu o N, ALE algorytm opisany powyżej będzie znacznie obniżony pod względem jakości w porównaniu z lepszymi algorytmami zmniejszania próbkowania.
Trevor Boyd Smith

Odpowiedzi:

16

Próbkowanie obrazu w dół zmniejsza liczbę próbek, które mogą reprezentować sygnał. Jeśli chodzi o dziedzinę częstotliwości, gdy sygnał jest próbkowany w dół, część wysokiej częstotliwości sygnału będzie aliasowana z częścią niskiej częstotliwości. Po zastosowaniu do przetwarzania obrazu pożądanym rezultatem jest zachowanie tylko części o niskiej częstotliwości. W tym celu oryginalny obraz musi zostać wstępnie przetworzony (przefiltrowany przez alias) w celu usunięcia części o wysokiej częstotliwości, aby nie nastąpiło aliasing.


Optymalnym filtrem cyfrowym do usuwania części o wysokiej częstotliwości (z najostrzejszym odcięciem) jest funkcja sinc . Powodem jest to, że reprezentacja dziedziny częstotliwości funkcji Sinc jest prawie stała 1 w całym obszarze niskiej częstotliwości i prawie stała 0 w całym obszarze wysokiej częstotliwości.

sinc(x)=grzech(πx)πx

Odpowiedź impulsowa filtra cynkowego jest nieskończona. Filtr Lanczosa jest zmodyfikowanym filtrem cynkowym, który tłumi współczynniki cynkowe i skraca je, gdy wartości spadną do nieistotności.


Jednak bycie optymalnym w dziedzinie częstotliwości nie oznacza bycia optymalnym w oczach ludzkich. Istnieją metody próbkowania w górę i w dół, które nie podlegają transformacjom liniowym, ale dają lepsze wyniki niż liniowe.


n×n

Minimalne wymaganie w korespondencji ze współrzędnymi jest takie

  1. Próbkowanie w górę obrazu zawierającego dowolne losowe wartości o współczynnik całkowity, a następnie próbkowanie w dół o ten sam współczynnik całkowity, powinno dać ten sam obraz przy minimalnej zmianie numerycznej.
  2. Próbkowanie w górę / próbkowanie w dół obrazu składającego się tylko z jednej jednolitej wartości, po którym następuje odwrotna operacja, powinno dać obraz składający się z tej samej wartości w sposób jednolity, z minimalnymi odchyleniami liczbowymi.
  3. Wielokrotne stosowanie par próbkowania w górę / próbkowania w dół powinno w jak największym stopniu minimalizować przesunięcie zawartości obrazu.
rwong
źródło
Co rozumiesz przez przekształcenie funkcji sinc na „prawie” 1 i 0 w odpowiednich regionach?
@Tim: Zjawisko Gibbsa w pobliżu częstotliwości odcięcia filtra cynkowego.
rwong
2
Ponowne próbkowanie cynku ma sens tylko w przypadku sygnałów odbieranych / przetwarzanych w dziedzinie częstotliwości, takich jak audio. Obrazy są postrzegane, przynajmniej w przybliżeniu, w dziedzinie przestrzeni kosmicznej (jest to dyskusyjne; możliwe jest, że pewne postrzeganie powtarzających się wzorów znajduje się w dziedzinie częstotliwości), a każda transformacja oparta na dziedzinie częstotliwości powoduje nieprzyjemne zniekształcenia (dzwonienie itp.) W domena przestrzenna. Zasadniczo każda operacja splotowa / liniowa z dowolnym ujemnym współczynnikiem wytworzy nieprzyjemne artefakty, a każda ze wszystkimi nieujemnymi współczynnikami spowoduje rozmycie.
R .. GitHub ZATRZYMAJ LÓD
6

Masz rację, że uśrednianie obszaru jest bardzo zbliżone do „najbardziej poprawnego”, jaki możesz uzyskać, ale problemem jest niespójne zachowanie podczas zmniejszania skali ostrej linii szerokości N o współczynnik N. Jeśli położenie linii jest wyrównane modulo N, otrzymasz ostrą 1-pikselową linię, ale jeśli to mniej więcej N / 2 mod N, otrzymasz bardzo rozmytą linię (2 piksele szerokości przy połowie intensywności). Może to wyglądać bardzo źle, a przy nieliniowej gamma spowoduje nawet różnice w intensywności. (Idealnie wszystkie ponowne próbkowanie musi odbywać się z korekcją gamma dla liniowej skali intensywności, ale w praktyce prawie nikt tego nie robi, ponieważ jest naprawdę drogi).

Jeśli chcesz to poprawić, musisz najpierw zaakceptować fakt, że w niektórych przypadkach nie można zmniejszyć rozmycia, więc jedynym sposobem na uzyskanie jednolitego efektu jest zwiększenie rozmycia. Idealnym sposobem jest użycie jądra gaussowskiego o promieniu większym niż N / 2 zamiast funkcji krokowej, jako funkcji splotu z obrazem źródłowym. Tanim sposobem na przybliżenie, jeśli masz już implementację uśredniania obszaru N-N-N, jest po prostu zastosowanie splotu rozmycia (1 / 4,1 / 2,1 / 4) do wynikowej próbki wizerunek.

R .. GitHub ZATRZYMAJ LÓD
źródło