Przez Victor Powell

Jądro obrazu to mała matryca używana do stosowania efektów, takich jak te, które można znaleźć w Photoshopie lub Gimp, takich jak rozmycie, wyostrzenie, konturowanie lub tłoczenie. Są one również używane w uczeniu maszynowym do „ekstrakcji cech”, techniki określania najważniejszych części obrazu. W tym kontekście proces ten jest określany bardziej ogólnie jako „convolution” (patrz: convolutional neural networks.)

Aby zobaczyć, jak one działają, zacznijmy od zbadania czarno-białego obrazu. Macierz po lewej stronie zawiera liczby z przedziału od 0 do 255, z których każda odpowiada jasności jednego piksela na obrazie twarzy. Duży, ziarnisty obrazek został powiększony, aby ułatwić jego oglądanie; ostatni obrazek ma „prawdziwy” rozmiar.

Przejdźmy przez zastosowanie następującego jądra 3×3 {{selectedKernel}} do obrazka twarzy z góry.

Poniżej, dla każdego bloku 3×3 pikseli w obrazku po lewej, mnożymy każdy piksel przez odpowiadający mu wpis w jądrze, a następnie bierzemy sumę. Suma ta staje się nowym pikselem w obrazie po prawej stronie. Najedź kursorem na piksel na obu obrazach, aby zobaczyć, jak obliczana jest jego wartość.

Jedną z subtelności tego procesu jest to, co należy zrobić wzdłuż krawędzi obrazu. Na przykład, lewy górny róg obrazu wejściowego ma tylko trzech sąsiadów. Jednym ze sposobów na naprawienie tego jest rozszerzenie wartości krawędzi o jeden w oryginalnym obrazie przy zachowaniu tego samego rozmiaru naszego nowego obrazu. W tym demo, zamiast tego zignorowaliśmy te wartości czyniąc je czarnymi.

Tutaj jest plac zabaw, gdzie możesz wybrać różne macierze jądra i zobaczyć jak wpływają one na oryginalny obraz lub zbudować własne jądro. Możesz również przesłać swój własny obraz lub użyć wideo na żywo, jeśli Twoja przeglądarka to obsługuje.

Jądro wyostrzające podkreśla różnice w wartościach sąsiadujących pikseli. Dzięki temu obraz wygląda na bardziej żywy.

Jednostka rozmywająca usuwa różnice w wartościach sąsiadujących pikseli.

Jednostka wytłaczająca (podobna do jądra sobel i czasami określana jako oznaczająca to samo) daje złudzenie głębi poprzez podkreślenie różnic pikseli w danym kierunku. W tym przypadku, w kierunku wzdłuż linii od lewego górnego do prawego dolnego rogu.

Kernel indentity pozostawia obraz bez zmian. Jakie to nudne!

Kernel niestandardowy jest tym, czym go stworzysz.

Kernele sobolowe są używane do pokazywania tylko różnic w wartościach sąsiednich pikseli w określonym kierunku.

Kernel konturowy (nazywany również kernelem „krawędziowym”) jest używany do podkreślania dużych różnic w wartościach pikseli. Piksel znajdujący się obok sąsiednich pikseli o zbliżonej intensywności będzie czarny w nowym obrazie, podczas gdy piksel znajdujący się obok sąsiednich pikseli, które różnią się znacznie, będzie biały.

Aby dowiedzieć się więcej, zajrzyj do doskonałej dokumentacji programu Gimp na temat używania jądra obrazu. Możesz również zastosować własne filtry niestandardowe w Photoshopie, przechodząc do Filter -> Other -> Custom…

.

admin

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

lg