Metody powiększania

W tym samouczku zamierzamy formalnie wprowadzić trzy metody powiększania, które zostały wprowadzone w samouczku Wprowadzenie do powiększania.

Metody

  • Replikacja pikseli lub (interpolacja najbliższego sąsiada)
  • Metoda wstrzymania zamówienia zerowego
  • Powiększanie K razy

Każda z metod ma swoje zalety i wady. Zaczniemy od omówienia replikacji pikseli.

Metoda 1: Replikacja pikseli:

Wprowadzenie:

Jest również znany jako interpolacja najbliższego sąsiada. Jak sama nazwa wskazuje, w tej metodzie po prostu replikujemy sąsiednie piksele. Jak już omówiliśmy w samouczku Sampling, powiększanie to nic innego jak zwiększenie ilości próbki lub pikseli. Ten algorytm działa na tej samej zasadzie.

Pracujący:

W tej metodzie tworzymy nowe piksele z już podanych pikseli. Każdy piksel jest replikowany w tej metodzie n razy według wierszy i kolumn, a otrzymujesz powiększony obraz. To takie proste.

Na przykład:

Jeśli masz obraz składający się z 2 wierszy i 2 kolumn i chcesz go powiększyć dwukrotnie lub 2 razy za pomocą replikacji pikseli, oto jak to zrobić.

Dla lepszego zrozumienia obraz został wykonany w postaci matrycy z wartościami pikseli obrazu.

1 2
3 4

Powyższy obraz ma dwa wiersze i dwie kolumny, najpierw powiększymy go według wierszy.

Powiększanie wierszami:

Kiedy powiększamy go w wierszach, po prostu skopiujemy piksele wierszy do sąsiedniej nowej komórki.

Tutaj, jak to by się stało.

1 1 2 2
3 3 4 4

Jak widać, w powyższej macierzy każdy piksel jest replikowany dwukrotnie w wierszach.

Powiększanie rozmiaru kolumny:

Następnym krokiem jest replikacja każdej z kolumn pikseli, tak abyśmy po prostu skopiowali piksel kolumny do sąsiedniej nowej kolumny lub po prostu pod nią.

Tutaj, jak to by się stało.

1 1 2 2
1 1 2 2
3 3 4 4
3 3 4 4

Nowy rozmiar obrazu:

Jak widać z powyższego przykładu, oryginalny obraz 2 wierszy i 2 kolumn został po powiększeniu przekonwertowany na 4 wiersze i 4 kolumny. Oznacza to, że nowy obraz ma wymiary

(Oryginalne rzędy obrazu * współczynnik powiększenia, oryginalne kolumny obrazu * współczynnik powiększenia)

Zaleta i wada:

Jedną z zalet tej techniki powiększania jest to, że jest bardzo prosta. Musisz tylko skopiować piksele i nic więcej.

Wadą tej techniki jest powiększenie obrazu, ale obraz jest bardzo rozmyty. Wraz ze wzrostem współczynnika powiększenia obraz stawał się coraz bardziej rozmyty. To ostatecznie doprowadziłoby do całkowitego zamazania obrazu.

Metoda 2: zerowe wstrzymanie zamówienia

Wprowadzenie

Metoda wstrzymania zamówienia zerowego to kolejna metoda powiększania. Znany jest również jako dwukrotny zoom. Ponieważ może powiększyć tylko dwukrotnie. W poniższym przykładzie zobaczymy, dlaczego to robi.

Pracujący

W metodzie wstrzymania kolejności zerowej wybieramy odpowiednio dwa sąsiednie elementy z wierszy, a następnie dodajemy je i dzielimy wynik przez dwa, a ich wynik umieszczamy między tymi dwoma elementami. Najpierw robimy mądrze ten wiersz, a potem tę kolumnę.

Na przykład

Zróbmy zdjęcie o wymiarach 2 rzędów i 2 kolumn i dwukrotnie powiększmy, używając zerowego zamówienia.

1 2
3 4

Najpierw powiększymy go według wierszy, a następnie według kolumn.

Wiersz mądry zoom

1 1 2
3 3 4

Biorąc pierwsze dwie liczby: (2 + 1) = 3, a następnie dzielimy przez 2, otrzymujemy 1,5, co jest przybliżone do 1. Ta sama metoda jest stosowana w wierszu 2.

Kolumnowe powiększanie

1 1 2
2 2 3
3 3 4

Bierzemy dwie sąsiednie wartości pikseli w kolumnie, czyli 1 i 3. Dodajemy je i otrzymujemy 4. 4 jest następnie dzielone przez 2 i otrzymujemy 2, które są umieszczane między nimi. Ta sama metoda jest stosowana we wszystkich kolumnach.

Nowy rozmiar obrazu

Jak widać, wymiary nowego obrazu to 3 x 3, gdzie oryginalne wymiary to 2 x 2. Oznacza to, że wymiary nowego obrazu są oparte na następującym wzorze

(2 (liczba wierszy) minus 1) X (2 (liczba kolumn) minus 1)

Zalety i wady.

Jedną z zalet tej techniki powiększania jest to, że nie tworzy ona tak rozmytego obrazu, jak w porównaniu z metodą interpolacji najbliższego sąsiada. Ale ma też tę wadę, że może działać tylko przy mocy 2. Można to wykazać tutaj.

Powód dwukrotnego powiększenia:

Rozważ powyższy obraz przedstawiający 2 rzędy i 2 kolumny. Jeśli musimy go powiększyć 6 razy, używając metody wstrzymania zamówienia zerowego, nie możemy tego zrobić. Jak pokazuje nam wzór.

Mógłby tylko powiększyć moc 2 2,4,8,16,32 i tak dalej.

Nawet jeśli spróbujesz go powiększyć, nie możesz. Ponieważ na początku, gdy powiększysz go dwa razy, a wynik będzie taki sam, jak pokazano w kolumnie, jeśli chodzi o powiększenie o wymiarach równych 3x3. Następnie ponownie go powiększysz i otrzymasz wymiary równe 5 x 5. Teraz, jeśli zrobisz to ponownie, otrzymasz wymiary równe 9 x 9.

Natomiast według twojego wzoru odpowiedź powinna wynosić 11x11. Ponieważ (6 (2) minus 1) X (6 (2) minus 1) daje 11 x 11.

Metoda 3: K-Times powiększanie

Wprowadzenie:

K razy to trzecia metoda powiększania, którą omówimy. Jest to jeden z najdoskonalszych omówionych dotąd algorytmów powiększania. Spełnia wyzwania zarówno dwukrotnego powiększania, jak i replikacji pikseli. K w tym algorytmie powiększania oznacza współczynnik powiększenia.

Pracujący:

To działa w ten sposób.

Przede wszystkim musisz wziąć dwa sąsiednie piksele, tak jak zrobiłeś to przy dwukrotnym powiększeniu. Następnie musisz odjąć mniejszą od większej. Nazywamy to wyjściem (OP).

Podziel wynik (OP) przez współczynnik powiększenia (K). Teraz musisz dodać wynik do mniejszej wartości i umieścić wynik między tymi dwiema wartościami.

Dodaj wartość OP ponownie do wartości, którą właśnie wstawiłeś i umieść ją ponownie obok poprzedniej wprowadzonej wartości. Musisz to robić, dopóki nie umieścisz w nim wartości k-1.

Powtórz ten sam krok dla wszystkich wierszy i kolumn, a otrzymasz powiększone obrazy.

Na przykład:

Załóżmy, że masz obraz z 2 rzędami i 3 kolumnami, który podano poniżej. Musisz ją powiększyć trzykrotnie lub trzykrotnie.

15 30 15
30 15 30

K w tym przypadku wynosi 3. K = 3.

Liczba wartości, które należy wstawić, wynosi k-1 = 3-1 = 2.

Wiersz mądry zoom

Weź pierwsze dwa sąsiednie piksele. Które mają 15 i 30 lat.

Odejmij 15 od 30. 30-15 = 15.

Podzielić 15 przez k. 15 / k = 15/3 = 5. Nazywamy to OP. (Gdzie op to tylko nazwa)

Dodaj OP do niższej liczby. 15 + OP = 15 + 5 = 20.

Dodaj ponownie OP do 20. 20 + OP = 20 + 5 = 25.

Robimy to 2 razy, ponieważ musimy wstawić wartości k-1.

Teraz powtórz ten krok dla następnych dwóch sąsiednich pikseli. Jest to pokazane w pierwszej tabeli.

Po wstawieniu wartości należy posortować wstawione wartości w kolejności rosnącej, aby zachować między nimi symetrię.

Jest to pokazane w drugiej tabeli

Tabela 1.

15 20 25 30 20 25 15
30 20 25 15 20 25 30

Tabela 2.

Kolumnowe powiększanie

Tę samą procedurę należy przeprowadzić z podziałem na kolumny. Procedura obejmuje wzięcie dwóch sąsiednich wartości pikseli, a następnie odjęcie mniejszej od większej. Następnie musisz podzielić to przez k. Zapisz wynik jako OP. Dodaj OP do mniejszego, a następnie ponownie dodaj OP do wartości, która pojawia się przy pierwszym dodaniu OP. Wstaw nowe wartości.

Oto, co masz po tym wszystkim.

15 20 25 30 25 20 15
20 21 21 25 21 21 20
25 22 22 20 22 22 25
30 25 20 15 20 25 30

Nowy rozmiar obrazu

Najlepszym sposobem obliczenia wzoru na wymiary nowego obrazu jest porównanie wymiarów obrazu oryginalnego i obrazu końcowego. Wymiary oryginalnego obrazu to 2 x 3. A wymiary nowego obrazu to 4 x 7.

Formuła jest więc następująca:

(K (liczba wierszy minus 1) + 1) X (K (liczba kolumn minus 1) + 1)

Zalety i wady

Jedną z wyraźnych zalet algorytmu k time zooming jest to, że jest w stanie obliczyć powiększenie dowolnego czynnika, jakim był algorytm replikacji pikseli, a także daje lepszy wynik (mniej rozmazany), którym była metoda utrzymywania rzędu zerowego. Zatem obejmuje on moc dwóch algorytmów.

Jedyną trudnością, jaką ma ten algorytm, jest to, że na końcu trzeba go posortować, co jest dodatkowym krokiem, a tym samym zwiększa koszt obliczeń.